You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/aks/istio-deploy-addon.md
+48-13Lines changed: 48 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,23 @@ export LOCATION=<location>
29
29
30
30
The add-on requires Azure CLI version 2.57.0 or later installed. You can run `az --version` to verify version. To install or upgrade, see [Install Azure CLI][azure-cli-install].
31
31
32
-
## Install Istio add-on at the time of cluster creation
32
+
## Get available Istio add-on revisions
33
+
To find information about which Istio add-on revisions are available in a region and their compatibility with AKS cluster versions, use:
34
+
35
+
```azurecli-interactive
36
+
az aks mesh get-revisions --location <location> -o table
37
+
```
38
+
39
+
40
+
## Install Istio add-on
41
+
### Revision selection
42
+
If you enable the add-on without specifying a revision, a default supported revision is installed for you.
43
+
44
+
If you wish to specify the revision instead:
45
+
1. Use the `get-revisions` command in the [previous step](#get-available-istio-add-on-revisions) to check which revisions are available for different AKS cluster versions in a region.
46
+
1. Based on the available revisions, you can include the `--revision asm-X-Y` (ex: `--revision asm-1-20`) flag in the enable command you use for mesh installation.
47
+
48
+
### Install mesh during cluster creation
33
49
34
50
To install the Istio add-on when creating the cluster, use the `--enable-azure-service-mesh` or`--enable-asm` parameter.
35
51
@@ -42,7 +58,7 @@ az aks create \
42
58
--enable-asm
43
59
```
44
60
45
-
## Install Istio add-on for existing cluster
61
+
###Install mesh for existing cluster
46
62
47
63
The following example enables Istio add-on for an existing AKS cluster:
To automatically install sidecar to any new pods, annotate your namespaces:
105
+
To automatically install sidecar to any new pods, you will need to annotate your namespaces with the revision label corresponding to the control plane revision currently installed.
106
+
107
+
If you're unsure which revision is installed, use:
108
+
```bash
109
+
az aks show --resource-group ${RESOURCE_GROUP} --name ${CLUSTER} --query 'serviceMeshProfile.istio.revisions'
> The default `istio-injection=enabled` labeling doesn't work. Explicit versioning (`istio.io/rev=asm-1-18`) is required.
118
+
> The default `istio-injection=enabled` labeling doesn't work. Explicit versioning matching the control plane revision (ex: `istio.io/rev=asm-1-18`) is required.
97
119
120
+
For manual injection of sidecar using `istioctl kube-inject`, you need to specify extra parameters for `istioNamespace` (`-i`) and `revision` (`-r`). For example:
98
121
99
-
For manual injection of sidecar using `istioctl kube-inject`, you need to specify extra parameters for `istioNamespace` (`-i`) and `revision` (`-r`). Example:
You can either deploy the sample application provided for testing, or trigger sidecar injection for existing workloads.
128
+
129
+
### Existing applications
130
+
If you have existing applications to be added to the mesh, ensure their namespaces are labeled as in the previous step, and then restart their deployments to trigger sidecar injection:
Verify that sidecar injection succeeded by ensuring all containers are ready and looking for the `istio-proxy` container in the `kubectl describe` output, for example:
> Each pod has two containers, one of which is the Envoy sidecar injected by Istio and the other is the application container.
200
+
201
+
Confirm that all the pods have status of `Running` with 2 containers in the `READY` column. The second container (`istio-proxy`) added to each pod is the Envoy sidecar injected by Istio, and the other is the application container.
167
202
168
203
To test this sample application against ingress, check out [next-steps](#next-steps).
Copy file name to clipboardExpand all lines: articles/aks/istio-upgrade.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ The following example illustrates how to upgrade from revision `asm-1-18` to `as
32
32
1. Initiate a canary upgrade from revision `asm-1-18` to `asm-1-19` using [az aks mesh upgrade start](/cli/azure/aks/mesh#az-aks-mesh-upgrade-start):
33
33
34
34
```bash
35
-
az aks mesh upgrade start --resource-group $RESOURCE_GROUP --name $CLUSTER --revision asm-1-18
35
+
az aks mesh upgrade start --resource-group $RESOURCE_GROUP --name $CLUSTER --revision asm-1-19
36
36
```
37
37
38
38
A canary upgrade means the 1.18 control plane is deployed alongside the 1.17 control plane. They continue to coexist until you either complete or roll back the upgrade.
@@ -101,7 +101,7 @@ The following example illustrates how to upgrade from revision `asm-1-18` to `as
101
101
102
102
***Rollback the canary upgrade**: In case you observe any issues with the health of your workloads, you can roll back to the previous revision of Istio:
@@ -119,7 +119,7 @@ The following example illustrates how to upgrade from revision `asm-1-18` to `as
119
119
az aks mesh upgrade rollback --resource-group $RESOURCE_GROUP --name $CLUSTER
120
120
```
121
121
122
-
1. If [mesh configuration][meshconfig] was set up forthe revisionsin previous steps, you can now delete the ConfigMap for the revision that was removed from the cluster on completing or rolling back the upgrade.
122
+
1. If [mesh configuration][meshconfig] was previously set up for the revisions, you can now delete the ConfigMap for the revision that was removed from the cluster during complete/rollback.
123
123
124
124
> [!NOTE]
125
125
> Manually relabeling namespaces when moving them to a new revision can be tedious and error-prone. [Revision tags](https://istio.io/latest/docs/setup/upgrade/canary/#stable-revision-labels) solve this problem. Revision tags are stable identifiers that point to revisions and can be used to avoid relabeling namespaces. Rather than relabeling the namespace, a mesh operator can simply change the tag to point to a new revision. All namespaces labeled with that tag will be updated at the same time. However, note that you still need to restart the workloads to make sure the correct version of `istio-proxy` sidecars are injected.
0 commit comments