Updated on 2023-11-28 GMT+08:00

Istio Gray Release

Istio provides you with microservice-based traffic governance capabilities. Istio allows you to develop a set of traffic distribution policies based on standards and deliver the policies to application pods in a non-intrusive manner, implementing smooth and stable grayscale release.

Prerequisites

  1. A CCE cluster is available. If no CCE cluster is available, create one.
  2. A workload of the current version exists and a Service has been created. If no workload exists, create a workload.
  3. The ASM service has been enabled, and Configuration Diagnosis Result of the corresponding service on the Service Management tab page is in the normal state. If the ASM service is not enabled, enable the ASM service.
  4. An Istio workload has been created and associated with the Service of the current version.

Procedure

Table 1 Parameters of custom release mode

Parameter

Description

Action Name

Name of an action displayed in the deployment actions area.

Cluster Name

Select a target cluster.

Namespace

Enter a namespace.

Release Mode

Custom and Fast are supported.

File Source

  • Artifact

    YML File: Select the target YML file.

  • Repo

    Repo: Select the target code repository.

    Branch: Select the target branch.

    YML File Path: path of the target YML file.

Control Options

Continue the task even if this action fails.

Table 2 Parameters of fast release mode

Parameter

Description

Action Name

Name of an action displayed in the deployment actions area.

Cluster Name

Select a target cluster.

Namespace

Enter a namespace.

Release Mode

Custom and Fast are supported.

Traffic Takeover

Gray release

VirtualService Name: Select the target VirtualService. Log in to the ASM console, choose Mesh Configuration > Istio Resource Management and filter the target namespace and istio resources.

DestinationRule Name: Select the target destination rule. Log in to the ASM console, choose Mesh Configuration > Istio Resource Management and filter the target namespace and istio resources.

Current Version: Use the keyword "version" in the label to distinguish the official version from the gray version. The version number must be the same as the subsets object name in DestinationRule and is used as an identifier for gray traffic distribution.

Gray Version Number: Use the keyword "version" in the label to distinguish the official version from the gray version. The version number must be the same as the subsets object name in DestinationRule and is used as an identifier for gray traffic distribution.

Gray release policy:

  • Based on traffic ratio

    Gray Version Traffic (%): Traffic can be customized.

  • Based on request content-Cookie

    Cookie Content: Cookie content can be customized.

  • Based on request content-Header

    Custom Header: Headers can be added and customized.

Official release

VirtualService Name: Select the target VirtualService. Log in to the ASM console, choose Mesh Configuration > Istio Resource Management and filter the target namespace and istio resources.

DestinationRule Name: Select the target destination rule. Log in to the ASM console, choose Mesh Configuration > Istio Resource Management and filter the target namespace and istio resources.

Official Version: Enter the version that officially takes over traffic.

Control Options

Continue the task even if this action fails.