下記のようにkubeadmで設定した場合、control-planeを担うnodeの名称はmainになります。
$ sudo kubeadm init --node-name main --pod-network-cidr=xxx.xxx.xxx.xxx/xx
確認します。もちろんmainはcontrol-planeであると表示されます。
$ kubectl get nodes NAME STATUS ROLES AGE VERSION main Ready control-plane 86m v1.24.4
ただ、このままpodを作成してもPendingしてしまって動きません。
$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-deployment-6595874d85-7mdxv 0/1 Pending 0 82s nginx-deployment-6595874d85-826tr 0/1 Pending 0 82s
色々調べたところ、Taintが設定されているとそのノードにはpodがスケジューリングされないとのこと。Node affinityの逆の機能にあたるようです。
$ kubectl describe node main | grep Taints
Taints: node-role.kubernetes.io/control-plane:NoSchedule
そこでTaintを解除してあげるとpodがRunningになりました。ここではnodesに--allを指定していますが、単体のnodeに対して操作する場合は、その名前を代わりに入れてあげます。
$ kubectl taint nodes --all node-role.kubernetes.io/control-plane-
node/main untainted