Updated on 2024-01-30 GMT+08:00

Buying a Mesh

ASM allows you to buy a service mesh of the Basic edition, which is a standard service mesh available for commercial use. In a service mesh of the Basic edition, control plane components are deployed in a cluster for non-intrusive governance, grayscale releases, and traffic monitoring of services in the cluster. A service mesh of the Basic version supports Istio 1.8, 1.13, 1.15, and 1.18. It can manage only one cluster and a maximum of 200 pods.

Prerequisites

You have created a CCE cluster. If not, create one by referring to Buying a CCE Cluster.

Constraints

  • ASM depends on the domain name resolution of CoreDNS. Before creating a service mesh for a cluster, ensure that the cluster has required resources and CoreDNS is running normally.
  • When you enable Istio for a cluster, you must enable port 7443 in the inbound direction of the security group to which the worker node belongs, for automatic sidecar injection and callback. If you use the default security group created by CCE, this port is automatically enabled. If you create a security group rule, manually enable port 7443 to ensure that sidecars can be automatically injected.

Procedure

  1. Log in to the ASM console.
  2. Click Buy Mesh in the upper right corner.
  3. Configure the following parameters.

    Figure 1 Service mesh parameters
    • Mesh Edition

      Only service meshes of the Basic edition are supported.

    • Mesh Name

      Enter a service mesh name, which consists of 4 to 64 characters. It must start with a lowercase letter and cannot end with a hyphen (-). Only lowercase letters, digits, and hyphens (-) are allowed.

      Service mesh names under the same account must be unique and cannot be modified after creation.

    • Istio Version

      Select the Istio version supported by the service mesh.

    • Enable IPv6

      Determine whether to enable IPv6. This option can be enabled only in istio1.18 or later.

    • Cluster

      Select the target cluster from the cluster list or enter the target cluster name in the upper right corner of the list to search for it. You can select only the clusters which versions are supported by the current mesh version.

    • Mesh Control Plane Node

      To install the control plane components for the service mesh of the Basic edition in your cluster, you need to select a node for installation. If HA is required, you can select two or more nodes from different AZs.

      The selected node is labeled with istio:master, and the components are scheduled to this node.

    • Observability Configuration
      • Access Logging

        If this option is enabled, you can query key access records in the service mesh to locate exceptions. After enabling this option, you need to select the Log Tank Service (LTS) log group and log stream. Access logs will be transmitted to the log stream. You can view the access logs on the Monitoring Center > Access Logs page.

        • Only Istio v1.18 or later can work with LTS to collect and store access logs. To ensure logs are reported to LTS, install the cloud native logging add-on on the CCE cluster add-on page in advance.
      • Tracing

        - Sampling Rate: Number of requests generated by the tracing/Total number of requests

        - Version: the tracing service. You need to set Service Address and Service Port, which indicate the address and port number used by the third-party tracing service to receive requests.

        • Only Istio v1.15 or later support the third-party tracing service.
        • If you want to use the third-party Jaeger or Zipkin service, install Jaeger or Zipkin first. Alternatively, you can obtain the service address after installing Jaeger or Zipkin by referring to section "Installing Jaeger/Zipkin" in the FAQs.
        • The default service ports of Jaeger and Zipkin are both 9411. If you customize the service port during Jaeger or Zipkin installation, replace Service Port with the actual value.

  4. (Optional) Configure advanced settings.

    • Sidecar Configuration

      Select a namespace and label it with istio-injection=enabled. All pods in the namespace will be injected with an istio-proxy sidecar.

      You can inject a sidecar in Mesh Configuration > Sidecar Management after the mesh is created. For details, see Injecting a Sidecar.

    • Restart Existing Services

      : Pods of the existing services in the namespace will be restarted, which will temporarily interrupt your services. The istio-proxy sidecar is automatically injected into the pods of the existing services.

      : The istio-proxy sidecar cannot be automatically injected into the pods of the existing services. You need to manually restart the workloads on the CCE console to inject the sidecar.

    • Traffic Interception Settings

      By default, sidecars intercept all inbound and outbound traffic of pods. You can modify the default traffic rules in Traffic Interception Settings.

      Inbound Ports: Inbound ports separated by commas (,). You can use this field to specify the ports that will be included or excluded for inbound traffic redirection.

      • Include only specified ports means that the traffic to services in a service mesh over specified ports will be redirected to the sidecar.
      • Exclude only specified ports means that the traffic to services in a service mesh over the ports except the specified ports will be redirected to the sidecar.

      Outbound Ports: Outbound ports separated by commas (,). You can use this field to specify the ports that will be included or excluded for outbound traffic redirection.

      • Include only specified ports means that the traffic from services in a service mesh over specified ports will be redirected to the sidecar.
      • Exclude only specified ports means that the traffic from services in a service mesh over the ports except the specified ports will be redirected to the sidecar.

      Outbound IP Ranges: IP address ranges separated by commas (,) in CIDR format. You can use this field to specify the IP ranges that will be excluded from redirection to the sidecar.

      • Include only specified IP ranges means that the traffic from specified IP ranges will be redirected to the sidecar.
      • Exclude only specified IP ranges means that the traffic from IP ranges except the specified IP ranges will be redirected to the sidecar.

  5. Review the service mesh configuration in the Configuration List on the right of the page and click Submit.

    It takes about 1 to 3 minutes to create a service mesh. If the service mesh status changes from Installing to Running, the service mesh is successfully created.

    An otel-collector workload is automatically created when a service mesh is created. For details, see otel-collector Workload Functions.

    When the service mesh is enabled, the following operations are performed:

    • Helm orchestrates the application into a Release as the resource of the service mesh control plane.
    • A security group is enabled for the nodes to allow the inbound traffic for port 7443 to support automatic sidecar injection.