After you upgrade the control plane of a Service Mesh (ASM) instance, upgrade the sidecar proxies to align the data plane with the new control plane version.
Two upgrade methods are available:
| Method | When to use | How it works |
|---|---|---|
| Automatic injection | Automatic sidecar injection is enabled for the namespace | Redeploy workloads so ASM injects upgraded proxies into new pods |
| Manual injection | Automatic sidecar injection is not enabled | Run istioctl kube-inject to inject upgraded proxies into the application YAML |
Prerequisites
Before you begin, make sure that you have:
An ASM instance with an upgraded control plane
A Container Service for Kubernetes (ACK) cluster connected through kubectl. For more information, see Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster
Sidecar proxies run on the data plane. To upgrade them, you update the data plane kubeconfig file, not the ASM instance. Get the kubeconfig file from the ACK console, not the ASM console.
Upgrade through automatic injection
If automatic sidecar proxy injection is enabled for your namespace, redeploy your workloads. ASM injects upgraded sidecar proxies into the new pods during redeployment.
Log on to the ACK console and click Clusters in the left-side navigation pane.
On the Clusters page, click the name of a cluster and choose Workloads > Deployments in the left-side navigation pane.
On the Deployments page, redeploy the workloads:
Scenario Steps Single workload In the Actions column, find the workload and choose More > Redeploy. In the Redeploy message, click Confirm. Multiple workloads Select the workloads in the Name column and click Batch Redeploy at the bottom of the page. In the Confirm message, click OK.
Upgrade through manual injection
If automatic sidecar proxy injection is not enabled, run the following command to inject an upgraded sidecar proxy into your application:
kubectl apply -f <(istioctl kube-inject -f <your-application.yaml>)Replace <your-application.yaml> with the path to a raw application YAML file that does not contain sidecar proxy configuration.