This topic describes how to connect Elastic Container Instance to Container Service for Kubernetes (ACK) clusters by using virtual nodes. Virtual nodes support dynamic and flexible creation of pods on demand, which eliminates the needs to plan capacities. This can help you reduce costs and improve efficiency.
Introduction to ACK
ACK is one of the first batch of services that pass the Certified Kubernetes Conformance Program. ACK provides high-performance containerized application management service. It integrates the capabilities of virtualization, storage, network, and security provided by Alibaba Cloud, simplifies cluster creation and expansion, and enables you to focus on the development and management of containerized applications.
You can deploy virtual nodes to connect Elastic Container Instance to your ACK clusters. After you deploy virtual nodes, you can create elastic container instances on-demand in the virtual nodes to extend your ACK clusters, without the need to plan the computing capacities of the nodes. The elastic container instances can communicate with pods in real nodes of the clusters.
You must manually deploy virtual nodes in an ACK cluster to create pods in the virtual nodes, as shown in the following figure. Pods run in a secure and isolated container runtime environment based on Elastic Container Instance. Each pod corresponds to an elastic container instance. For more information, see Overview.
If you have an ACK cluster, you can deploy virtual nodes in the cluster to use Elastic Container Instance. Perform the following steps:
Deploy virtual nodes.
Schedule pods to the virtual nodes.
For more information, see Deploy ack-virtual-node in an ACK cluster.
For more information about how to use Elastic Container Instance to deploy applications, see Run a job by using a virtual node and Use an Ingress to enable external access to an application on a virtual node.
Upgrade Virtual Kubelet
If you need to use new features of Virtual Kubelet, you may need to update the image version of Virtual Kubelet. For more information, see ack-virtual-node.
By default, different versions of ack-virtual-node use different methods to deploy Virtual Kubelet (StatefulSet or Deployment). Select the corresponding command based on the deployment method and resource name to edit resources and modify the image tag to the desired version.
StatefulSet. The corresponding resource name is virtual-node-eci.
kubectl edit statefulset -n kube-system virtual-node-eci
Deployment. The corresponding resource name is ack-virtual-node-controller.
kubectl edit deployment -n kube-system ack-virtual-node-controller