All Products
Search
Document Center

Enterprise Distributed Application Service:Deploy a Java microservices application from a container image

Last Updated:Mar 11, 2026

When you run Java microservices on Kubernetes, you need application lifecycle management, monitoring, and service governance on top of the cluster runtime. Enterprise Distributed Application Service (EDAS) adds these capabilities to Container Service for Kubernetes (ACK), so you can deploy, monitor, and govern containerized Java applications from a single console.

This guide walks you through three stages: creating an ACK cluster, importing it into EDAS, and deploying a Java application from a container image.

How it works

Procedure for deploying an application in an ACK cluster
  1. Create an ACK cluster in the ACK console.

  2. Import the cluster into EDAS to enable application management, monitoring, and governance.

  3. Deploy your Java application from a container image in the EDAS console.

Prerequisites

Before you begin, make sure that you have:

Step 1: Create an ACK cluster

Log on to the ACK console and create a managed Kubernetes cluster. For instructions, see Create a managed Kubernetes cluster.

ACK Serverless clusters: To use Alibaba Cloud Service Mesh (ASM) after importing an ACK Serverless cluster into EDAS, apply these settings during cluster creation:

SettingValue
VPCCreate VPC
Service DiscoveryPrivateZone

If you set VPC to Select Existing VPC, verify that the cluster contains the required VPC and vSwitch resources. For more information, see Create an ACK Serverless cluster.

Step 2: Import the ACK cluster into EDAS

Importing an ACK cluster automatically installs the following components:

ComponentPurpose
ack-ahas-sentinel-pilotThrottling and degradation (application protection)
ack-arms-pilotApplication Real-Time Monitoring Service (ARMS) agent
ack-arms-prometheusPrometheus monitoring

To import the cluster:

  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 of your ACK cluster, then click Synchronize Container Service Kubernetes Cluster.

  4. Find your cluster and click Import in the Actions column.

  5. In the Precheck for Import dialog box, click Continue.

  6. In the Import Kubernetes Cluster dialog box:

    • Select a microservice namespace from the Microservice Namespace drop-down list.

    • Turn Service Mesh on or off based on your requirements.

    • Click Import.

Verify the import: The import is successful when Cluster Status shows Running and Import Status shows Imported.

Step 3: Deploy the Java application

3a. Create the application

  1. Log on to the EDAS console.

  2. In the left-side navigation pane, choose Application Management > Applications.

  3. In the top navigation bar, select a region and a microservice namespace.

  4. Click Create Application.

3b. Configure basic information

In the Basic Information step, set the following parameters and click Next.

ParameterValue for this guide
Cluster TypeKubernetes Clusters. Kubernetes clusters support ASM.
Application Source TypeDefault
Hosted ApplicationsJava
Select ApplicationCustom. A custom image provides its own built-in runtime environment.
Note

OpenJDK 17 is compatible with Dubbo 2.7.14 and later, or Dubbo 3.0.6 and later.

OpenJDK 17 compatibility test data
Dubbo versionSpring Boot versionNacos client versionAPI callARMS monitoringService list
2.7.142.7.91.4.4SupportedSupportedSupported
2.7.142.7.92.1.2SupportedSupportedSupported
2.7.142.7.92.2.0SupportedSupportedSupported
2.7.222.7.91.4.4SupportedSupportedSupported
2.7.222.7.92.1.2SupportedSupportedSupported
2.7.222.7.92.2.0SupportedSupportedSupported
3.0.62.7.91.4.4SupportedSupportedSupported
3.0.62.7.92.1.2SupportedSupportedSupported
3.0.62.7.92.2.0SupportedSupportedSupported
3.1.72.7.91.4.4SupportedSupportedSupported
3.1.72.7.92.1.2SupportedSupportedSupported
3.1.72.7.92.2.0SupportedSupportedSupported

3c. Configure the deployment

In the Configurations step, set the following parameters and click Next.

Environment

ParameterDescription
Microservice NamespaceSelect the namespace you created earlier. Defaults to Default if not specified. To create one, click Create Microservice Namespace. See the "Create a namespace" section of Manage microservice namespaces.
ClusterSelect a Kubernetes cluster. If the cluster has not been imported to EDAS, select This cluster is used for the first time in EDAS to import it during application creation, and then check whether Alibaba Cloud Service Mesh is activated. Importing the cluster consumes a certain amount of time. The cluster does not need to belong to the same microservice namespace.
K8s NamespaceKubernetes namespace for the application. Options: default, kube-system (system objects), kube-public (readable by all users, including unauthenticated users). To create a custom namespace, click Create Kubernetes Namespace. Names can contain digits, lowercase letters, and hyphens (-), must be 1--63 characters, and must start and end with a letter or digit.

Application details

ParameterDescription
Application NameStarts with a letter. Can contain digits, letters, and hyphens (-). Maximum 36 characters.
Application DescriptionOptional. Maximum 128 characters.

Image source

ParameterDescription
Image Type: Configure ImageUse a container image from Alibaba Cloud Container Registry (ACR).
-- Current AccountSelect the Region, Container Registry, Image Repository Namespace, Image Repository Name, and an image version.
-- Other Alibaba Cloud Accounts (public repo)Enter the Full Image Address.
-- Other Alibaba Cloud Accounts (private repo)Use the aliyun-acr-credential-helper component to pull images without a secret. See Use the aliyun-acr-credential-helper component to pull images without secrets.
Image Type: Demo ImageUse a demo image provided by EDAS and select an image version. Demo images are not available for Apsara Stack.
Note

RAM users must have the required permissions to use Container Registry Enterprise Edition images. See Configure policies for RAM users to access Container Registry.

Resources

ParameterDescription
Total PodsNumber of Pods to deploy. Maximum depends on cluster capacity.
Single-pod Resource QuotaCPU, memory, and ephemeral storage per Pod. The default value 0 means no limit. Maximum quotas depend on cluster capacity.

3d. Configure advanced settings (optional)

In the Advanced Settings step, configure any of the following as needed:

Important

If your application uses JDK 11 or JDK 17, add the corresponding annotation:

JDK versionAnnotation
JDK 11one-agent.jdk.version: OpenJDK11
JDK 17one-agent.jdk.version: OpenJDK17

3e. Submit and verify deployment

  1. After configuring advanced settings, click Create Application.

  2. In the Creation Completed step, click Create Application again.

  3. In the Confirm Application Change Precheck dialog box, click Start Precheck.

  4. Review the precheck results and click Continue.

    • To re-run the precheck after making changes, click Check Again.

Deployment takes a few minutes. Track progress on the Change List page.

Verify deployment: On the Application Overview page, confirm that all Pods show the running state. Click a Pod's status to view its Deployments, pods, and advanced configurations.

Set up network access

After deployment, configure network access for your application:

  • Public access: Bind an Internet-facing Server Load Balancer (SLB) instance. See Bind CLB instances.

  • Internal access: Bind an internal-facing SLB instance to allow access from other resources in the same VPC. See Reuse a CLB instance.

Contact us

For questions or suggestions about ACK clusters and ACK Serverless clusters in EDAS, join the DingTalk group (group ID: 23197114) for technical support.