Introduction
Untuk pembahasan kali ini saya mau mengubah control-plane menjadi worker. Mungkin cara ini bisa dilakukan ketika resource server kita terbatas hanya ada 3 nodes dan tidak ada resource cadangan.
Configuration
Set label to worker
kubectl label node k8s-node1 node-role.kubernetes.io/worker=worker
kubectl label node k8s-node2 node-role.kubernetes.io/worker=worker
kubectl label node k8s-node3 node-role.kubernetes.io/worker=worker

Taint Nodes
Check taint pada nodes
kubectl get nodes k8s-node1 -o json | jq '.spec.taints'

Jika muncul seperti diatas, seperti yang terlihat NoSchedule, maka node ini tidak akan menjadi host pods. Kita harus hapus agar pod bisa schedule ke node tersebut. Abaikan not-ready, karena itu akan ada ditahap selanjutnya.
kubectl taint nodes k8s-node1 node-role.kubernetes.io/control-plane:NoSchedule-
kubectl taint nodes k8s-node2 node-role.kubernetes.io/control-plane:NoSchedule-
kubectl taint nodes k8s-node3 node-role.kubernetes.io/control-plane:NoSchedule-
kubectl get nodes k8s-node1 -o json | jq '.spec.taints'
Menambahkan strip (-) pada NoSchedule akan menghapus NoSchedule itu sendiri

Oke sudah hilang NoSchedule pada control-plane.