amazon-eks-ami
amazon-eks-ami copied to clipboard
Ability to specify containerd and runc releases for the AMI
Kubernetes CI system uses specific versions of containerd and runc:
- https://github.com/search?q=repo%3Akubernetes%2Ftest-infra+CONTAINERD_VERSION&type=code
- https://github.com/search?q=repo%3Akubernetes%2Ftest-infra+RUNC_VERSION&type=code
Very often folks in the kubernetes community use these versions that are specifically used in the CI jobs as they are "well tested" and hence have known reliability characteristics for use with specific versions of kubernetes.
We should have an opinion on what is the default in the AMI and also allow folks to customize the versions that they want if they choose to deviate from the defaults we picked in this repository (which may be the same or different from what's in upstream k8s)
Today we are at the mercy of what version of containerd/runc is available in the distro.
You can also see image-builder repository allow defaults and customization:
- https://github.com/search?q=repo%3Akubernetes-sigs%2Fimage-builder%20containerd&type=code
- https://cs.k8s.io/?q=containerd_url&i=nope&files=&excludeFiles=&repos=kubernetes-sigs/image-builder
Note that there is one more indirection here ... containerd
folks use a specific version of runc
as well that they test/recommend:
- https://github.com/containerd/containerd/blob/main/script/setup/runc-version
the download in image-builder uses a special url for downloading tar.gz which has this specific version of runc as well (hence you don't see entries in image-builder for runc)
In total, we need to have an opinion of what we ship with meaningful defaults, which we need to test thoroughly as well as let folks using this repo to customize their own be able to override as well.