Master role renamed as control-plane in OpenShift 4.12
Environment
- Red Hat OpenShift Container Platform (RHOCP)
- 4.12 and above
- Red Hat OpenShift Service on AWS
Issue
-
The master nodes are labeled as
control-plane,masterNAME STATUS ROLES AGE VERSION master-0.ocp.example.net Ready control-plane,master 47d v1.25.4+a34b9e9 master-1.ocp.example.net Ready control-plane,master 47d v1.25.4+a34b9e9 master-2.ocp.example.ent Ready control-plane,master 47d v1.25.4+a34b9e9 ...
Resolution
Disclaimer: Links contained herein to an external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or its entities, products or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.
The new control-plane label comes from a Kubernetes Enhancement Proposal (KEP) in the upstream Kubernetes project.
The Kubernetes project is moving away from the wording that is considered offensive. A new working group WG Naming was created to track this work, and the word master was declared as offensive. A proposal was formalized for replacing the word master with control-plane. This means it should be removed from source code, documentation, and user-facing configuration from Kubernetes and its sub-projects.
The current status of this KEP is Content from github.com is not included.implementable.
In a future OpenShift version, the control-plane role will be required. While no immediate action is required at this time, it is possible to manually add the label to the master nodes as explained in Inconsistency of node-role between newly created vs. long running OpenShift 4 clusters.
There is more information about this KEP in the following Kubernetes documentation: Content from github.com is not included.KEP-2067: Rename the kubeadm "master" label and taint.
Root Cause
Kubeadm applies a node-role label to its control plane Nodes. Currently this label key is node-role.kubernetes.io/master and it should be renamed to node-role.kubernetes.io/control-plane. Kubeadm also uses the same node-role as key for a taint it applies on control plane Nodes. This taint key should also be renamed to node-role.kubernetes.io/control-plane.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.