Master role renamed as control-plane in OpenShift 4.12

Solution Verified - Updated

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,master

    NAME                       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.

Components
Category

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.