Deploying the Bookinfo application in ambient mode
You can deploy the Bookinfo sample application in ambient mode without sidecar injection by relying on the ZTunnel proxy. For background on the Bookinfo application, see Deploying the Bookinfo Application.
Prerequisites
- 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. - Alauda Service Mesh Operator 2.1.1 or later is installed the Istio resource has been created, and the Operator has deployed Istio.
- An
IstioCNIresource has been created, and the Operator has deployed the requiredIstioCNIpods. - A
ZTunnelresource has been created, and the Operator has deployed the requiredZTunnelpods.
Procedure
-
Create the
bookinfonamespace: -
Add the
istio-discovery=enabledlabel to thebookinfonamespace: -
Deploy the
Bookinfoapplication:Apply the
bookinfo-versionsYAML file to create multiple versions of theBookinfoservices: -
Verify that the Bookinfo pods are running:
Example output
-
Confirm that the Bookinfo application is responding:
Example output
-
Enroll the Bookinfo application in the ambient mesh by labeling either the entire namespace or individual pods:
-
To include all workloads in the
bookinfonamespace: -
To include only specific workloads, apply the
istio.io/dataplane-mode=ambientlabel directly to individual pods. See the Additional resources section for details on the labels used to add or exclude workloads from the mesh.NOTEEnrolling workloads in the ambient mesh does not require restarting or redeploying application pods. Unlike sidecar mode, the number of containers in each pod remains unchanged.
-
-
Confirm that the ZTunnel proxy has successfully established listening sockets in the pod network namespaces:
After adding
bookinfonamespace to the Ambient mesh, you would seeHBONEprotocol.Example output
Cleanup
Additional resources
- Adding workloads to a mesh in ambient mode (Istio documentation)