Skip to content
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

Replace words 'master', 'slave' with something else #30284

Closed
jihoon-seo opened this issue Oct 28, 2021 · 9 comments
Closed

Replace words 'master', 'slave' with something else #30284

jihoon-seo opened this issue Oct 28, 2021 · 9 comments
Labels
language/en Issues or PRs related to English language needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/docs Categorizes an issue or PR as relevant to SIG Docs. triage/duplicate Indicates an issue is a duplicate of other open issue.

Comments

@jihoon-seo
Copy link
Member

This is a Feature Request

What would you like to be enhanced

Replace words 'master', 'slave' with something else.

For example, in https://kubernetes.io/docs/tutorials/stateless-application/guestbook/ ,
the terms 'redis-leader' and 'redis-follower' are used.

Why is this needed
It seems good to avoid to use the words like 'master' and 'slave'.

Comments

/language en

@jihoon-seo jihoon-seo added the kind/feature Categorizes issue or PR as related to a new feature. label Oct 28, 2021
@k8s-ci-robot k8s-ci-robot added language/en Issues or PRs related to English language needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Oct 28, 2021
@AvineshTripathi
Copy link
Contributor

AvineshTripathi commented Oct 28, 2021

@jihoon-seo going throught the docs I feel the same we should avoid using these words and should look for alternatives also I wondering if the label kind/feature is appropriate for this issue

@shannonxtreme
Copy link
Contributor

Thank you for this issue, Jihoon. A quick search for "master" alone shows 72 results across 39 files. We should review and fix where applicable.

72 results - 39 files

Git • kubernetes/website/content/en/docs/concepts/architecture/nodes.md:
  321  The reason these policies are implemented per availability zone is because one
  322: availability zone might become partitioned from the master while the others remain
  323  connected. If your cluster does not span multiple cloud provider availability zones,

Git • kubernetes/website/content/en/docs/concepts/cluster-administration/manage-deployment.md:
  170  
  171: while the Redis master and slave would have different `tier` labels, and perhaps even an additional `role` label:
  172  

Git • kubernetes/website/content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md:
  171  | No additional service to run; CRDs are handled by API server. | An additional service to create and that could fail. |
  172: | No ongoing support once the CRD is created. Any bug fixes are picked up as part of normal Kubernetes Master upgrades. | May need to periodically pickup bug fixes from upstream and rebuild and update the Aggregated API server. |
  173  | No need to handle multiple versions of your API; for example, when you control the client for this resource, you can upgrade it in sync with the API. | You need to handle multiple versions of your API; for example, when developing an extension to share with the world. |

Git • kubernetes/website/content/en/docs/concepts/security/controlling-access.md:
  141  
  142:       - is intended for testing and bootstrap, and for other components of the master node
  143          (scheduler, controller-manager) to talk to the API

Git • kubernetes/website/content/en/docs/concepts/services-networking/endpoint-slices.md:
  33  resource, those resources could get quite large. That affected the performance
  34: of Kubernetes components (notably the master control plane) and resulted in
  35  significant amounts of network traffic and processing when Endpoints changed.

Git • kubernetes/website/content/en/docs/concepts/services-networking/service.md:
  1249  As an example, consider the image processing application described above.
  1250: When the backend Service is created, the Kubernetes master assigns a virtual
  1251  IP address, for example 10.0.0.1.  Assuming the Service port is 1234, the

Git • kubernetes/website/content/en/docs/concepts/storage/persistent-volumes.md:
  66  
  67: A user creates, or in the case of dynamic provisioning, has already created, a PersistentVolumeClaim with a specific amount of storage requested and with certain access modes. A control loop in the master watches for new PVCs, finds a matching PV (if possible), and binds them together. If a PV was dynamically provisioned for a new PVC, the loop will always bind that PV to the PVC. Otherwise, the user will always get at least what they asked for, but the volume may be in excess of what was requested. Once bound, PersistentVolumeClaim binds are exclusive, regardless of how they were bound. A PVC to PV binding is a one-to-one mapping, using a ClaimRef which is a bi-directional binding between the PersistentVolume and the PersistentVolumeClaim.
  68  

Git • kubernetes/website/content/en/docs/concepts/workloads/controllers/job.md:
  638  One example of this pattern would be a Job which starts a Pod which runs a script that in turn
  639: starts a Spark master controller (see [spark example](https://github.com/kubernetes/examples/tree/master/staging/spark/README.md)), runs a spark
  640  driver, and then cleans up.

Git • kubernetes/website/content/en/docs/contribute/generate-ref-docs/contribute-upstream.md:
  114  
  115: The output shows that you are on the master branch, and that the `types.go`
  116  source file has been modified:

  160  [pull request](https://help.github.com/articles/creating-a-pull-request/) to the
  161: master branch of the
  162  [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) repository.

  181  
  182: In the preceding section, you edited a file in the master branch and then ran scripts
  183  to generate an OpenAPI spec and related files. Then you submitted your changes in a pull request
  184: to the master branch of the kubernetes/kubernetes repository. Now suppose you want to backport
  185: your change into a release branch. For example, suppose the master branch is being used to develop
  186  Kubernetes version {{< skew latestVersion >}}, and you want to backport your change into the

  215  
  216: At this point, both the master branch and the release-{{< skew prevMinorVersion >}} branch have your updated `types.go`
  217  file and a set of generated files that reflect the change you made to `types.go`. Note that the
  218  generated OpenAPI spec and other generated files in the release-{{< skew prevMinorVersion >}} branch are not necessarily
  219: the same as the generated files in the master branch. The generated files in the release-{{< skew prevMinorVersion >}} branch
  220: contain API elements only from Kubernetes {{< skew prevMinorVersion >}}. The generated files in the master branch might contain
  221  API elements that are not in {{< skew prevMinorVersion >}}, but are under development for {{< skew latestVersion >}}.

Git • kubernetes/website/content/en/docs/contribute/generate-ref-docs/kubectl.md:
  104  is to change one or more comments in the kubectl source code. Make the change in your
  105: local kubernetes/kubernetes repository, and then submit a pull request to the master branch of
  106  [github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes).

  115  
  116: Your change is now in the master branch, which is used for development of the next
  117  Kubernetes release. If you want your change to appear in the docs for a Kubernetes

  120  
  121: For example, suppose the master branch is being used to develop Kubernetes
  122  {{< skew currentVersion >}}

Git • kubernetes/website/content/en/docs/reference/command-line-tools-reference/kube-apiserver.md:
  633  <tr>
  634: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs or OpenID Discovery).</p></td>
  635  </tr>

  717  <tr>
  718: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>If non-zero, the Kubernetes master service (which apiserver creates/maintains) will be of type NodePort, using this as the value of the port. If zero, the Kubernetes master service will be of type ClusterIP.</p></td>
  719  </tr>

  787  <tr>
  788: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>DEPRECATED: the namespace from which the Kubernetes master services should be injected into pods.</p></td>
  789  </tr>

Git • kubernetes/website/content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md:
  560  <tr>
  561: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Path to kubeconfig file with authorization and master location information.</p></td>
  562  </tr>

  588  <tr>
  589: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.</p></td>
  590  </tr>

  676  <tr>
  677: <td colspan="2">--master string</td>
  678  </tr>

Git • kubernetes/website/content/en/docs/reference/command-line-tools-reference/kube-proxy.md:
  307  <tr>
  308: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Path to kubeconfig file with authorization information (the master location can be overridden by the master flag).</p></td>
  309  </tr>

  367  <tr>
  368: <td colspan="2">--master string</td>
  369  </tr>

Git • kubernetes/website/content/en/docs/reference/command-line-tools-reference/kube-scheduler.md:
  231  <tr>
  232: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>DEPRECATED: path to kubeconfig file with authorization and master location information. This parameter is ignored if a config file is specified in --config.</p></td>
  233  </tr>

  252  <tr>
  253: <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.</p></td>
  254  </tr>

  347  <tr>
  348: <td colspan="2">--master string</td>
  349  </tr>

Git • kubernetes/website/content/en/docs/reference/command-line-tools-reference/kubelet.md:
  795  <tr>
  796: <td></td><td style="line-height: 130%; word-wrap: break-word;">The namespace from which the kubernetes master services should be injected into pods. (DEPRECATED: This flag will be removed in a future version.)</td>
  797  </tr>

Git • kubernetes/website/content/en/docs/reference/config-api/kube-proxy-config.v1alpha1.md:
  694  <td>
  695:    renewDeadline is the interval between attempts by the acting master to
  696  renew a leadership slot before it stops leading. This must be less

Git • kubernetes/website/content/en/docs/reference/config-api/kube-scheduler-config.v1beta1.md:
  961  <td>
  962:    renewDeadline is the interval between attempts by the acting master to
  963  renew a leadership slot before it stops leading. This must be less

Git • kubernetes/website/content/en/docs/reference/config-api/kube-scheduler-config.v1beta2.md:
  170  <td>
  171:    renewDeadline is the interval between attempts by the acting master to
  172  renew a leadership slot before it stops leading. This must be less

Git • kubernetes/website/content/en/docs/reference/config-api/kubelet-config.v1beta1.md:
  481     nodeStatusReportFrequency is the frequency that kubelet posts node
  482: status to master if node status does not change. Kubelet will ignore this
  483  frequency and post node status immediately if any change is detected. It is

Git • kubernetes/website/content/en/docs/reference/kubectl/cheatsheet.md:
  345  kubectl top node my-node                                              # Show metrics for a given node
  346: kubectl cluster-info                                                  # Display addresses of the master and services
  347  kubectl cluster-info dump                                             # Dump current cluster state to stdout

Git • kubernetes/website/content/en/docs/reference/kubectl/docker-cli-to-kubectl.md:
  359  ```
  360: Kubernetes master is running at https://203.0.113.141
  361  KubeDNS is running at https://203.0.113.141/api/v1/namespaces/kube-system/services/kube-dns/proxy

Git • kubernetes/website/content/en/docs/reference/kubectl/overview.md:
  114  `certificate`    | `kubectl certificate SUBCOMMAND [options]` | Modify certificate resources.
  115: `cluster-info`    | `kubectl cluster-info [flags]` | Display endpoint information about the master and services in the cluster.
  116  `completion`    | `kubectl completion SHELL [options]` | Output shell completion code for the specified shell (bash or zsh).

Git • kubernetes/website/content/en/docs/reference/setup-tools/kubeadm/implementation-details.md:
  424  
  425: This is split into discovery (having the Node trust the Kubernetes Master) and TLS bootstrap (having the Kubernetes Master trust the Node).
  426  

Git • kubernetes/website/content/en/docs/reference/using-api/deprecation-policy.md:
  49  These rules are enforced between official releases, not between
  50: arbitrary commits to master or release branches.
  51  

Git • kubernetes/website/content/en/docs/setup/production-environment/tools/kops.md:
  196  * Edit your node instance group: `kops edit ig --name=useast1.dev.example.com nodes`
  197: * Edit your master instance group: `kops edit ig --name=useast1.dev.example.com master-us-east-1c`
  198  

Git • kubernetes/website/content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md:
  872     to restart `flanneld.exe` or you can copy the files over manually from
  873:    `/run/flannel/subnet.env` on the Kubernetes master to `C:\run\flannel\subnet.env`
  874     on the Windows worker node and modify the `FLANNEL_SUBNET` row to a different

Git • kubernetes/website/content/en/docs/tasks/access-application-cluster/access-cluster.md:
  266  ```
  267: Kubernetes master is running at https://104.197.5.247
  268  elasticsearch-logging is running at https://104.197.5.247/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy

Git • kubernetes/website/content/en/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md:
  95      USER       PID  ...  STAT START   TIME COMMAND
  96:     root         1  ...  Ss   21:12   0:00 nginx: master process nginx -g daemon off;
  97  

Git • kubernetes/website/content/en/docs/tasks/administer-cluster/access-cluster-services.md:
  66  ```
  67: Kubernetes master is running at https://104.197.5.247
  68  elasticsearch-logging is running at https://104.197.5.247/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy

Git • kubernetes/website/content/en/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md:
  190  
  191: ### Option 3: Delete the dns-autoscaler manifest file from the master node
  192  

  194  [Addon Manager](https://git.k8s.io/kubernetes/cluster/addons/README.md),
  195: and you have write access to the master node.
  196  
  197: Sign in to the master node and delete the corresponding manifest file.
  198  The common path for this dns-autoscaler is:

Git • kubernetes/website/content/en/docs/tasks/administer-cluster/highly-available-control-plane.md:
  223  
  224: [Automated HA master deployment - design doc](https://git.k8s.io/community/contributors/design-proposals/cluster-lifecycle/ha_master.md)
  225  

Git • kubernetes/website/content/en/docs/tasks/administer-cluster/securing-a-cluster.md:
  201  {{< caution >}}
  202: Allowing other components within the cluster to access the master etcd instance with
  203  read or write access to the full keyspace is equivalent to granting cluster-admin access. Using
  204: separate etcd instances for non-master components or using etcd ACLs to restrict read and write
  205  access to a subset of the keyspace is strongly recommended.

Git • kubernetes/website/content/en/docs/tasks/configure-pod-container/share-process-namespace.md:
  59          1 root      0:00 /pause
  60:         8 root      0:00 nginx: master process nginx -g daemon off;
  61         14 101       0:00 nginx: worker process

  73      1 root      0:00 /pause
  74:     8 root      0:00 nginx: master process nginx -g daemon off;
  75     15 root      0:00 sh

Git • kubernetes/website/content/en/docs/tasks/configure-pod-container/translate-compose-kubernetes.md:
   48  
   49: Installing using `go get` pulls from the master branch with the latest development changes.
   50  

  160     service/frontend created
  161:    service/redis-master created
  162     service/redis-slave created
  163     deployment.apps/frontend created
  164:    deployment.apps/redis-master created
  165     deployment.apps/redis-slave created

  321  WARN [foo] Service cannot be created because of missing port.
  322: INFO OpenShift Buildconfig using [email protected]:rtnpro/kompose.git::master as source.
  323  INFO OpenShift file "foo-deploymentconfig.yaml" created     

  362  deployment.extensions/frontend                    1             1             1            1           4m
  363: deployment.extensions/redis-master                1             1             1            1           4m
  364  deployment.extensions/redis-slave                 1             1             1            1           4m

  368  service/kubernetes           ClusterIP          10.0.0.1      <none>        443/TCP      13d
  369: service/redis-master         ClusterIP          10.0.202.43   <none>        6379/TCP     4m
  370  service/redis-slave          ClusterIP          10.0.1.85     <none>        6379/TCP     4m

  395  INFO Successfully created service: frontend       
  396: INFO Successfully created service: redis-master   
  397  INFO Successfully created deployment: redis-slave

  413  dc/frontend        0                                     1             0          config,image(frontend:v4)
  414: dc/redis-master    0                                     1             0          config,image(redis-master:e2e)
  415  dc/redis-slave     0                                     1             0          config,image(redis-slave:v1)

  417  svc/frontend       172.30.46.64                          <none>        80/TCP     8s
  418: svc/redis-master   172.30.144.56                         <none>        6379/TCP   8s
  419  svc/redis-slave    172.30.75.245                         <none>        6379/TCP   8s

  421  is/frontend        172.30.12.200:5000/fff/frontend                     
  422: is/redis-master    172.30.12.200:5000/fff/redis-master                 
  423  is/redis-slave     172.30.12.200:5000/fff/redis-slave    v1  

  435  kompose --file docker-guestbook.yml down
  436: INFO Successfully deleted service: redis-master   
  437  INFO Successfully deleted deployment: redis-master

Git • kubernetes/website/content/en/docs/tasks/debug-application-cluster/debug-cluster.md:
  81      - Results
  82:       - partition A thinks the nodes in partition B are down; partition B thinks the apiserver is down. (Assuming the master VM ends up in partition A.)
  83    - Kubelet software fault

Git • kubernetes/website/content/en/docs/tasks/debug-application-cluster/debug-service.md:
  509  ```none
  510: root  4194  0.4  0.1 101864 17696 ?    Sl Jul04  25:43 /usr/local/bin/kube-proxy --master=https://kubernetes-master --kubeconfig=/var/lib/kube-proxy/kubeconfig --v=2
  511  ```

Git • kubernetes/website/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md:
  38  [kubelet](/docs/reference/command-line-tools-reference/kubelet/) for CPU and 
  39: memory usage. The kubelet acts as a bridge between the Kubernetes master and 
  40  the nodes, managing the pods and containers running on a machine. The kubelet 

Git • kubernetes/website/content/en/docs/tasks/manage-daemon/update-daemon-set.md:
  180  If `.spec.minReadySeconds` is specified in the DaemonSet, clock skew between
  181: master and nodes will make DaemonSet unable to detect the right rollout
  182  progress.

Git • kubernetes/website/content/en/docs/tasks/run-application/run-replicated-stateful-application.md:
  212  If so, it waits for `mysqld` to be ready and then executes the
  213: `CHANGE MASTER TO` and `START SLAVE` commands with replication parameters
  214  extracted from the XtraBackup clone files.

/sig docs
/triage accepted
/priority important-longterm

@k8s-ci-robot k8s-ci-robot added sig/docs Categorizes an issue or PR as relevant to SIG Docs. triage/accepted Indicates an issue or PR is ready to be actively worked on. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Oct 28, 2021
@niteshseram
Copy link
Contributor

niteshseram commented Oct 30, 2021

I think leader ad follower sounds good to me. But there are other alternative names like conductor and follower, primary and standby, source and sink, primary and replica.

@shannonxtreme
Copy link
Contributor

It depends on the context too. Where applicable, replace Kubernetes master with control plane. Primary/secondary is a good substitute for controllers with that master/slave terminology.

Worth doing multiple smaller PRs for this so that instances can be discussed and reviewed.

@jihoon-seo
Copy link
Member Author

Thank you all for your comments!

@AvineshTripathi

I wondering if the label kind/feature is appropriate for this issue

This label was added because I used the "Feature Request" issue template.
Let's remove this! 😊

/remove-kind feature

@k8s-ci-robot k8s-ci-robot removed the kind/feature Categorizes issue or PR as related to a new feature. label Nov 1, 2021
@jihoon-seo
Copy link
Member Author

This issue is a duplicate of issue #21621.
/triage duplicate

@k8s-ci-robot k8s-ci-robot added the triage/duplicate Indicates an issue is a duplicate of other open issue. label Nov 30, 2021
@sftim
Copy link
Contributor

sftim commented Dec 3, 2021

/close
as a duplicate

@sftim sftim closed this as completed Dec 3, 2021
@sftim
Copy link
Contributor

sftim commented Dec 3, 2021

/remove-triage accepted

@k8s-ci-robot k8s-ci-robot removed the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Dec 3, 2021
@k8s-ci-robot
Copy link
Contributor

@jihoon-seo: This issue is currently awaiting triage.

SIG Docs takes a lead on issue triage for this website, but any Kubernetes member can accept issues by applying the triage/accepted label.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
language/en Issues or PRs related to English language needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/docs Categorizes an issue or PR as relevant to SIG Docs. triage/duplicate Indicates an issue is a duplicate of other open issue.
Projects
None yet
Development

No branches or pull requests

6 participants