Installing Istio ambient mode
You can deploy Istio in ambient mode on Alauda Container Platform with Alauda Service Mesh Operator 2.1.1 or later.
TOC
PrerequisitesProcedureInstall the Istio Container Network Interface (CNI)Install the Istio control planeInstall the ZTunnel proxyPrerequisites
- The Alauda Container Platform Networking for Multus plugin must be installed, and kube-ovn must be v4.1.5 or later.
- The cluster version matches the Istio version you plan to deploy: Istio 1.30 supports Kubernetes 1.32 to 1.36, and Istio 1.28 supports Kubernetes 1.30 to 1.34.
- Alauda Service Mesh Operator 2.1.1 or later is installed.
- An active ACP CLI (
kubectl) session by a cluster administrator with thecluster-adminrole. - You have
istioctlinstalled locally so that you can use to run these instructions.
Procedure
Install the Istio Container Network Interface (CNI)
-
Create the
istio-cninamespace and add a labelistio-discovery=enabled: -
Create the IstioCNI resource named
istio-cni.yaml:- You must set the
profilefield toambient.
NOTE- Do not add a namespace that holds ambient workloads to
values.cni.excludeNamespaces. Since Istio 1.30, the Istio CNI agent honors this list and removes enrolled workloads in an excluded namespace from the mesh. - DNS capture is enabled by default for ambient workloads. The Istio CNI reconciles the in-pod redirection rules of enrolled workloads when it starts, so you do not have to restart them.
- You must set the
-
Apply the IstioCNI CR:
-
Wait for the IstioCNI pods to become ready:
Install the Istio control plane
-
Create the
istio-systemnamespace and add a labelistio-discovery=enabled: -
Create an Istio resource named
istio.yaml:- You must set the
profilefield toambient. - You must configure
.spec.values.pilot.trustedZtunnelNamespaceto match the namespace where the ZTunnel resource will be installed.. - The
discoverySelectorsconfiguration ensures that the control plane only monitors namespaces labeled withistio-discovery=enabled, which helps reduce configuration overhead and enables multiple service meshes to coexist on the same cluster. See Discovery selectors in ambient mode for details.
- You must set the
-
Apply the Istio custom resource (CR):
-
Wait for the Istio control plane to become ready:
Install the ZTunnel proxy
-
Create the
ztunnelnamespace and add a labelistio-discovery=enabled:NOTEThe namespace name for the
ZTunnelresource must match thetrustedZtunnelNamespaceparameter in theIstioconfiguration. -
Create the ZTunnel resource named
ztunnel.yaml: -
Apply the ZTunnel CR:
-
Wait for the ZTunnel pods to become ready: