Closed neolit123 closed 1 year ago
How about adding the new label to https://kubernetes.io/docs/reference/kubernetes-api/labels-annotations-taints/ ?
not long ago these labels were made deployer specific and we cannot add them as part of the core API docs: https://github.com/kubernetes/enhancements/blob/143c03f0af52c47eab48ec54144dab6bcc86c98d/keps/sig-architecture/2019-07-16-node-role-label-use.md#use-of-node-rolekubernetesio-labels
The website documents more than the core API, and the point of the language seems like a good point to reconsider what's documented.
As I understand it, that KEP strongly advocated for writing sample manifests and other documentation that relies on these labels being used. I'd expect that documenting the existence of that label, with caveats, could be OK. Anyway, I'm happy to revisit this after this issue at hand gets fixed.
/wg naming
Concrete proposal here? https://groups.google.com/d/msgid/kubernetes-sig-cluster-lifecycle/CAGDbWi9_2m3GPE3GTkbwU-qsaeV7XvzhUaHP%3DC0Guvk3zM5OFg%40mail.gmail.com
What's next for this?
after the recent discussions at wg-naming i saw no objections around allowing maintainers to follow the established k8s deprecation policies for similar changes. thus, i think we can proceed with the KEP for 1.20 as outlined in the OP here.
In the KEP that follows from this, I would emphasize when explaining the motivation Kubernetes uses the term “control plane” (note: no dash when used in running text) to have pretty much the same meaning. Plus of course the word “master” in this context implies “slave” is linked directly to human rights abuses.
node-role.kubernetes.io/control-plane
feels like the obvious replacement.
NOTE: KEP draft is here: https://docs.google.com/document/d/1kPs_zFconMU83LCOfBr_xKXfghn3y9VLLrTUSlCAf4s/edit#
Thank you for writing this up! +1 This looks plenty detailed enough to move to a KEP PR when you're ready.
On Tue, Sep 29, 2020 at 11:27 AM Lubomir I. Ivanov notifications@github.com wrote:
NOTE: KEP draft is here:
https://docs.google.com/document/d/1kPs_zFconMU83LCOfBr_xKXfghn3y9VLLrTUSlCAf4s/edit#
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kubernetes/kubeadm/issues/2200#issuecomment-700898607, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHADK6U6JN2EKQGGL7OIEDSIIRKFANCNFSM4OIMHSOA .
In the KEP that follows from this, I would emphasize when explaining the motivation Kubernetes uses the term “control plane” (note: no dash when used in running text) to have pretty much the same meaning. Plus of course the word “master” in this context implies “slave” is linked directly to human rights abuses.
@sftim "master" actually is not the same as "control plane". historically "master" in the k8s project meant:
in kubeadm, we have usage of the first case and a rename to control-plane
has a clear intent.
i don't think we should include details around that or topics like "human rights" in the kubeadm KEP, so i'm defering this to the WG Naming group.
Is there prior art in any distributor tooling? I know Rancher's RKE uses etcd, control-plane, and worker node naming.
Is there prior art in any distributor tooling?
usage of the key node-role.kubernetes.io/master
can be found in both commercial (closed source) and open-source projects.
"enhancement" tracking issue: https://github.com/kubernetes/enhancements/issues/2067 KEP PR: https://github.com/kubernetes/enhancements/pull/2068
the plan for 1.20 is clear. for the later stages the feedback on the draft is now part of the KEP PR, but we can amend the proposal if needed.
the proposal merged: http://git.k8s.io/enhancements/keps/sig-cluster-lifecycle/kubeadm/2067-rename-master-label-taint/README.md 1.20 is the first stage of the rename. the plan for the later stages may change depending on feedback.
tracking issue at k/e: https://github.com/kubernetes/enhancements/issues/2067
PR for the 1.20 changes in kubeadm source code: https://github.com/kubernetes/kubernetes/pull/95382
PR for the 1.20 changes in kubeadm source code: kubernetes/kubernetes#95382
this is merging.
@neolit123 I believe all your sub-items on this task are done. Is this issue ready to be closed? :)
@celestehorgan hi, we should keep this open until the transition from master -> control-plane has fully completed in future releases.
if you'd like we can be removed the WG Naming label via /remove-wg naming
or just remove it from the WG Naming GitHub project tracking?
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale
/remove-lifecycle stale
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.
This bot triages issues and PRs according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
Would it be OK to mark this one as frozen?
There are action items for 1.24.
/remove-lifecycle stale
1.23 will be released soon, can we delete the corresponding logic in 1.24?
I will assign myself to work on this in 1.24. Thanks. On Dec 2, 2021 12:03, "Calvin Chen" @.***> wrote:
1.23 will be released soon, can we delete the corresponding logic in 1.24?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/kubeadm/issues/2200#issuecomment-984475670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACRATHNANYR47LNQWP2XCTUO5AA7ANCNFSM4OIMHSOA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
WIP PR for 1.24 (stage 2) is here: https://github.com/kubernetes/kubernetes/pull/107533
we need to send a fix for the e2e_kubeadm suite in the release-1.23 branch of k/k: https://github.com/kubernetes/kubernetes/pull/108128#issuecomment-1041822415 as this broke the kubeadm CP skew tests.
i will do that later today, probably.
just upgraded to 1.24. shouldn't the control-plane taint only be added to nodes that have a master taint if this is a "rename"? I had removed master taint from control plane nodes which suddenly became unschedulable.
that's a good point.. unfortunately that ended as an oversight on our side in this code
you are going to have to remove the new taint again.
that's a good point.. unfortunately that ended as an oversight on our side in this code
you are going to have to remove the new taint again.
do I read it correct that this will get added for all future upgrades too? as long as the code is there, at least for all 1.24.x?
the master
taint wasn't previously added during every upgrade.
No, we can backport a fix for the .1
No, we can backport a fix for the .1
1.25 PR https://github.com/kubernetes/kubernetes/pull/109840 1.24 backport https://github.com/kubernetes/kubernetes/pull/109841
"Kubernetes" also means "master". The whole project should be renamed to avoid this offensive word.
I did some googling and see that the inspiration for Kubernetes naming is from the meaning "helmsman", "pilot", "governor" , given that "[docker] containers were portrayed as shipping containers on a whale like ship" and Kubernetes then becomes an awesome name for a "container orchestration system"
@devnewton where did you get the "master" meaning for Kubernetes from.
The home to discuss naming issues was WG Naming (see, for example, its Google Group). That WG has now dissolved as the discussions it dealt with are settled.
We're replacing the English term “master” in some contexts due to its cultural links with oppression. WG Naming has not made any proposal to replace Greek terms. Please use this issue to discuss the topic: replacing a specific label. If folks want to start any new discussion on a different topic, this is not the right place.
1.25 PR is here (stage 3, as outlined in the OP): https://github.com/kubernetes/kubernetes/pull/110095
kubeadm: stop applying the "node-role.kubernetes.io/master:NoSchedule" taint to control plane nodes for new clusters. Remove the taint from existing control plane nodes during "kubeadm upgrade apply"
i think we are done here. thanks to everyone who helped.
i don't see anything remaining in k/website or k/k but please LMK if you find anything. PRs around stage 4 in various repos are welcome too.
@neolit123 We should document the old label (and taint) in https://kubernetes.io/docs/reference/labels-annotations-taints/, but mark it as deprecated.
In fact, I thought that https://github.com/kubernetes/website/pull/36173 put it back. Hmm.
@neolit123 We should document the old label (and taint) in https://kubernetes.io/docs/reference/labels-annotations-taints/, but mark it as deprecated.
could you please log an k/website ticket about with help wanted? seems simple enough to be completed by a new contributor.
In fact, I thought that kubernetes/website#36173 put it back. Hmm.
i don't know when was your change removed
KEP: http://git.k8s.io/enhancements/keps/sig-cluster-lifecycle/kubeadm/2067-rename-master-label-taint/README.md https://github.com/kubernetes/enhancements/issues/2067
1.20
[x] ADR for "master"->"control-plane": https://github.com/kubernetes/community/pull/5243
1.24
[x] fix retaint bug: https://github.com/kubernetes/kubernetes/pull/109841
1.25
1.26
old issue description text:
in the kubeadm meeting of 24.06.2020 we discussed the rename of the kubeadm "master" taint/label: https://docs.google.com/document/d/1ONcoy8bOw8SWPUwXxnKeRZST3lnUxYpUv4Y6466h9Ek/edit# https://youtu.be/tycqyzrkUr8
a new k8s working group is being created to oversee the removal of offensive language in k8s. kubeadm as part of the ecosystem must comply: https://github.com/kubernetes/community/pull/4884
remaining usage of "master" and other offensive language in kubeadm:
timeline (TO BE DEFINED):
replacement name (TO BE DEFINED):
action items before the work starts:
control-plane
.please subscribe to this ticket for updates.