All Products
Search
Document Center

Alibaba Cloud Service Mesh:Getting started overview

Last Updated:Mar 04, 2024

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

Procedure

Step

Operation

Description

1

Create an ASM instance

To use ASM, you must first create an ASM instance. ASM allows you to perform operations such as traffic management, security management, fault recovery, observation, and monitoring on applications.

2

Add a Kubernetes cluster to the ASM instance

An application deployed in an ASM instance runs in a cluster. Therefore, you must first add a Kubernetes cluster to the ASM instance.

3

Create an ingress gateway in the Kubernetes cluster that is added to the ASM instance

An ingress gateway provides a unified entrance for routing the inbound traffic at Layer 7. It routes HTTP requests from the same TCP-based port to different Kubernetes services based on the request content.

4

Deploy an application in the ASM instance

After you deploy an ingress gateway in a cluster that is added to the ASM instance, you can deploy applications in the ASM instance.

5

Use Istio resources to route traffic to different versions of a service

ASM allows you to route traffic to different versions of a service based on the specified ratio. This feature is applicable to many scenarios such as canary release and A/B testing. You can use Istio resources to route traffic to different versions of a service.

6

Use Mesh Topology to view the topology of an application

Mesh Topology provides observability for applications in ASM instances. This tool provides a GUI that allows you to monitor service behavior. You can use Mesh Topology to view the traffic flows and the communication between workloads.

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 a Service Mesh instance and the namespaces of the clusters on the data plane?

The namespaces that you create in a Service Mesh 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 on the data plane that are managed by the ASM instance. When you create or delete namespaces for the Service Mesh instance, the namespaces of the Kubernetes clusters on the data plane managed by the ASM instance are not affected.