-
Notifications
You must be signed in to change notification settings - Fork 15.2k
docs: document kubelet cgroup driver detection from the runtime #42160
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
docs: document kubelet cgroup driver detection from the runtime #42160
Conversation
Document the KubeletCgroupDriverFromCRI feature gate. Also, add notes of this feature in parts of the documentation that describe cgroup driver configuration.
👷 Deploy Preview for kubernetes-io-vnext-staging processing.
|
|
/sig node |
sftim
left a comment
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.
Thanks
I've added feedback to align this with our style guide
content/en/docs/reference/command-line-tools-reference/feature-gates.md
Outdated
Show resolved
Hide resolved
content/en/docs/reference/command-line-tools-reference/feature-gates.md
Outdated
Show resolved
Hide resolved
content/en/docs/reference/command-line-tools-reference/feature-gates.md
Outdated
Show resolved
Hide resolved
content/en/docs/setup/production-environment/container-runtimes.md
Outdated
Show resolved
Hide resolved
content/en/docs/setup/production-environment/container-runtimes.md
Outdated
Show resolved
Hide resolved
content/en/docs/setup/production-environment/container-runtimes.md
Outdated
Show resolved
Hide resolved
content/en/docs/setup/production-environment/container-runtimes.md
Outdated
Show resolved
Hide resolved
content/en/docs/setup/production-environment/container-runtimes.md
Outdated
Show resolved
Hide resolved
content/en/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver.md
Outdated
Show resolved
Hide resolved
content/en/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver.md
Outdated
Show resolved
Hide resolved
f32795c to
b177d37
Compare
Co-authored-by: Tim Bannister <[email protected]>
b177d37 to
7e208b0
Compare
Thanks @sftim for the review. I incorporated the changes you suggested as a single commit. |
sftim
left a comment
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.
Looks good for docs.
Can we get a tech review from SIG Node?
|
|
/cc mrunalp |
mikebrow
left a comment
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.
see comments, cheers
| the `cgroupDriver` field under `KubeletConfiguration`, kubeadm defaults it to `systemd`. | ||
| {{< /note >}} | ||
|
|
||
| For Kubernetes v1.28 and later, with the `KubeletCgroupDriverFromCRI` |
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.
bit of a tldr issue I believe.. giving the instructions above for kubelet config driven and default if not configured.. then ending with 1.28 alpha feature gate info.
Suggest mentioning the feature gate above in direct association with the kubelet config steps / options. Something like unless the alpha level feature gate is set to automatically retrieve the appropriate cgroup driver from the runtime, additional configuration may be required...
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.
I'm a bit cautious on this ("advertising" too much) as this is an alpha feature and there are no released container runtime supporting this, yet. When we get to beta, sure. WDYT @sftim
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.
good point...
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.
We should document how Kubernetes behaves, even if the compatible runtimes don't exist on release day.
| When using kubeadm, manually configure the | ||
| [cgroup driver for kubelet](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/#configuring-the-kubelet-cgroup-driver). | ||
|
|
||
| Starting with v1.28 and later, you can enable automatic detection of the |
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.
| Starting with v1.28 and later, you can enable automatic detection of the | |
| Starting with Kubernetes v1.28 and later, you can enable automatic detection of the |
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.
Aside, but also a bit relevant:
I'm slightly wary of saying “and later” about alpha features that we can't prove will graduate to stable.
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.
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.
given the concern over skew "and later" comments perhaps.. for Kubernetes v1.2.8, you can..
| cgroup driver configuration of the kubelet (usually done via kubeadm) and CRI-O | ||
| in sync. | ||
|
|
||
| Starting with v1.28 and later, you can enable automatic detection of the |
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.
| Starting with v1.28 and later, you can enable automatic detection of the | |
| Starting with Kubernetes v1.28 and later, you can enable automatic detection of the |
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.
Fixed with In Kubernetes {{< skew currentVersion >}}
| In v1.22 and later, if the user does not set the `cgroupDriver` field under `KubeletConfiguration`, | ||
| kubeadm defaults it to `systemd`. | ||
|
|
||
| Starting with v1.28 and later, you can enable automatic detection of the |
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.
see tldr comment
|
Wording looks fine for alpha, what this really needs now is tech signoff. |
to that end for containerd .. I'm reviewing @marquiz impl in containerd containerd/containerd#8722, would like to see that merged before providing my signoff. Cheers! |
| the `cgroupDriver` field under `KubeletConfiguration`, kubeadm defaults it to `systemd`. | ||
| {{< /note >}} | ||
|
|
||
| In Kubernetes {{< skew currentVersion >}}, with the `KubeletCgroupDriverFromCRI` |
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.
Suppose we are in v1.29 now, the above line will be rendered into something like
"In Kubernetes 1.29, with the KubeletCgroupDriverFromCRI".
Is this statement still appropriate?
Suppose we are in v1.34 now and the feature gate has been GA'ed and removed,
the above line will be rendered into something like
"In Kubernetes 1.34, with the KubeletCgroupDriverFromCRI".
Is this statement still appropriate?
Clearly stating that this feature is in Alpha starting 1.28 is good enough.
Why do we use the skew shortcode the make this release number a moving target?
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.
I'm indifferent on this, can change it to v1.29. This (In Kubernetes {{< skew currentVersion >}}) was something that @sftim suggested in one of his earlier comments so I took it from there.
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.
Suppose we are in v1.34 now and the feature gate has been GA'ed and removed,
When we change Kubernetes, we should remove the docs. If we don't trust ourselves to do that, I would focus on fixing that lack of trust.
If we could trust the release docs process, I think this change would be fine.
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.
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.
Per #42160 (comment), let's follow the path of least risk to the release, at least for now.
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.
K, I changed this now to In Kubernetes v1.28, ... (not to Starting with v1.28 ... as per #42160 (comment))
| When using kubeadm, manually configure the | ||
| [cgroup driver for kubelet](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/#configuring-the-kubelet-cgroup-driver). | ||
|
|
||
| In Kubernetes {{< skew currentVersion >}}, you can enable automatic detection of the |
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.
Same as above.
In addition to the above confusion, using this skew shortcode makes it difficult
to remove contents that are no longer relevant in the future.
| cgroup driver configuration of the kubelet (usually done via kubeadm) and CRI-O | ||
| in sync. | ||
|
|
||
| In Kubernetes {{< skew currentVersion >}}, you can enable automatic detection of the |
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.
Same here.
| In v1.22 and later, if the user does not set the `cgroupDriver` field under `KubeletConfiguration`, | ||
| kubeadm defaults it to `systemd`. | ||
|
|
||
| In Kubernetes {{< skew currentVersion >}}, you can enable automatic detection of the |
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.
Same here.
|
ping @mikebrow the containerd implementation (containerd/containerd#8722) is now merged ping @sftim what's your take on using |
I very much like like timeless documentation, but I also like having the docs ready for release. I'm reluctantly OK with not using that shortcode if it unblocks approval. After the release, I could propose putting it back. |
sftim
left a comment
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
/approve
|
LGTM label has been added. DetailsGit tree hash: 81a58ecd287120b77b79111f9812be9dff4008cd |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sftim The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…autoconfig-dev-1.28 docs: document kubelet cgroup driver detection from the runtime
Documentation for KEP-4033.
Document the KubeletCgroupDriverFromCRI feature gate. Also, add notes of this feature in parts of the documentation that describe cgroup driver configuration.
Refs: