diff --git a/cluster.yml b/cluster.yml
index 211e6e6f89ba69247dc9d830bae23eebc2a2d0a2..761722f25aab0c699f4ebc4a7711c99723a4c771 100644
--- a/cluster.yml
+++ b/cluster.yml
@@ -65,7 +65,7 @@
   any_errors_fatal: "{{ any_errors_fatal | default(true) }}"
   roles:
     - { role: kubespray-defaults }
-    - { role: kubernetes/master, tags: master }
+    - { role: kubernetes/control-plane, tags: master }
     - { role: kubernetes/client, tags: client }
     - { role: kubernetes-apps/cluster_roles, tags: cluster-roles }
 
diff --git a/docs/vars.md b/docs/vars.md
index fef59728c0789f5cabc339bfea7817d3a601ff07..d6c4d45dbfdf18928b92dfabf769e6cde30348f8 100644
--- a/docs/vars.md
+++ b/docs/vars.md
@@ -153,7 +153,7 @@ node_taints:
   * `audit_log_maxsize`: 100
   * `audit_policy_file`: "{{ kube_config_dir }}/audit-policy/apiserver-audit-policy.yaml"
 
-  By default, the `audit_policy_file` contains [default rules](https://github.com/kubernetes-sigs/kubespray/blob/master/roles/kubernetes/master/templates/apiserver-audit-policy.yaml.j2) that can be overridden with the `audit_policy_custom_rules` variable.
+  By default, the `audit_policy_file` contains [default rules](https://github.com/kubernetes-sigs/kubespray/blob/master/roles/kubernetes/control-plane/templates/apiserver-audit-policy.yaml.j2) that can be overridden with the `audit_policy_custom_rules` variable.
 
 ### Custom flags for Kube Components
 
diff --git a/extra_playbooks/upgrade-only-k8s.yml b/extra_playbooks/upgrade-only-k8s.yml
index db66982cd18707d4e778889f1ff6c115e57d64dc..89e8ed1dcf3d2d471455b4923f52fe5127a3c44c 100644
--- a/extra_playbooks/upgrade-only-k8s.yml
+++ b/extra_playbooks/upgrade-only-k8s.yml
@@ -41,7 +41,7 @@
     - { role: kubespray-defaults}
     - { role: upgrade/pre-upgrade, tags: pre-upgrade }
     - { role: kubernetes/node, tags: node }
-    - { role: kubernetes/master, tags: master, upgrade_cluster_setup: true }
+    - { role: kubernetes/control-plane, tags: master, upgrade_cluster_setup: true }
     - { role: kubernetes/client, tags: client }
     - { role: kubernetes-apps/cluster_roles, tags: cluster-roles }
     - { role: upgrade/post-upgrade, tags: post-upgrade }
diff --git a/roles/kubernetes/master/defaults/main/etcd.yml b/roles/kubernetes/control-plane/defaults/main/etcd.yml
similarity index 100%
rename from roles/kubernetes/master/defaults/main/etcd.yml
rename to roles/kubernetes/control-plane/defaults/main/etcd.yml
diff --git a/roles/kubernetes/master/defaults/main/kube-proxy.yml b/roles/kubernetes/control-plane/defaults/main/kube-proxy.yml
similarity index 100%
rename from roles/kubernetes/master/defaults/main/kube-proxy.yml
rename to roles/kubernetes/control-plane/defaults/main/kube-proxy.yml
diff --git a/roles/kubernetes/master/defaults/main/main.yml b/roles/kubernetes/control-plane/defaults/main/main.yml
similarity index 100%
rename from roles/kubernetes/master/defaults/main/main.yml
rename to roles/kubernetes/control-plane/defaults/main/main.yml
diff --git a/roles/kubernetes/master/handlers/main.yml b/roles/kubernetes/control-plane/handlers/main.yml
similarity index 100%
rename from roles/kubernetes/master/handlers/main.yml
rename to roles/kubernetes/control-plane/handlers/main.yml
diff --git a/roles/kubernetes/master/meta/main.yml b/roles/kubernetes/control-plane/meta/main.yml
similarity index 100%
rename from roles/kubernetes/master/meta/main.yml
rename to roles/kubernetes/control-plane/meta/main.yml
diff --git a/roles/kubernetes/master/tasks/encrypt-at-rest.yml b/roles/kubernetes/control-plane/tasks/encrypt-at-rest.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/encrypt-at-rest.yml
rename to roles/kubernetes/control-plane/tasks/encrypt-at-rest.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-certificate.yml b/roles/kubernetes/control-plane/tasks/kubeadm-certificate.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-certificate.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-certificate.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-cleanup-old-certs.yml b/roles/kubernetes/control-plane/tasks/kubeadm-cleanup-old-certs.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-cleanup-old-certs.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-cleanup-old-certs.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-etcd.yml b/roles/kubernetes/control-plane/tasks/kubeadm-etcd.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-etcd.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-etcd.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-fix-apiserver.yml b/roles/kubernetes/control-plane/tasks/kubeadm-fix-apiserver.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-fix-apiserver.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-fix-apiserver.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-migrate-certs.yml b/roles/kubernetes/control-plane/tasks/kubeadm-migrate-certs.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-migrate-certs.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-migrate-certs.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-secondary.yml b/roles/kubernetes/control-plane/tasks/kubeadm-secondary.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-secondary.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-secondary.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-setup.yml b/roles/kubernetes/control-plane/tasks/kubeadm-setup.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-setup.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-setup.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-upgrade.yml b/roles/kubernetes/control-plane/tasks/kubeadm-upgrade.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-upgrade.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-upgrade.yml
diff --git a/roles/kubernetes/master/tasks/kubeadm-version.yml b/roles/kubernetes/control-plane/tasks/kubeadm-version.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/kubeadm-version.yml
rename to roles/kubernetes/control-plane/tasks/kubeadm-version.yml
diff --git a/roles/kubernetes/master/tasks/main.yml b/roles/kubernetes/control-plane/tasks/main.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/main.yml
rename to roles/kubernetes/control-plane/tasks/main.yml
diff --git a/roles/kubernetes/master/tasks/pre-upgrade.yml b/roles/kubernetes/control-plane/tasks/pre-upgrade.yml
similarity index 100%
rename from roles/kubernetes/master/tasks/pre-upgrade.yml
rename to roles/kubernetes/control-plane/tasks/pre-upgrade.yml
diff --git a/roles/kubernetes/master/templates/apiserver-audit-policy.yaml.j2 b/roles/kubernetes/control-plane/templates/apiserver-audit-policy.yaml.j2
similarity index 100%
rename from roles/kubernetes/master/templates/apiserver-audit-policy.yaml.j2
rename to roles/kubernetes/control-plane/templates/apiserver-audit-policy.yaml.j2
diff --git a/roles/kubernetes/master/templates/apiserver-audit-webhook-config.yaml.j2 b/roles/kubernetes/control-plane/templates/apiserver-audit-webhook-config.yaml.j2
similarity index 100%
rename from roles/kubernetes/master/templates/apiserver-audit-webhook-config.yaml.j2
rename to roles/kubernetes/control-plane/templates/apiserver-audit-webhook-config.yaml.j2
diff --git a/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2 b/roles/kubernetes/control-plane/templates/kubeadm-config.v1beta2.yaml.j2
similarity index 100%
rename from roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
rename to roles/kubernetes/control-plane/templates/kubeadm-config.v1beta2.yaml.j2
diff --git a/roles/kubernetes/master/templates/kubeadm-controlplane.v1beta2.yaml.j2 b/roles/kubernetes/control-plane/templates/kubeadm-controlplane.v1beta2.yaml.j2
similarity index 100%
rename from roles/kubernetes/master/templates/kubeadm-controlplane.v1beta2.yaml.j2
rename to roles/kubernetes/control-plane/templates/kubeadm-controlplane.v1beta2.yaml.j2
diff --git a/roles/kubernetes/master/templates/secrets_encryption.yaml.j2 b/roles/kubernetes/control-plane/templates/secrets_encryption.yaml.j2
similarity index 100%
rename from roles/kubernetes/master/templates/secrets_encryption.yaml.j2
rename to roles/kubernetes/control-plane/templates/secrets_encryption.yaml.j2
diff --git a/roles/kubernetes/master/templates/webhook-authorization-config.yaml.j2 b/roles/kubernetes/control-plane/templates/webhook-authorization-config.yaml.j2
similarity index 100%
rename from roles/kubernetes/master/templates/webhook-authorization-config.yaml.j2
rename to roles/kubernetes/control-plane/templates/webhook-authorization-config.yaml.j2
diff --git a/roles/kubernetes/master/templates/webhook-token-auth-config.yaml.j2 b/roles/kubernetes/control-plane/templates/webhook-token-auth-config.yaml.j2
similarity index 100%
rename from roles/kubernetes/master/templates/webhook-token-auth-config.yaml.j2
rename to roles/kubernetes/control-plane/templates/webhook-token-auth-config.yaml.j2
diff --git a/upgrade-cluster.yml b/upgrade-cluster.yml
index 38d2d7444a93ec99d982031fa7ded4875a93bd58..19b461e75c71005442117e0de4c1798f4b46ac6a 100644
--- a/upgrade-cluster.yml
+++ b/upgrade-cluster.yml
@@ -85,7 +85,7 @@
     - { role: upgrade/pre-upgrade, tags: pre-upgrade }
     - { role: container-engine, tags: "container-engine", when: deploy_container_engine|default(true) }
     - { role: kubernetes/node, tags: node }
-    - { role: kubernetes/master, tags: master, upgrade_cluster_setup: true }
+    - { role: kubernetes/control-plane, tags: master, upgrade_cluster_setup: true }
     - { role: kubernetes/client, tags: client }
     - { role: kubernetes/node-label, tags: node-label }
     - { role: kubernetes-apps/cluster_roles, tags: cluster-roles }