Updated on 2025-04-25 GMT+08:00

Creating a Grayscale Release

Basic Concepts

  • Grayscale version

    Only one grayscale version can be released for a service. You can configure grayscale policies for the grayscale version.

  • Grayscale policy

    Before releasing a new version in the production environment, you can add a grayscale version first. Grayscale policies will distribute a percentage of traffic to the grayscale version. After confirming that the grayscale version runs normally, you can let it take over all live traffic in the production environment and uninstall the old version.

    Currently, grayscale releases are not available for services that VirtualService in delegate format has been defined for.

Procedure

  1. Log in to the UCS console. In the navigation pane, choose Service Meshes.
  2. Click the name of the target service mesh to go to its details page.
  3. In the navigation pane, choose Service Center > Mesh Services.
  4. Click the service name. On the displayed page, click the Grayscale Release tab.
  5. Click Create Gray Release.
  6. Configure grayscale release parameters.

    • HTTP service routing
      Table 1 HTTP service routing parameters

      match

      URI

      Identifier of a specific resource, which is of the StringMatch type and can be formatted based on the exact, prefix, or regular expression match.

      Enter a URI. You can choose whether to enable Ignore URL case.

      Scheme

      Protocol used for data collection, which is of the StringMatch type and can be formatted based on the exact, prefix, or regular expression match.

      Enter a scheme.

      Method

      HTTP method, which is of the StringMatch type and can be formatted based on the exact, prefix, or regular expression match.

      Enter a method.

      Authority

      HTTP authority, which is of the StringMatch type and can be formatted based on the exact, prefix, or regular expression match.

      Enter an authority.

      headers

      cookie

      An HTTP cookie used to calculate the hash value, which can be formatted based on the exact, prefix, or regular expression match.

      Enter a value.

      Custom

      An HTTP header used to calculate the hash value, which can be formatted based on the exact, prefix, or regular expression match.

      Enter a key-value pair.

      grayRelease.type.headers.userAgent

      Select a user agent as required.

      port

      Port on the host that is being addressed. Select an available port number from the drop-down list.

      queryParams

      Query parameter for matching the URL, which can be formatted based on the exact, prefix, or regular expression match.

      Enter a key-value pair.

      sourceLabels

      One or more labels that constrain the applicability of a rule to source (client) workloads with the given labels. Enter a key-value pair of the Map type.

      sourceNamespace

      Source namespace constraining the applicability of a rule to workloads in that namespace.

      Target Service

      Version

      Select a service subset.

      weight

      Percentage of traffic received by an instance. The value must range from 0 to 100.

    • TLS service routing
      Table 2 TLS service routing parameters

      match

      sniHost

      SNI to match on. An SNI value must be a subset of the corresponding virtual service's hosts.

      destinationSubnets

      IPv4 or IPv6 IP addresses of destination with optional subnet.

      port

      Port on the host that is being addressed.

      sourceLabels

      One or more labels that constrain the applicability of a rule to source (client) workloads with the given labels. Enter a key-value pair of the Map type.

      sourceNamespace

      Source namespace constraining the applicability of a rule to workloads in that namespace.

      Target Service

      Version

      Select a service subset.

      weight

      Percentage of traffic received by an instance. The value must range from 0 to 100.

    • TCP service routing
      Table 3 TCP service routing parameters

      match

      destinationSubnets

      IPv4 or IPv6 IP addresses of destination with optional subnet.

      port

      Port on the host that is being addressed.

      sourceLabels

      One or more labels that constrain the applicability of a rule to source (client) workloads with the given labels. Enter a key-value pair of the Map type.

      sourceNamespace

      Source namespace constraining the applicability of a rule to workloads in that namespace.

      Target Service

      Version

      Select a service subset.

      weight

      Percentage of traffic received by an instance. The value must range from 0 to 100.

    Click Submit.

  7. On the automatically displayed tab for displaying grayscale releases, view details such as the grayscale release version and protocol.