Skip to content

Commit 1478c1e

Browse files
Merge pull request #270252 from MGoedtel/task233097
update AKS istio-deploy-addon
2 parents acb3b7a + 96258d9 commit 1478c1e

File tree

1 file changed

+32
-25
lines changed

1 file changed

+32
-25
lines changed

articles/aks/istio-deploy-addon.md

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Deploy Istio-based service mesh add-on for Azure Kubernetes Service
33
description: Deploy Istio-based service mesh add-on for Azure Kubernetes Service
44
ms.topic: article
55
ms.custom: devx-track-azurecli
6-
ms.date: 04/09/2023
6+
ms.date: 03/26/2024
77
ms.author: shasb
88
author: shashankbarsin
99
---
@@ -16,6 +16,13 @@ For more information on Istio and the service mesh add-on, see [Istio-based serv
1616

1717
## Before you begin
1818

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
24+
```
25+
1926
### Set environment variables
2027
2128
```bash
@@ -24,25 +31,17 @@ export RESOURCE_GROUP=<resource-group-name>
2431
export LOCATION=<location>
2532
```
2633

34+
## Install Istio add-on
2735

28-
### Verify Azure CLI version
29-
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-
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].
3937

40-
## Install Istio add-on
4138
### Revision selection
39+
4240
If you enable the add-on without specifying a revision, a default supported revision is installed for you.
4341

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.
4645
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.
4746

4847
### Install mesh during cluster creation
@@ -102,20 +101,22 @@ istiod-asm-1-18-74f7f7c46c-xfdtl 1/1 Running 0 2m
102101

103102
## Enable sidecar injection
104103

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.
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.
106105

107106
If you're unsure which revision is installed, use:
107+
108108
```bash
109109
az aks show --resource-group ${RESOURCE_GROUP} --name ${CLUSTER} --query 'serviceMeshProfile.istio.revisions'
110110
```
111111

112112
Apply the revision label:
113+
113114
```bash
114115
kubectl label namespace default istio.io/rev=asm-X-Y
115116
```
116117

117118
> [!IMPORTANT]
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.
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.
119120
120121
For manual injection of sidecar using `istioctl kube-inject`, you need to specify extra parameters for `istioNamespace` (`-i`) and `revision` (`-r`). For example:
121122

@@ -124,15 +125,19 @@ kubectl apply -f <(istioctl kube-inject -f sample.yaml -i aks-istio-system -r as
124125
```
125126

126127
## Trigger sidecar injection
128+
127129
You can either deploy the sample application provided for testing, or trigger sidecar injection for existing workloads.
128130

129131
### Existing applications
132+
130133
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:
134+
131135
```bash
132136
kubectl rollout restart -n <namespace> <deployment name>
133137
```
134138

135139
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:
140+
136141
```bash
137142
kubectl describe pod -n namespace <pod name>
138143
```
@@ -149,7 +154,7 @@ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.18/samp
149154

150155
Confirm several deployments and services are created on your cluster. For example:
151156

152-
```
157+
```output
153158
service/details created
154159
serviceaccount/bookinfo-details created
155160
deployment.apps/details-v1 created
@@ -174,7 +179,7 @@ kubectl get services
174179

175180
Confirm the following services were deployed:
176181

177-
```
182+
```output
178183
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
179184
details ClusterIP 10.0.180.193 <none> 9080/TCP 87s
180185
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 15m
@@ -187,7 +192,7 @@ reviews ClusterIP 10.0.73.95 <none> 9080/TCP 86s
187192
kubectl get pods
188193
```
189194

190-
```
195+
```output
191196
NAME READY STATUS RESTARTS AGE
192197
details-v1-558b8b4b76-2llld 2/2 Running 0 2m41s
193198
productpage-v1-6987489c74-lpkgl 2/2 Running 0 2m40s
@@ -197,7 +202,6 @@ reviews-v2-7d79d5bd5d-8zzqd 2/2 Running 0 2m41s
197202
reviews-v3-7dbcdcbc56-m8dph 2/2 Running 0 2m41s
198203
```
199204

200-
201205
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.
202206

203207
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
235239

236240
* [Deploy external or internal ingresses for Istio service mesh add-on][istio-deploy-ingress]
237241

238-
[istio-about]: istio-about.md
242+
<!--- External Links --->
243+
[install-aks-cluster-istio-bicep]: https://github.com/Azure-Samples/aks-istio-addon-bicep
244+
[uninstall-istio-oss]: https://istio.io/latest/docs/setup/install/istioctl/#uninstall-istio
239245

246+
<!--- Internal Links --->
247+
[istio-about]: istio-about.md
240248
[azure-cli-install]: /cli/azure/install-azure-cli
241249
[az-feature-register]: /cli/azure/feature#az-feature-register
242250
[az-feature-show]: /cli/azure/feature#az-feature-show
243251
[az-provider-register]: /cli/azure/provider#az-provider-register
244-
245252
[uninstall-osm-addon]: open-service-mesh-uninstall-add-on.md
246-
[uninstall-istio-oss]: https://istio.io/latest/docs/setup/install/istioctl/#uninstall-istio
247-
248253
[istio-deploy-ingress]: istio-deploy-ingress.md
254+
[az-aks-mesh-get-revisions]: /cli/azure/aks/mesh#az-aks-mesh-get-revisions(aks-preview)
255+
[bicep-aks-resource-definition]: /azure/templates/microsoft.containerservice/managedclusters

0 commit comments

Comments
 (0)