This topic describes the features supported by serverless Kubernetes clusters. You can make full use of these features to improve your efficiency in cluster management.
You can view information about virtual nodes in the cluster. No operation is required to manage virtual nodes, and they do not occupy any compute resources. For more information about virtual nodes, see Virtual nodes.
Each pod in a serverless Kubernetes cluster runs in a secure and isolated container runtime built on ECI. The underlying networking of ECI is strongly isolated by lightweight virtual sandboxes. Pods do not affect one other.
ECIs run on Alibaba Cloud Linux2 serverlessly, and are based on virtualization technology for security isolation. Each ECI is a lightweight virtual machine running on the physical server. The host itself is mananged by the ECI serverless infrastructure, and cannot be accessed through SSH by end users. The ECI architecture reuses the elastic computing infrastructure for security, stableness and elasticity. ECIs are optimized for containers, for exmaple, less overhead and faster start time. Meanwhile, the security level for ECIs is equivalent to ECS.
Pods are created based on ECI and support multiple native Kubernetes features, including
multiple container startup, environment variables, restart policies, health check
commands, volume mounting, and preStop commands. You can run the
kubectl logs command to view container logs and run the
kubectl exec command to manage containers.
- Supports native Kubernetes workloads such as deployments, StatefulSets, jobs, cron jobs, pods, and CRDs.
- Does not support DaemonSets.
Serverless Kubernetes clusters have no real nodes. You do not need to worry about node capacity planning or cluster expansion based on cluster-autoscaler. Instead, you only need to scale your application based on demands. We recommend that you configure HPA or CronHPA policies to adjust the number of pods based on demands.
Pods use the host network mode by default. Each pod must be assigned an ENI by the VSwitch, which is used to communicate with the ECS and RDS instances in the VPC network.
- Supports LoadBalancer services.
- Does not support NodePort services.
- Service discovery
If you need to use the service discovery feature within the cluster, enable Privatezone when you create the cluster.
- Elastic IP address
Supports attaching Elastic IP addresses to pods. Elastic IP addresses can be automatically created or existing ones.
Supports mounting Alibaba Cloud disks or NAS file systems to pods.
- Alibaba Cloud Disk
- To mount a disk through flexvolume, you do not need to install the flexvolume plug-in. You can mount a disk by disk ID. For more information, see disk-flexvolume-static.yaml demo. You can also dynamically create disks. For more information, see disk-flexvolume-dynamic.yaml demo.
- To dynamically create disks and mount them through PVs and PVCs, you need to install disk-controller. For more information, see disk-pvc-dynamic.yaml demo.
- Apsara File Storage NAS
- To use NFS volumes, you can mount NAS directories through NFS. For more information, see nas-nfsvolume.yaml demo.
- To mount NAS directories through flexvolume, you do not need to install the flexvolume plug-in. You can directly specify the NAS mount target. For more information, see nas-flexvolume.yaml demo.
- To mount NAS directories through PVs and PVCs, you need to install disk-controller. For more information, see nas-pvc.yaml demo.
In serverless Kubernetes clusters, standard outputs and text logs from pods are collected without the need to deploy a logtail DaemonSet. For more information, see Collect logs by using Alibaba Cloud Log Service.
ConfigMaps and secrets
Supports secrets and ConfigMaps. Supports the storage of secrets and ConfigMaps in volumes.
Supports chart deployment in App Catalog to create various native Kubernetes applications.