Description
This is a Bug Report
Problem:
Issue #31972 and the related PR documented that setting the label
node-role.kubernetes.io/control-plane
is a privileged operation, and that nodes cannot set that label themselves.
I'm concerned about the sentence:
The admission controller documentation covers what labels are permitted to be used with the kubelet
--node-labels
option.
in https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
- Rather than refer to documentation in plain text, it's better to either hyperlink to that documentation or to summarize it. I would use an inline hyperlink here; it may not otherwise be obvious to all readers where they can find that documentation.
- The documentation for NodeRestriction may accurate but even if so, it is hard to follow. It could use an update, and especially so now that we're referring readers there.
- There's ambiguity with the language about whether we're calling labels “restricted” or “reserved”. According to the documentation for NodeRestriction (the admission controller), kubelets can label themselves as
node-role.kubernetes.io/control-plane
on themselves, but that a future version of Kubernetes may disallow this. However, https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/ implies that a kubelet is forbidden from setting that label on its Node object.
Proposed Solution:
Update those pages to be clear about the behavior and about which labels the kubelet can / can't / might be allowed to set.
Pages to Update:
https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
Kubernetes Version:
v1.23 (at the time of filing)
Additional Information:
/language en
/kind bug
Metadata
Metadata
Assignees
Labels
Type
Projects
Status