This section describes how to create a composed app.

You can customize the services, workloads, and routes of an application to create a composed app. Compared to template-based applications, composed apps support application governance. You can enable application governance for composed apps to use traffic monitoring, canary release, and tracing features.

Prerequisites

  • You need to join a project and have the Service Mesh Management permission in the project. For more information, see Project Members and Project Roles.

  • The KubeSphere Service Mesh extension must be installed and enabled on the KubeSphere platform.

Steps

  1. Log in to the KubeSphere web console with a user who has Service Mesh Management permissions and enter your workspace.

  2. Click Grayscale Release > Composed App in the left navigation pane.

  3. Select a project from the drop-down list in the upper left corner of the page.

  4. Click Create on the page.

  5. On the Basic Information tab, configure the basic information for the app, and then click Next.

    Parameter Description

    Name

    The name of the application. The name can only contain lowercase letters, numbers, and hyphens (-), must start and end with a lowercase letter or number, and has a maximum length of 63 characters.

    Version

    The user-defined version of the application. The version can only contain lowercase letters and numbers, with a maximum length of 16 characters.

    Application Governance

    Whether to enable the "Application Governance" feature for the application. After enabling application governance, you can use traffic monitoring, canary release, and tracing features for the application.

    Description

    The description information of the application. The description can contain any characters, with a maximum length of 256 characters.

  6. On the Service Settings tab, click Create Service, select Stateful Service or Stateless Service to create a service for the app, and then click Next.

    • Stateful Service: The service’s internal access mode is Headless, and the backend workload is a StatefulSet.

    • Stateless Service: The service’s internal access mode is VirtualIP, and the backend workload is a Deployment.

    For parameter settings of Stateful Service and Stateless Service, refer to Create a Stateful or Stateless Service.

  7. On the Routing Settings tab, click Add Routing Rule to create a routing rule for the app, and then click Create.

    • Click Add Routing Rule to set a routing rule. You can set multiple routing rules, each corresponding to a domain name.

    • Hover over a created routing rule, then click pen on the right to edit the routing rule settings.

    • Hover over a created routing rule, then click trash-light on the right to delete the routing rule.

    Parameter Description

    Domain Name

    User-defined domain name.

    Protocol

    Protocol supported by the Ingress. The parameter value can be HTTP or HTTPS.

    Secret

    When the Ingress protocol is HTTPS, the Secret used to provide the certificate and key. This Secret must contain the tls.cert and tls.key fields, storing the Base64-encoded certificate and private key respectively.

    Path

    Domain path and its mapping relationship with the service port.

    • Click Add to set multiple paths.

    • Click trash-light on the right of a created path to delete the path.

    After the app is created, it will be displayed on the Composed Apps page.