Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Istio 1.9.0 #587

Merged
merged 49 commits into from
Feb 12, 2021
Merged
Show file tree
Hide file tree
Changes from 41 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
fa568f0
Bump default Istio version to 1.9.0-beta.1
Laci21 Jan 26, 2021
786553d
Adapt to CRD changes
Laci21 Jan 26, 2021
19923e8
Add ability to update mutating webhooks
Laci21 Jan 28, 2021
3089e53
Add ability to read WorkloadEntry resources from remote clusters in m…
Laci21 Jan 28, 2021
00d0f4d
Get rid of a few obsolete istio api groups
Laci21 Jan 28, 2021
856c6e3
Make sure that Mixer components cannot be enabled anymore
Laci21 Jan 28, 2021
e9d3d8c
Remove legacy mixer related api groups from validating webhook config…
Laci21 Jan 28, 2021
3dfccfc
Remove obsolete rbac.istio.io usage
Laci21 Jan 28, 2021
51a4a44
Enable ObjectSelector in mutating webhook to be able to disable sidec…
Laci21 Feb 1, 2021
3ce2ab3
Skip privileged ports when building listeners for non-root gateways
Laci21 Feb 1, 2021
3c7472a
Remove SDS volumes from gateway deployments as they are obsolote, ist…
Laci21 Feb 1, 2021
2c570a1
Add cpu requests/limits to istio-proxy containers' file system
Laci21 Feb 3, 2021
3b14030
Remove port 15053 from istiod deployment
Laci21 Feb 3, 2021
544ab3e
Remove deprecated CENTRAL_ISTIOD env var from istiod deployment
Laci21 Feb 3, 2021
dd935e7
Disable endpoint labels when telemetry v2 is disabled
Laci21 Feb 4, 2021
03d7602
Get rid of 1.6 EnvoyFilters from the code, make sure operator deletes…
Laci21 Feb 4, 2021
bd848aa
Use precompiled filters in EnvoyFilters if proxyWasm is enabled, repl…
Laci21 Feb 4, 2021
51dc138
Add 1.9 EnvoyFilters
Laci21 Feb 4, 2021
6bf0ee4
Fix duplicated use of 'PILOT_ENDPOINT_TELEMETRY_LABEL' env var
Laci21 Feb 4, 2021
63069e8
Fix docs, sample CR names to use new versions
Laci21 Feb 4, 2021
939d1b7
Bump default Istio version to 1.9.0-rc.0
Laci21 Feb 4, 2021
7d031ff
Adapt to CRD changes
Laci21 Feb 4, 2021
3a99351
Make sure that Mixer components are not tried to be reconciled at all
Laci21 Feb 5, 2021
d16d666
Fix using bool value instead of string in fmt.Sprintf()
Laci21 Feb 5, 2021
c48a54a
Fix RBAC issues when CNI taint is enabled
Laci21 Feb 5, 2021
1284331
refactor sidecar injector configmap
waynz0r Feb 5, 2021
fda1d46
add EXTERNAL_ISTIOD env as well
waynz0r Feb 5, 2021
6791a19
Fix MeshGateway sample CR
Laci21 Feb 5, 2021
2706120
Fix duplicated return statement
Laci21 Feb 5, 2021
a104ff2
Remove autoInjectionNamespaces from all sample CRs where spec.global …
Laci21 Feb 5, 2021
0d6bb48
Remove unused useMCP field from sample CRs
Laci21 Feb 5, 2021
fce746c
Fix upgrade docs
Laci21 Feb 8, 2021
d602bc7
Fix canary upgrade doc
Laci21 Feb 8, 2021
6200d35
Reduce cert-fetcher container's SECRET_TTL setting to avoid startup i…
Laci21 Feb 9, 2021
de695b4
Fix citadel SA name used from its deployment
Laci21 Feb 9, 2021
8d5f1bf
Update sample deployments for newer k8s versions
Laci21 Feb 9, 2021
c2a8870
Update k8s versions in multi gw docs
Laci21 Feb 9, 2021
b89fe73
Fix single mesh multi cluster gateway docs
Laci21 Feb 9, 2021
e5354b4
Bump default Istio version to 1.9.0
Laci21 Feb 10, 2021
4782ce8
Adapt to CRD changes
Laci21 Feb 10, 2021
1873b4b
Properly quote injection template labels
Laci21 Feb 10, 2021
1453218
Fix single mesh multi cluster gateway docs
Laci21 Feb 10, 2021
5322161
Update k8s versions in multi mesh docs
Laci21 Feb 10, 2021
d725c83
Fix and enhance multi mesh docs
Laci21 Feb 12, 2021
77d5c31
Merge branch 'release-1.8' into istio-1.9.0
Laci21 Feb 12, 2021
86028fb
Make ExternalIstiod configurable
Laci21 Feb 12, 2021
a9b3460
Update helm charts with new contents
Laci21 Feb 12, 2021
fcbb25f
Bump image and chart versions
Laci21 Feb 12, 2021
69c52da
Bump vault-env image to latest one
Laci21 Feb 12, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ GOLANGCI_VERSION = 1.31.0
LICENSEI_VERSION = 0.1.0
KUBEBUILDER_VERSION = 2.3.1
KUSTOMIZE_VERSION = 2.0.3
ISTIO_VERSION = 1.8.2
ISTIO_VERSION = 1.9.0

KUSTOMIZE_BASE = config/overlays/specific-manager-version

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ For a complete list of [Backyards](https://banzaicloud.com/products/backyards/)

## Istio operator installation

The operator (`release-1.8` branch) installs the 1.8.2 version of Istio, and can run on Minikube v1.1.1+ and Kubernetes 1.16.0+.
The operator (`release-1.9` branch) installs the 1.9.0 version of Istio, and can run on Minikube v1.1.1+ and Kubernetes 1.17.0+.

As a pre-requisite it needs a Kubernetes cluster (you can create one using [Pipeline](https://github.com/banzaicloud/pipeline)).

Expand All @@ -99,7 +99,7 @@ Alternatively, if you just can’t let go of Helm completely, you can deploy the

```bash
helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com/
helm install istio-operator-v17x --create-namespace --namespace=istio-system banzaicloud-stable/istio-operator
helm install istio-operator-v19x --create-namespace --namespace=istio-system banzaicloud-stable/istio-operator
```

### Installation with Kustomize
Expand All @@ -108,8 +108,8 @@ You can also have your own `kustomization.yaml` file with a reference to Istio o

```bash
bases:
- github.com/banzaicloud/istio-operator/config?ref=release-1.8
- github.com/banzaicloud/istio-operator/config/overlays/auth-proxy-enabled?ref=release-1.8
- github.com/banzaicloud/istio-operator/config?ref=release-1.9
- github.com/banzaicloud/istio-operator/config/overlays/auth-proxy-enabled?ref=release-1.9
```

## Istio upgrade
Expand Down
18 changes: 9 additions & 9 deletions config/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,38 @@ Developers can have their own `kustomization.yaml` file with a reference to Isti

You can install the operator with multiple possible configurations with the use of overlays (choose one option):

> Note that in all cases, first you'll need to install the necessary crds and namespace with the following base: `github.com/banzaicloud/istio-operator/config?ref=release-1.8`
> Note that in all cases, first you'll need to install the necessary crds and namespace with the following base: `github.com/banzaicloud/istio-operator/config?ref=release-1.9`

- `basic`: installs the clusterrole, clusterrolebinding and statefulset for the operator

```bash
bases:
- github.com/banzaicloud/istio-operator/config?ref=release-1.8
- github.com/banzaicloud/istio-operator/config/overlays/basic?ref=release-1.8
- github.com/banzaicloud/istio-operator/config?ref=release-1.9
- github.com/banzaicloud/istio-operator/config/overlays/basic?ref=release-1.9
```

- `auth-proxy-enabled`: besides the basic configs, installs the auth proxy resources as well

```bash
bases:
- github.com/banzaicloud/istio-operator/config?ref=release-1.8
- github.com/banzaicloud/istio-operator/config/overlays/auth-proxy-enabled?ref=release-1.8
- github.com/banzaicloud/istio-operator/config?ref=release-1.9
- github.com/banzaicloud/istio-operator/config/overlays/auth-proxy-enabled?ref=release-1.9
```

- `prometheus-scpraping-enabled`: besides the basic configs, enables Prometheus scraping for the manager pod

```bash
bases:
- github.com/banzaicloud/istio-operator/config?ref=release-1.8
- github.com/banzaicloud/istio-operator/config/overlays/prometheus-scpraping-enabled?ref=release-1.8
- github.com/banzaicloud/istio-operator/config?ref=release-1.9
- github.com/banzaicloud/istio-operator/config/overlays/prometheus-scpraping-enabled?ref=release-1.9
```

- `psp`: besides the basic configs, add basic pod security policy for the operator and the Istio component pods

```bash
bases:
- github.com/banzaicloud/istio-operator/config?ref=release-1.8
- github.com/banzaicloud/istio-operator/config/overlays/psp?ref=release-1.8
- github.com/banzaicloud/istio-operator/config?ref=release-1.9
- github.com/banzaicloud/istio-operator/config/overlays/psp?ref=release-1.9
```

The default istio init container runs as root, which won't work in this psp enabled case, so make sure that you use Istio CNI, e.g. with the `samples/istio_v1beta1_istio_cni.yaml` Istio CR.
2 changes: 1 addition & 1 deletion config/base/manager/manager.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ spec:
containers:
- command:
- /manager
image: banzaicloud/istio-operator:latest-1.8
image: banzaicloud/istio-operator:latest-1.9
imagePullPolicy: Always
name: manager
env:
Expand Down
30 changes: 18 additions & 12 deletions config/base/rbac/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ rules:
verbs:
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
Expand Down Expand Up @@ -116,18 +118,6 @@ rules:
- get
- list
- watch
- apiGroups:
- authentication.istio.io
- cloud.istio.io
- config.istio.io
- istio.istio.io
- networking.istio.io
- scalingpolicy.istio.io
- security.istio.io
resources:
- '*'
verbs:
- '*'
- apiGroups:
- authentication.k8s.io
resources:
Expand Down Expand Up @@ -172,6 +162,15 @@ rules:
- signers
verbs:
- approve
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- create
- get
- list
- update
- apiGroups:
- discovery.k8s.io
resources:
Expand Down Expand Up @@ -286,6 +285,13 @@ rules:
- get
- patch
- update
- apiGroups:
- networking.istio.io
- security.istio.io
resources:
- '*'
verbs:
- '*'
- apiGroups:
- networking.k8s.io
resources:
Expand Down
16 changes: 7 additions & 9 deletions config/samples/istio_v1beta1_istio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,15 @@ kind: Istio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: istio-sample-v18x
name: istio-sample-v19x
spec:
version: "1.8.2"
version: "1.9.0"
global: false
meshPolicy:
mtlsMode: PERMISSIVE
autoMtls: true
includeIPRanges: "*"
excludeIPRanges: ""
autoInjectionNamespaces:
- "default"
controlPlaneAuthPolicy: "MUTUAL_TLS"
mountMtlsCerts: false
# priorityClassName: system-cluster-critical
Expand All @@ -28,7 +26,7 @@ spec:
enableStatus: true
pilot:
enabled: true
image: "docker.io/istio/pilot:1.8.2"
image: "docker.io/istio/pilot:1.9.0"
replicaCount: 1
minReplicas: 1
maxReplicas: 5
Expand Down Expand Up @@ -101,18 +99,18 @@ spec:
enabled: false
policy:
enabled: false
image: "docker.io/istio/mixer:1.8.2"
image: "docker.io/istio/mixer:1.9.0"
replicaCount: 1
minReplicas: 1
maxReplicas: 5
telemetry:
enabled: false
image: "docker.io/istio/mixer:1.8.2"
image: "docker.io/istio/mixer:1.9.0"
replicaCount: 1
minReplicas: 1
maxReplicas: 5
proxy:
image: "docker.io/istio/proxyv2:1.8.2"
image: "docker.io/istio/proxyv2:1.9.0"
accessLogFile: "/dev/stdout"
accessLogFormat: ""
accessLogEncoding: "TEXT"
Expand All @@ -126,7 +124,7 @@ spec:
cpu: 2000m
memory: 1024Mi
proxyInit:
image: "docker.io/istio/proxyv2:1.8.2"
image: "docker.io/istio/proxyv2:1.9.0"
defaultPodDisruptionBudget:
enabled: true
outboundTrafficPolicy:
Expand Down
8 changes: 3 additions & 5 deletions config/samples/istio_v1beta1_istio_cni.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ kind: Istio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: istio-sample-v18x
name: istio-sample-v19x
spec:
version: "1.8.2"
version: "1.9.0"
global: false
meshPolicy:
mtlsMode: PERMISSIVE
autoInjectionNamespaces:
- "default"
gateways:
ingress:
runAsRoot: false
Expand All @@ -28,5 +26,5 @@ spec:
brokenPodLabelKey: "cni.istio.io/uninitialized"
brokenPodLabelValue: "true"
proxy:
image: "docker.io/istio/proxyv2:1.8.2"
image: "docker.io/istio/proxyv2:1.9.0"
jwtPolicy: "first-party-jwt"
8 changes: 3 additions & 5 deletions config/samples/istio_v1beta1_istio_cni_gke.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ kind: Istio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: istio-sample-v18x
name: istio-sample-v19x
spec:
version: "1.8.2"
version: "1.9.0"
global: false
meshPolicy:
mtlsMode: PERMISSIVE
autoInjectionNamespaces:
- "default"
gateways:
ingress:
runAsRoot: false
Expand All @@ -29,5 +27,5 @@ spec:
brokenPodLabelKey: "cni.istio.io/uninitialized"
brokenPodLabelValue: "true"
proxy:
image: "docker.io/istio/proxyv2:1.8.2"
image: "docker.io/istio/proxyv2:1.9.0"
jwtPolicy: "first-party-jwt"
9 changes: 3 additions & 6 deletions config/samples/istio_v1beta1_istio_meshexpansion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,13 @@ kind: Istio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: istio-sample-v18x
name: istio-sample-v19x
spec:
version: "1.8.2"
version: "1.9.0"
global: false
autoInjectionNamespaces:
- "default"
useMCP: false
meshPolicy:
mtlsMode: STRICT
meshExpansion: true
proxy:
image: "docker.io/istio/proxyv2:1.8.2"
image: "docker.io/istio/proxyv2:1.9.0"
jwtPolicy: "first-party-jwt"
9 changes: 3 additions & 6 deletions config/samples/istio_v1beta1_istio_minimal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,12 @@ kind: Istio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: istio-sample-v18x
name: istio-sample-v19x
spec:
version: "1.8.2"
version: "1.9.0"
global: false
meshPolicy:
mtlsMode: PERMISSIVE
autoInjectionNamespaces:
- "default"
useMCP: false
istiod:
enabled: true
pilot:
Expand All @@ -32,5 +29,5 @@ spec:
tracing:
enabled: false
proxy:
image: "docker.io/istio/proxyv2:1.8.2"
image: "docker.io/istio/proxyv2:1.9.0"
jwtPolicy: "first-party-jwt"
9 changes: 3 additions & 6 deletions config/samples/istio_v1beta1_istio_multimesh.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ kind: Istio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: multimesh-v18x
name: multimesh-v19x
spec:
version: "1.8.2"
version: "1.9.0"
global: false
autoInjectionNamespaces:
- "default"
useMCP: false
meshPolicy:
mtlsMode: STRICT
multiMesh: true
Expand All @@ -18,5 +15,5 @@ spec:
citadel:
caSecretName: "cacerts"
proxy:
image: "docker.io/istio/proxyv2:1.8.2"
image: "docker.io/istio/proxyv2:1.9.0"
jwtPolicy: "first-party-jwt"
3 changes: 1 addition & 2 deletions config/samples/istio_v1beta1_meshgateway.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ kind: MeshGateway
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: meshgateway-sample-v18x
name: meshgateway-sample-v19x
spec:
type: ingress
replicaCount: 1
Expand Down Expand Up @@ -35,7 +35,6 @@ spec:
# valueFrom:
# fieldRef:
# fieldPath: metadata.name
applicationPorts: ""
resources:
requests:
cpu: 100m
Expand Down
2 changes: 1 addition & 1 deletion config/samples/istio_v1beta1_remoteistio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ kind: RemoteIstio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: remoteistio-sample-v18x
name: remoteistio-sample-v19x
spec:
autoInjectionNamespaces:
- "default"
Expand Down
4 changes: 2 additions & 2 deletions config/samples/istio_v1beta1_spiffe_endpoint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ kind: Istio
metadata:
labels:
controller-tools.k8s.io: "1.0"
name: istio-sample-v18x
name: istio-sample-v19x
spec:
version: "1.8.2"
version: "1.9.0"
pilot:
spiffe:
operatorEndpoints:
Expand Down
4 changes: 2 additions & 2 deletions deploy/charts/istio-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Prerequisites

- Kubernetes 1.16.0+
- Kubernetes 1.17.0+

## Installing the chart

Expand Down Expand Up @@ -35,7 +35,7 @@ Parameter | Description | Default
`operator.image.tag` | Operator container image tag | `0.8.5`
`operator.image.pullPolicy` | Operator container image pull policy | `IfNotPresent`
`operator.resources` | CPU/Memory resource requests/limits (YAML) | Memory: `256Mi`, CPU: `200m`
`istioVersion` | Supported Istio version | `1.8`
`istioVersion` | Supported Istio version | `1.9`
`prometheusMetrics.enabled` | If true, use direct access for Prometheus metrics | `false`
`prometheusMetrics.authProxy.enabled` | If true, use auth proxy for Prometheus metrics | `true`
`prometheusMetrics.authProxy.image.repository` | Auth proxy container image repository | `gcr.io/kubebuilder/kube-rbac-proxy`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
creationTimestamp: null
name: istios.istio.banzaicloud.io
labels:
resource.alpha.banzaicloud.io/revision: 1.8.2
resource.alpha.banzaicloud.io/revision: 1.9.0
spec:
group: istio.banzaicloud.io
names:
Expand Down
Loading