ACK Serverless clusters remove the need to provision or manage nodes. You can deploy containerized workloads without handling node security patches, capacity planning, or infrastructure maintenance — the cluster manages the underlying compute for you.
The resources created in this guide cost approximately USD 0.05 for 30 minutes of use. Delete the resources when you finish to avoid ongoing charges.
Prerequisites
Before you begin, complete the following setup steps in order:
-
Create an ACK Serverless cluster. See Create an ACK Serverless cluster.
-
Enable public API server access. Bind an internet-facing endpoint to the cluster's API server so you can connect with kubectl. See Control public access to the API server of a cluster.
-
Configure outbound internet access for your cluster. Create an Internet NAT Gateway in the Virtual Private Cloud (VPC) where the cluster resides, and configure SNAT entries. This allows Pods to pull container images from external registries. See Use the SNAT feature of an Internet NAT gateway to access the Internet.
Step 1: Deploy the NGINX application
Choose the deployment method that matches your workflow. Both methods produce the same result: a running NGINX Deployment exposed by a LoadBalancer Service.
Option A: Deploy using the ACK console
1.1 Create the Deployment
Log on to the ACK console. In the left navigation pane, click Clusters.
On the Clusters page, click the name of your cluster. In the left navigation pane, click .
-
On the Deployments page, click Create from Image in the upper-right corner.
-
On the Basic Information page, set the following parameters, then click Next. Leave all other parameters at their default values.
Parameter
Value
Application Name
nginx-deploy
Replicas
1
-
On the Container page, set the following parameters, then click Next. Leave all other parameters at their default values.
Parameter
Value
Image Name
anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
CPU
1 Core
Memory
2 GB
Port Name
example-port
Container Port
80
Protocol
TCP
NoteThis image is an Anolis OS-based NGINX build optimized for Alibaba Cloud environments. It is functionally equivalent to the standard NGINX image for this tutorial.
1.2 Create and attach a Service
-
On the Advanced page, click Create next to Service. In the panel that appears, set the following parameters and click OK. Leave all other parameters at their default values.
Parameter
Value
Name
nginx-deploy-svc-test
Service Type
SLB
SLB Type
NLB
Select Resource
Create Resource
Port Mapping Name
example-map
Service Port
80
Container Port
80
Protocol
TCP
-
Click Create, then click View Details.
1.3 Confirm the Pod is running and get the public IP address
-
On the details page of the Deployment, click the Pods tab and wait until the Pod status shows Running.
-
Click the Access Method tab. Copy the public IP address or URL from the External Endpoint field — you will use this to verify the deployment in Step 2.
Option B: Deploy using kubectl
You can run kubectl commands from your local machine or from Alibaba Cloud Shell. If you use Cloud Shell, you do not need to configure a kubeconfig file manually.
1.1 Connect to the cluster
-
Connect to your ACK Serverless cluster using kubectl. See Connect to a Kubernetes cluster using kubectl.
1.2 Create the manifest
-
Create a file named
nginx.yamlwith the following content:apiVersion: v1 kind: Service metadata: name: nginx-deploy-svc spec: ports: - port: 80 protocol: TCP selector: app: nginx type: LoadBalancer --- apiVersion: apps/v1 # Use the API version that corresponds to your Kubernetes version. kind: Deployment metadata: name: nginx-deploy labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 resources: requests: cpu: "1" memory: "2Gi"NoteThe image
anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6is an Anolis OS-based NGINX build optimized for Alibaba Cloud environments. It is functionally equivalent to the standard NGINX image for this tutorial.
1.3 Apply the manifest
-
Run the following command to create the Deployment and Service:
kubectl apply -f nginx.yamlExpected output:
service/nginx-deploy-svc created deployment.apps/nginx-deploy created
1.4 Verify the Deployment is ready
-
Run the following command to check that the Deployment is fully available:
kubectl get deployExpected output:
NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 1/1 1 1 9m32sThe
READYcolumn shows1/1, meaning one of one replicas is running.
1.5 Get the public IP address
-
Run the following command to list Services and record the external IP address of
nginx-deploy-svc:kubectl get svcExpected output:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 172.XX.X.X <none> 443/TCP 10d nginx-deploy-svc LoadBalancer 172.19.X.XXX 47.57.XX.XX 80:32278/TCP 39sNote the value in the
EXTERNAL-IPcolumn fornginx-deploy-svc. The LoadBalancer may take a minute to provision — re-run the command if the field shows<pending>.
Step 2: Verify access to the NGINX application
Open a browser and navigate to the public IP address or URL you recorded in Step 1.
If the NGINX welcome page appears, your application and Service are working correctly.

Troubleshooting: If the page does not load, check the following:
Confirm the Pod status is Running (console) or
READY: 1/1(kubectl).Confirm the
EXTERNAL-IPis a routable public address, not<pending>.Verify that the Internet NAT Gateway SNAT entries are correctly configured in your VPC.
What you built
You deployed a single-replica NGINX application on ACK Serverless and exposed it to the internet using a Network Load Balancer (NLB) Service. The cluster provisioned the underlying compute automatically — no nodes were created or managed manually.
This setup is suitable for evaluation and learning. For production workloads, consider adding TLS termination, resource limits, liveness/readiness probes, and Horizontal Pod Autoscaling (HPA).
Next steps
Configure auto scaling — See Configure auto scaling policies for a cluster.
If you do not want to configure auto scaling, you can perform the following steps to release the resources that you created:
Delete the application and Service
-
In the ACK console, go to the Clusters page and click the name of your cluster.
-
In the left navigation pane, choose Workloads > Deployments. Select the NGINX application you created, click Batch Delete, and follow the on-screen instructions to confirm.
Delete Clusters
ACK serverless clusters do not incur cluster management fees. However, you are charged for other Alibaba Cloud product resources used with ACK serverless clusters, such as ECI, based on each product’s billing rules. Each product bills separately. After completing the tutorial, handle your clusters as follows:
-
If you no longer need the cluster, go to the Container Service Management Console and open the Clusters page. Locate the target cluster and click . In the pop-up panel, read the prompt, select the associated cloud service resources to delete, click Delete, and follow the on-screen instructions to complete the process. For more information, see Delete a cluster.
-
To continue using the cluster, recharge your Alibaba Cloud account promptly to maintain a sufficient balance. To review billing details for other Alibaba Cloud product resources used with ACK serverless clusters Pro Edition, see Billing for cloud product resources.