- Newest
- Most votes
- Most comments
AWS EKS indeed supports different container runtimes. However, the choice of container runtime depends on the version of Kubernetes in use. For Kubernetes version 1.24 and later clusters, the only container runtime included in the officially published Amazon EKS AMIs is containerd. Earlier versions of Kubernetes use Docker as the default runtime, but they have a bootstrap flag option that you can use to test your workloads on any supported cluster with containerd-11.24and later clusters, officially published Amazon EKS AMIs includecontainerdas the only runtime. Kubernetes versions earlier than1.24use Docker as the default runtime. These versions have a bootstrap flag option that you can use to test out your workloads on any supported cluster withcontainerd. For more information, see Amazon EKS ended support for Dockershim","pub_date":null}}. Starting from Kubernetes version 1.27, Amazon EKS will ignore the --container-runtime argument passed to any bootstrap scripts, and it's recommended not to pass this argument to --kubelet-extra-args in order to prevent errors during the node bootstrap process-1--container-runtimecommand line argument for thekubeletwas removed. The default container runtime for Amazon EKS has been containerd since1.24, which eliminates the need to specify the container runtime. From 1.27onwards, Amazon EKS will ignore the--container-runtimeargument passed to any bootstrap scripts. It is important that you don't pass this argument to--kubelet-extra-argsin order to prevent errors during the node bootstrap process. You must remove the--container-runtime argument from all of your node creation workflows and build scripts","pub_date":null}}.It's important to note that Kubernetes 1.26 no longer supports CRI v1alpha2, which means the kubelet will not register the node if the container runtime doesn't support CRI v1. This effectively means that Kubernetes 1.26 doesn't support containerd minor version 1.5 and earlier. You need to upgrade to containerd version 1.6.0 or later before you upgrade any nodes to Kubernetes 1.26. This also applies to any other container runtimes that only support the v1alpha2-11.26no longer supports CRIv1alpha2. This results in the kubelet no longer registering the node if the container runtime doesn't support CRI v1. This also means that Kubernetes 1.26doesn't support containerd minor version1.5and earlier. If you're using containerd, you need to upgrade to containerd version1.6.0or later before you upgrade any nodes to Kubernetes1.26. You also need to upgrade any other container runtimes that only support the v1alpha2. For more information, defer to the container runtime vendor. By default, Amazon Linux and Bottlerocket AMIs include containerd version 1.6.6","pub_date":null}}`.
Relevant content
- asked 4 months ago
- Accepted Answerasked 10 months ago
- asked a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 months ago
- AWS OFFICIALUpdated 9 months ago