This topic describes the OS images supported by Container Service for Kubernetes (ACK). This topic also describes the filter rules and limits on OS images.
OS images supported by ACK
When you create an ACK cluster or a node pool, you must select an OS image for nodes. By default, ACK provides only the latest versions of different OS images. The following table describes the OS images supported by ACK and the Kubernetes versions supported by each image.
The following image list is maintained by ACK and may be different from the latest versions of images supported by Elastic Compute Service (ECS) due to update delays. We recommend that you use the OS images in the following table to deploy nodes.
In ACK clusters, the default operating system is cgroup v2 for ContainerOS 3.3 or later, RHEL 9 or later, and Ubuntu 22 or later. For more information about cgroup v2, see cgroup version description.
Alibaba Cloud Linux 2 was discontinued (end of life) at 00:00:00 (UTC+8) on March 31, 2024. CentOS was discontinued (end of life) at 00:00:00 (UTC+8) on June 30, 2024, at 00:00:00. Alibaba Cloud stops providing technical support for ECS instances that run these OS versions. To quickly obtain technical support and ensure business continuity and stability, we commend that you use Alibaba Cloud Linux 3 or ContainerOS. For more information about the changes and solutions, see [Product Changes] EOL of Alibaba Cloud Linux 2 and CentOS 7.
Image Type | Image name (including the image version) | Image ID | OS | Architecture | Startup mode | OS size | Supported Kubernetes version |
ContainerOS | ContainerOS 3 | lifsea_3_x64_10G_containerd_1_6_28_alibase_20240705.vhd | Aliyun | x86_64 | BIOS | 10 GiB | 1.24 and later |
Alibaba Cloud Linux 3 | Alibaba Cloud Linux 3.2104 LTS 64 bit | aliyun_3_x64_20G_alibase_20240528.vhd | Aliyun | x86_64 | BIOS | 20 GiB | 1.18 and later |
Alibaba Cloud Linux 3 for ARM. | Alibaba Cloud Linux 3.2104 LTS 64 bit ARM Edition | aliyun_3_arm64_20G_alibase_20240528.vhd | Aliyun | arm64 | UEFI | 20 GiB | 1.20 and later |
Alibaba Cloud Linux UEFI 3 | Alibaba Cloud Linux UEFI 3.2104 Security Enhanced | aliyun_3_x64_20G_uefi_alibase_20230727.vhd | Aliyun | x86_64 | UEFI | 20 GiB | 1.18 and later |
Red Hat | Red Hat Enterprise Linux (RHEL) 9.3 64-bit | Red Hat | x86_64 | BIOS | 20 GiB | 1.20 and later | |
Ubuntu | Ubuntu 22.04 | ubuntu_22_04_x64_20G_alibase_20240508.vhd | Ubuntu | x86_64 | BIOS | 20 GiB | 1.30 and later |
Windows | Windows Server 2022 (20240220) | win2022_21H2_x64_dtc_en-us_40G_container_alibase_20240220.vhd | WindowsServer2022 | x86_64 | BIOS | 40 GiB | 1.18 and later |
Windows | Windows Server 2019 (20240220) | win2019_1809_x64_dtc_en-us_40G_container_alibase_20240220.vhd | WindowsServer2019 | x86_64 | BIOS | 40 GiB | 1.18 and later |
Windows Core | Windows Server Core, version 2022 (20240223) | wincore_2022_x64_dtc_en-us_40G_container_alibase_20240223.vhd | WindowsServer2022 | x86_64 | BIOS | 40 GiB | 1.18 and later |
Alibaba Cloud Linux 2 (EOL) | Alibaba Cloud Linux 2.1903 LTS 64 bit | aliyun_2_1903_x64_20G_alibase_20231221.vhd | Aliyun | x86_64 | BIOS | 20 GiB | 1.30 and earlier |
CentOS (EOL) | CentOS 7.9 64 bit | centos_7_9_x64_20G_alibase_20230718.vhd | CentOS | x86_64 | BIOS | 20 GiB | 1.30 and earlier |
Usage notes
Limits on OS images
OS images that are not supported by the instance types you specify are automatically filtered out. If you specify multiple instance types, only the OS images that are supported by all of the instance types are displayed.
OS type | Limits |
Windows | You cannot create Windows images when you create an ACK managed cluster. You must create an ACK managed cluster first. You cannot use Windows images in the following scenarios:
For more information about limits and precautions when you use Windows images, see Limits. |
Alibaba Cloud Linux | You can use only Alibaba Cloud Linux images in the following scenarios:
|
Alibaba Cloud Linux 3 for ARM | Only instance types that use the ARM architecture are supported. |
Ubuntu |
|
RHEL 9.3 | You can install the RHEL operating system in an ACK cluster by using a custom image. For more information, see Create a custom image from an instance. After a custom image is created, you can use the image to create a node pool. All nodes in the node pool are deployed based on the custom image. |
Custom OS images |
|
cgroup version description
Linux provides two versions of control groups: cgroup v1 and cgroup v2, to limit, record, and isolate the physical resources such as CPU, memory, and I/O used by process groups. cgroup v2 is the optimized newer version of the cgroup
API.
There are differences between the common interfaces and subsystem interfaces of cgroup v2 and cgroup v1. For more information, see Differences between cgroup v1 and cgroup v2.
cgroup v1 and cgroup v2 use different APIs. If your Java applications are deployed on an operating system that supports cgroup v2 and require access to the cgroup file system, make sure that the tool versions are compatible. For more information, see Migrate to cgroup v2.
Category | Description |
cAdvisor | If you use cAdvisor as an independent DaemonSet to monitor pods and containers, you must update its version to 0.43.0 or later. |
Java applications |
|
Go applications | Update uber-go/automaxprocs to 1.5.1 or later versions. |
References
You can use node pools to facilitate node management. For example, you can schedule, configure, manage, or maintain nodes by node pool, and enable auto scaling for a node pool.
Managed node pools, introduced by ACK, are capable of automating O&M tasks for specific nodes.
A node pool consists of nodes that have the same configuration or nodes that are used for the same purpose. You can create node pools to easily manage and maintain nodes. For more information, see Create a node pool.
You only need to create nodes when you create an ACK managed cluster. The control planes of the cluster are created and managed by ACK, which reduces O&M costs and allows you to focus on application development.