Enterprise Distributed Application Service (EDAS) integrates Container Service for Kubernetes (ACK) so that you can use Kubernetes to manage containerized applications on Alibaba Cloud. You can create clusters in the Container Service for Kubernetes (ACK) console or register hybrid cloud clusters including user-created clusters in other cloud domains or Internet data centers (IDCs) to the Container Service for Kubernetes (ACK) console. Then, you can import the clusters to EDAS to deploy applications to them. EDAS provides high-availability capabilities of containerized application management to improve O&M efficiency so that you can focus on developing and managing containerized applications.

Features of Kubernetes clusters in EDAS

EDAS allows you to import the Dedicated Kubernetes clusters, Managed Kubernetes clusters, and Serverless Kubernetes clusters that you create in the Container Service for Kubernetes (ACK) console. For more information about the comparison among the three types of clusters, see What is Container Service for Kubernetes?.

Dedicated Kubernetes clusters and Managed Kubernetes clusters imported to EDAS correspond to Container Service Kubernetes clusters. Serverless Kubernetes clusters imported to EDAS correspond to Serverless Kubernetes clusters.

Hybrid cloud clusters including user-created clusters in other cloud domains or IDCs must be registered in the Container Service for Kubernetes (ACK) console and then imported to EDAS. Hybrid cloud clusters imported to EDAS correspond to Container Service Kubernetes clusters.

For more information about how to register a hybrid cloud cluster in Container Service for Kubernetes (ACK), see Create a cluster registration proxy and register an on-premises cluster.

Kubernetes clusters managed in EDAS have the following advantages over user-created Kubernetes clusters:
  • Based on cloud-native Kubernetes, EDAS provides the application hosting capability to implement open source microservice governance and light-weight O&M of Kubernetes applications from the application perspective.
    • From the application-centric perspective, EDAS manages Kubernetes-native workloads such as deployments and pods, and provides high-availability deployment of instances across zones.
    • EDAS provides phased release and canary release based on the traffic ratio and request parameters. EDAS monitors the entire change process and therefore makes your change records traceable.
    • EDAS integrates with mainstream DevOps systems to help enterprises implement continuous integration (CI) and continuous delivery (CD). This way, EDAS helps them reduce costs and improve efficiency.
  • EDAS supports three mainstream microservice frameworks, including Apache Dubbo (2.6.x and later), Spring Cloud (Edgware and later versions), and High-Speed Service Framework (HSF). User-created microservice-oriented applications based on these frameworks can be migrated to EDAS without code modification. The following microservice governance capabilities are supported for all the application frameworks:
    • Lossless shutdown and stress testing during application release
    • Service authentication, throttling and degradation, and outlier instance removal during the application runtime
    • Service query and testing in application O&M
  • Alibaba Cloud packages its idea of supporting observability, canary release, and rollback for application production security into services, and therefore allows you to immediately implement production security.
    • Observability: End-to-end monitoring in multiple dimensions is implemented based on application overview, release change records, and automatic generation of release reports.
    • Canary release: Canary release is supported for applications based on the traffic ratio or request content policy configuration.
    • Rollback: One-click rollback is supported during the release process, and running applications can be rolled back to an earlier version.

Workflow for Kubernetes clusters

To deploy an application in a Container Service Kubernetes cluster, you must create or register a cluster in the Container Service for Kubernetes (ACK) console and import the cluster to the EDAS console. Then, you must use a deployment package or an image in the imported Container Service for Kubernetes (ACK) cluster to deploy the application.

Procedure of creating an application in a Kubernetes cluster
Note In EDAS, the procedure of managing Container Service Kubernetes clusters is similar to that of managing hybrid cloud clusters. In this topic, Container Service Kubernetes clusters are used in the example.

Prerequisites

  • EDAS is activated for your Alibaba Cloud account. For more information, see Activate EDAS.
  • Container Service for Kubernetes is activated and role authorization is complete for your Alibaba Cloud account. For more information, see ACK default roles.

Create a cluster in the Container Service for Kubernetes (ACK) console

  • To use a Container Service Kubernetes cluster in EDAS, create a Managed Kubernetes cluster or a Dedicated Kubernetes cluster in the Container Service for Kubernetes (ACK) console. For more information, see the following topics:
  • To use a Serverless Kubernetes cluster in EDAS, create a Serverless Kubernetes cluster in the Container Service for Kubernetes (ACK) console. For more information, see Create an ASK cluster.

Import a Kubernetes cluster to the EDAS console

  1. Log on to the EDAS console.
  2. In the left-side navigation pane, choose Resource Management > Container Service Kubernetes Clusters.
  3. In the top navigation bar, select the region where the namespace you want to use is located. From the Namespace drop-down list, select the namespace to which you want to import the cluster. Then, click Synchronize Container Service Kubernetes Cluster.
  4. In the Actions column of the Container Service Kubernetes cluster that you want to import, click Import.
  5. In the Import Kubernetes Cluster dialog box, select the destination namespace from the Namespace drop-down list, turn on Service Mesh as needed, and then click Import.
    Note
    • If you have not created a namespace, you do not need to select a namespace in this step and you can use the default namespace.
    • If you need to deploy a multi-language application, turn on Service Mesh.
    • After you turn on Service Mesh, two internal-facing Server Load Balancer (SLB) instances with the slb.s1.small specification are created by default for management. The ports of the two SLB instances are also exposed, including port 6443 and port 15011. For more information, see Background information.

      You are charged for the two SLB instances generated by default. The instances use the slb.s1.small specification. For more information about billing, see Pay-as-you-go.

    If the Container Service Kubernetes cluster is in the Running state and the value of Import Status is Imported., the Container Service Kubernetes cluster is imported to EDAS.

Cancel the import and clean up a Kubernetes cluster in the EDAS console

  1. Log on to the EDAS console.
  2. In the left-side navigation pane, choose Resource Management > Container Service Kubernetes Clusters or Resource Management > Serverless Kubernetes Clusters.
  3. In the top navigation bar, select the region where the cluster is located. In the upper part of the page, select the namespace where the cluster is located. In the Actions column of the cluster, click Cancel Import. In the Note message, click OK.
    • If the value of Cluster Status is Running, you can import the cluster to EDAS again to create applications.
    • If the value of Cluster Status is Deleted, you can click Clear in the Actions column to remove the cluster from the cluster list in EDAS.
      Note For more information about operations and FAQ about cluster deletion, see Delete an ACK cluster.

View a Kubernetes cluster in the EDAS console

  1. Log on to the EDAS console.
  2. In the left-side navigation pane, choose Resource Management > Container Service Kubernetes Clusters or Resource Management > Serverless Kubernetes Clusters.
  3. Click the ID of the cluster that you want to view. The Cluster Details page appears.
    On the Cluster Details page, you can view the cluster details, Elastic Compute Service (ECS) instances, deployments, and applications.
    • Cluster Information: This section displays basic information about the cluster, including Cluster ID, csClusterId, Cluster Name, Namespace, Cluster Type, VPC ID, Network Type, Cluster Status, and Description.
      • In the Cluster Information section, click View Details in the upper-right corner to view the details of the cluster.
      • In the Cluster Information section, click Edit in the upper-right corner to modify the cluster description.
    • ECS Instance: This section displays the ECS instances in the cluster and the overview of ECS instances.
    • Deployments: This section displays the user-created deployments on third-party platforms that you convert to and manage in EDAS.
    • Applications: This section displays the applications in the cluster. You can view the application name, JDK version, application runtime environment, total number of instances, number of running instances, and owner. You can click the name of an application to go to the Application Overview page.

References