-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Re-name Master Components to a more inclusive synonym #6525
Comments
@jbpivotal 👋 Thanks for the proposal and the supporting documentation. I agree that it's a priority change. |
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: |
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" 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 |
@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. 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 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? |
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 |
This is a...
Problem:
The term
Master
inMaster 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:
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/
The text was updated successfully, but these errors were encountered: