Alibaba Cloud Service Mesh (ASM) can simplify microservice management in the microservices model. This topic provides a quick-start tutorial to describe how to use ASM to manage an application.

Background information

The following figure shows the procedure for using ASM to manage an application.Procedure

Procedure

  1. Create an ASM instance. For more information, see Create an ASM instance.
  2. Add an ACK cluster to the ASM instance. For more information, see Add a cluster to an ASM instance.
  3. Deploy an ingress gateway service in the ACK cluster. For more information, see Create an ingress gateway service.
  4. Deploy an application in the ASM instance. For more information, see Deploy an application in an ASM instance.
  5. Use Istio resources to route traffic to different versions of a service. For more information, see Use Istio resources to route traffic to different versions of a service.
  6. View the topology of the application. For more information, see Use Mesh Topology to view the topology of an application.

FAQ

  • Why am I unable to use the kubeconfig file of an ASM instance to deploy an application?

    The ASM console provides the kubeconfig file to connect to ASM instances. This way, you can use the kubectl client to manage the Custom Resource Definitions (CRDs) of Istio, such as virtual services. The control plane of an ASM instance is used to manage Istio resources. You cannot deploy applications in the control plane.

  • Why am I unable to deploy the CRDs of Istio, such as virtual services, in the clusters that are managed by ASM?

    Istio resources are managed in the control plane. The control plane also provides the kubeconfig file that is used to connect to the ASM instance.

  • Why am I unable to manage Istio resources by using the kubeconfig files of clusters?

    The CRDs of Istio are saved in the control plane. The control plane converts the rules that are defined by Istio CRDs into the rules in sidecar configurations and applies the converted rules.

  • What is the difference between the namespaces in the control plane of an ASM instance and the namespaces of the clusters in the data plane?

    The namespaces that you create in an ASM instance, whether in the ASM console or by using the kubectl client, belong only to the ASM instance. The namespaces are independent of the Kubernetes clusters in the data plane that are managed by the ASM instance. When you create or delete namespaces for the ASM instance, the namespaces of the Kubernetes clusters in the data plane are not affected.