-
Notifications
You must be signed in to change notification settings - Fork 469
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set containerd
as default container runtime for k8s>=1.22
#4222
Set containerd
as default container runtime for k8s>=1.22
#4222
Conversation
An empty `cri.name` field for a worker pool means all nodes are configured with `docker` as the container runtime. When users upgrade their shoots to k8s>=1.22 (or create new ones) the default is changed to `containerd`. This also means that starting with k8s 1.22 the shoot object will always contain an explicit configuration of the container runtime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one topic that I think we should discuss.
In the Cloud Profile, each machine version can specify the supporter CRs and CRIs.
Defaulting to containerd for OS name/version that does not support containerd should result in a shoot validation failure later, hence I think the static validation is fine, but wanted to mention this as I might be wrong.
You're absolutely correct, this is what happens when you (or the defaulting mechanism implemented here) is setting
It doesn't quite hint at how to resolve this (use a MachineImageVersion which supports the selected container runtime or switch to one of the supported runtimes of your MachineImageVersion). Maybe we could add a hint to the CloudProfile's MachineImageVersion as the source of "supported runtimes" in the error message, wdyt? |
Also do this for v1alpha1, not only v1beta1.
Yes, this makes sense. The error message can return the list of the supported runtimes for the selected OS/version. |
I think this is what the error message already does, for example
When I first encountered this issue, it was hard for me to understand that this is due to the MachineImageVersion I'm using. Therefore, I was thinking to add something like "Selected machine image |
/assign @vpnachev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Just a small suggestion for the for loop.
e98bc38
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
How to categorize this PR?
/kind api-change
What this PR does / why we need it:
An empty
cri.name
field for a worker pool means all nodes are configured withdocker
as the container runtime. When users upgrade their shoots to k8s>=1.22 (or create new ones) the default is changed tocontainerd
. This also means that starting with k8s 1.22 the shoot object will always contain an explicit configuration of the container runtime.Which issue(s) this PR fixes:
related #4110
Release note:
/cc @BeckerMax