This is a...
Problem:
The term Master in Master Components is potentially offensive to people of color and women, and I suggest we use a more inclusive synonym.
Proposed Solution:
Suggest renaming to "Primary Components" or "Leader Components"
From cmu.edu:
The word "master", like "mistress", originally meant one
exerting control, as over a household. "Mistress" is now more
commonly used to mean lover and sometimes teacher. Master
is now used in a variety of ways, but still largely with the
sense of power and control and, implicitly, maleness.
From django:
replaced occurrences of master/slave terminology with leader/follower
From drupal.org:
Replace "master/slave" terminology with "primary/replica"
Page to Update:
http://kubernetes.io/docs/concepts/overview/components/
@jbpivotal 👋 Thanks for the proposal and the supporting documentation. I agree that it's a priority change.
/cc @sarahnovotny, @parispittman
I will take this to the next Contributor Experience meeting on Jan 31st at 530pm UTC. We will need to get this in front of the k-dev crowd as well.
Agree with Zach, thanks for bringing this up @jbpivotal!
Another historical point of reference: https://docs.google.com/document/d/1P8_4wdk29I6NoVTjbFkRl05-tfxV9PY4WLoRNvExupM/edit#heading=h.9g7fqjh6652v
Mesos originally had "masters and slaves" and transitioned to "masters and agents". So, "masters" was retained but the most offensive term (according to most who chimed in at the time) was removed.
Glad to, @zacharysarah and @parispittman. Thanks for the support.
"Control Plane" is widely used as an alternative naming for "Master" in Kubernetes, so we may consider this naming option.
cc @kubernetes/sig-architecture-bugs
I usually use "control plane".
Minion->node rename:
https://github.com/kubernetes/kubernetes/issues/1111
cc @kubernetes/steering-committee
I like control plane a lot also. But I think that this is going to be a long effort and I'd love to get more perspectives from around the project. This came up in ContribX and the plan was to talk about it a bit in SIG-architecture.
I'm not opposed to this, but someone needs to drive all the touchpoints to make this change which may be non-trivial. Distributed systems literature is clearly the source here and it goes back 30+ years, not justifying it, but taxonomy refs do matter. If we change it, it should match other literature.
I'm generally ok with "control plane", master is too imprecise anyway.
To tie this back to a general problem we have had - we don't have a single component that controls everything else, we don't have a single set of machines. Instead we have "run levels" (an emerging way of describing that various core components depend on other core components being set first), and we need to separate out the things that are monolithic into individual pieces.
The thinking coming out of SIG-architecture:
Complicating this is that pretty much every github link has the word "master" in it so simply grepping the code base is somewhat difficult.
Also, the preferred replacement seems to be either "control plane" or a more specific aspect of the control plane as appropriate (API server, etcd, etc). But that term isn't final. We want to socialize this at the community meeting.
The github links with "master" next to them can be greppable with some exclusion as they're preceded by "tree/", "blob/", "raw/", etc. We should be able to define and share a solid regexp that trims out those git links for helper folks searching for areas to clean.
Examples of more specific/precise things we will need terms for:
In our environment we refer to members of the control plane as Controllers and other nodes as Workers. "Controller" is an overloaded term here, so probably not ideal to adopt more widely, but Coordinators, Centers, or Orchestrators might work.
Edit to add: Captains?
I don't like "leader" only because (and this may be just my skew on it) to me that implies a node elected by a pool of nodes to do something, as in etcd.
"Control plane" seems a little unwieldy to me, as do the various polysyllabic terms like "coordinator".
I like "controller" best since that's a term people already recognize and is used for an analogous machine role in e.g. Active Directory. Yes, it's slightly overloaded in this project, but context would help a lot. I'm hard-pressed to come up with a situation where "controller" is a) ambiguous b) in a context where it matters that c) isn't easily fixed with minor rewording.
For reference, in the GKE world (hi! GKE SRE here), we use "masters" and "control plane" fairly interchangeably. For the individual components of the control plane, we just call them by their name (apiserver, controller manager, scheduler...), or collectively "control plane pods."
"Controller" would be nice as a shorter thing to say, but it's already heavily overloaded, and my personal experience at Google (where overloading terms is basically a sport at this point), if a term is too overloaded, people don't use it, or qualify it to the point where it's as/more verbose as "control plane."
Tongue in cheek: take a page from Starcraft, and call it the Overmind. A hive intelligence is not _too_ stretched an analogy for k8s.
And following along that theme of hive minds, taking a page from the Borg: the Kubernetes Queen :)
May I suggest using "Supervisor components". IMHO Supervisor is a great stand-in for Master.
I applaud this so very much!!!
I vote cluster control plane
A couple quick comments (sorry):
I think Control Plane makes sense to me.
"Control Plane" is a widely adopted term ...
Control plane is a term used in Software Defined Networking with "Controller" name used for module/s that manage the data plane. In the NFV domain, "Orchestrator" is the name used for the kind of things the K8S master does. Considering that k8s already uses "controllers", adopting the terms of control plane and even orchestrator will align it with the terminologies used elsewhere.
"wheelhouse components"
You should rename a "master" branch as well.
IME people use "control plane" to refer to some components that are not generally considered part of the "master" e.g. kubelet and kube-proxy. So I don't think it's a good substitute for "master."
Seriously as with other instances of that problem, for me it looks completely retarded and ridicolous
Whoever is offended by terms that have been used in IT for over 30 years, has to rethink it, master and slave are the correct term if one part of the software or hardware is completely controlled by another part of the software or hardware.
@tizbac can I advise you don't use words like "retarded" in a public forum.
I'd use "ill advised" then
Really. This richly deserves a "not a technical requirement/NOTABUG/WONTFIX" I cant envision a single man/hour wasted on this useless drivel.
No please, not again.
Please don't waste the time fo N+1 people into a non real issue.
I'd really really go an poll the majority of people working in CS/IT asking if _ANYONE_ has _EVER_ felt discriminated by the naming master/slave. My speculation is that the % of "offended" people would be less than 1%.
This term is _NOT_ related whatsoever from the "master race" concept or the "slave trade", as pointed out by others the master/slave nomenclature has been used in IT for _decades_ to indicate that a specific part of a system id dependant on another part, if you see in any way a connection on the white masters and $skin-color slaves, I have a bad news for you: you are the racist, because you imply that this master/slave concept applies to humans. The fact that someone believed it in the past, doesn't make it real, and it's not changing the present that you erase the mistakes of the past.
Calling *ware components master/slave has never made anyone racist. Ever.
Sorry for this small rant, but I've seen far to many projects wasting time on this _non issue_ in the past, creating long/eternal threads just to settle a damn nomenclature issue which no one was offended in the first place.
PS: The fact that this issue is raised and discussed purely by white caucasian men should make you think a little...
I can't believe this. Really. I can't. This is ridiculous
Am I the only one finding this ridiculous?
Before this discussion goes too much further, I'd like to remind everyone that this (and all kubernetes community forums) are covered by the CNCF code of conduct:
https://github.com/https://github.com/cncf/foundation/blob/master/code-of-conduct.mdcncfhttps://github.com/cncf/foundation/blob/master/code-of-conduct.md/foundation/blob/master/code-of-conduct.mdhttps://github.com/cncf/foundation/blob/master/code-of-conduct.md
I expect everyone to keep this discussion respectful and professional.
Thank you in advance for respecting our community and _all_ of its members.
--brendan
From: Matteo Croce notifications@github.com
Sent: Monday, February 5, 2018 5:42:59 AM
To: kubernetes/website
Cc: Brendan Burns; Team mention
Subject: Re: [kubernetes/website] Re-name Master Components to a more inclusive synonym (#6525)
Am I the only one finding this ridiculous?
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fwebsite%2Fissues%2F6525%23issuecomment-363087859&data=02%7C01%7Cbburns%40microsoft.com%7C62e06796d8314f2a14cb08d56c9e5f4f%7Cee3303d7fb734b0c8589bcd847f1c277%7C1%7C0%7C636534349822515123&sdata=tOyp%2B%2FRqIB1uA0lDbnSjsgnspv72SnGv4sNcShRBuTY%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFfDglWlEshMxbnO80MKd7EOPHbOcOeRks5tRwVjgaJpZM4Qxu2C&data=02%7C01%7Cbburns%40microsoft.com%7C62e06796d8314f2a14cb08d56c9e5f4f%7Cee3303d7fb734b0c8589bcd847f1c277%7C1%7C0%7C636534349822515123&sdata=auq6kLoFl6Kt9zNyqGnVKiq%2FxAzlJNnXlwZZW6LOIpI%3D&reserved=0.
Is it possible to express contrariety seeing so much time and word wasted for such a worthless problem? Master and server are two technical words and nobody, really, nobody with a grain of salt could seriously regard this as a real problem
This conversation is no longer constructive and respectful. I am closing this issue.
We have already started to move towards more specific terms for technical reasons. That terminology will be discussed further in SIG Architecture.
/wg naming
Most helpful comment
"Control Plane" is widely used as an alternative naming for "Master" in Kubernetes, so we may consider this naming option.