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
+32-25Lines changed: 32 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Deploy Istio-based service mesh add-on for Azure Kubernetes Service
3
3
description: Deploy Istio-based service mesh add-on for Azure Kubernetes Service
4
4
ms.topic: article
5
5
ms.custom: devx-track-azurecli
6
-
ms.date: 04/09/2023
6
+
ms.date: 03/26/2024
7
7
ms.author: shasb
8
8
author: shashankbarsin
9
9
---
@@ -16,6 +16,13 @@ For more information on Istio and the service mesh add-on, see [Istio-based serv
16
16
17
17
## Before you begin
18
18
19
+
* 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].
20
+
* To find information about which Istio add-on revisions are available in a region and their compatibility with AKS cluster versions, use the command [`az aks mesh get-revisions`][az-aks-mesh-get-revisions]:
21
+
22
+
```azurecli-interactive
23
+
az aks mesh get-revisions --location <location> -o table
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
-
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
-
36
+
This section includes steps to install the Istio add-on during cluster creation or enable for an existing cluster using the Azure CLI. If you want to install the add-on using Bicep, see [install an AKS cluster with the Istio service mesh add-on using Bicep][install-aks-cluster-istio-bicep]. To learn more about the Bicep resource definition for an AKS cluster, see [Bicep managedCluster reference][bicep-aks-resource-definition].
39
37
40
-
## Install Istio add-on
41
38
### Revision selection
39
+
42
40
If you enable the add-on without specifying a revision, a default supported revision is installed for you.
43
41
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.
42
+
To specify a revision, perform the following steps.
43
+
44
+
1. Use the [`az aks mesh get-revisions`][az-aks-mesh-get-revisions] command to check which revisions are available for different AKS cluster versions in a region.
46
45
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.
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.
104
+
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
105
107
106
If you're unsure which revision is installed, use:
107
+
108
108
```bash
109
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 matching the control plane revision (ex: `istio.io/rev=asm-1-18`) is required.
119
+
> 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.
119
120
120
121
For manual injection of sidecar using `istioctl kube-inject`, you need to specify extra parameters for `istioNamespace` (`-i`) and `revision` (`-r`). For example:
You can either deploy the sample application provided for testing, or trigger sidecar injection for existing workloads.
128
130
129
131
### Existing applications
132
+
130
133
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:
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.
202
206
203
207
To test this sample application against ingress, check out [next-steps](#next-steps).
@@ -235,14 +239,17 @@ az group delete --name ${RESOURCE_GROUP} --yes --no-wait
235
239
236
240
*[Deploy external or internal ingresses for Istio service mesh add-on][istio-deploy-ingress]
0 commit comments