Try the demo application

This page is for platform administrators.

You can explore Anthos private mode by trying out the Online Boutique sample application, where you can deploy the sample and view relationships between the services in Anthos Service Mesh.

Before you begin

Ensure that you have the following set up on your clusters:

  • You have a target user cluster managed by the admin cluster.
  • Your target user cluster has an existing Anthos Service Mesh installation.

Download the image

The steps in this section require an internet connection.

  1. Download the sample repo:

    git clone https://github.com/GoogleCloudPlatform/microservices-demo.git/ online-boutique
    
  2. Download the images:

    IMAGES=$(cat online-boutique/release/kubernetes-manifests.yaml | grep image | sed "s/ *image: //")
    actl images save --output online-boutique-images ${IMAGES}
    

After downloading the images, an internet connection is not required for the remaining steps on this page.

Enable sidecar auto-injection

To enable automatic sidecar injection for the sample application, you must add a revision label to the sample's namespace. The revision label is used by the sidecar injector webhook to associate injected sidecars with a particular Anthos Service Mesh control plane revision.

  1. Create a namespace for the application.

    kubectl create namespace demo --kubeconfig=USER_CLUSTER_KUBECONFIG
    

    Replace USER_CLUSTER_KUBECONFIG with the path to the user cluster Kubeconfig file.

  2. Locate the revision label on istiod:

    Console

    1. In Management Center Console, go to the Service Mesh menu.
    2. In the cluster list, find the revision label in the Revision column for the cluster.

    API

    Run the following command:

    kubectl get pod -n istio-system -l app=istiod -L istio.io/rev --kubeconfig=USER_CLUSTER_KUBECONFIG
    

    Here's an example of the output:

    NAME                                READY   STATUS    RESTARTS   AGE   REV
    istiod-asm-192-1-644867794f-h5grs   1/1     Running   0          25h   asm-192-1
    istiod-asm-192-1-644867794f-smzk5   1/1     Running   0          25h   asm-192-1
    

    In the output, the revision label is under the REV column. In this example, the value is asm-192-1. This label is used later to trigger sidecar injection for the new Anthos Service Mesh version.

  3. Apply the revision label to the demo namespace.

    kubectl label namespace demo istio.io/rev=REVISION --overwrite --kubeconfig=USER_CLUSTER_KUBECONFIG
    

    Replace REVISION with the revision label from the previous step.

Deploy the sample

Now that auto-injection is enabled on the demo namespace, when you deploy the OnlineBoutique application's services, sidecar proxies are injected alongside each service.

  1. Push the images to the private registry:

    actl images push --images online-boutique-images --private-registry=PRIVATE_REGISTRY
    

    Replace PRIVATE_REGISTRY with the name of your private registry.

  2. Deploy the sample to the cluster:

    kubectl apply -n demo -f online-boutique/release/ --kubeconfig=USER_CLUSTER_KUBECONFIG
    
  3. Find the external IP address of the frontend-external service:

     kubectl get service frontend-external -n demo --kubeconfig=USER_CLUSTER_KUBECONFIG
    
  4. Open the application in your web browser by navigating to the external IP address from the previous step.

Online Boutique with Insufficient Resources

Exploring Anthos Service Mesh with the Kiali console

You can use Kiali to view the application service mesh and the relationships between the services in the demo application.

  1. In Management Center Console, open the Service Mesh menu.
  2. On the Service Mesh page, click the name of the target cluster.
  3. In the Launch Kiali dialog, click Proceed to Kiali.
  4. The Kiali dashboard opens with an overview of the namespaces. Kiali dashboard

  5. Explore the service mesh with the Kiali console.