Kubernetes nodes Roles 변경
매번 nodes를 확인할 때마다 ROLES에 <none>이 떠있는 것이 맘에 안들었는데, 고쳐보자
[vagrant@master ~]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane 4d20h v1.29.2
worker1 Ready <none> 4d20h v1.29.2
worker2 Ready <none> 4d20h v1.29.2
[vagrant@master ~]$ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master Ready control-plane 4d20h v1.29.2 192.168.98.10 <none> CentOS Linux 8 4.18.0-348.7.1.el8_5.x86_64 containerd://1.6.28
worker1 Ready <none> 4d20h v1.29.2 192.168.98.20 <none> CentOS Linux 8 4.18.0-348.7.1.el8_5.x86_64 containerd://1.6.28
worker2 Ready <none> 4d20h v1.29.2 192.168.98.30 <none> CentOS Linux 8 4.18.0-348.7.1.el8_5.x86_64 containerd://1.6.28
왜 그런지 kubectl get nodes --show-labels로 라벨을 구체적으로 확인해보자
[vagrant@master ~]$ kubectl get nodes --show-labels
NAME STATUS ROLES AGE VERSION LABELS
master Ready control-plane 4d20h v1.29.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=master,kubernetes.io/os=linux,
node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
worker1 Ready <none> 4d20h v1.29.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=worker1,kubernetes.io/os=linux
worker2 Ready <none> 4d20h v1.29.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=worker2,kubernetes.io/os=linux
잘 비교해보면 node-role.kubernetes.io/~~ 가 master만 있다.
worker도 구문을 추가해주고
master는 control-plane이 아닌 master로 바꿔보자
"kubectl label node <node이름> node-role.kubernetes.io/<변경할 이름>="
[vagrant@master ~]$ kubectl label node master node-role.kubernetes.io/master=
node/master labeled
[vagrant@master ~]$ kubectl label node worker1 node-role.kubernetes.io/worker=
node/worker1 labeled
[vagrant@master ~]$ kubectl label node worker2 node-role.kubernetes.io/worker=
node/worker2 labeled
ROLES가 추가된 것을 볼 수 있다.
[vagrant@master ~]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 4d20h v1.29.2
worker1 Ready worker 4d20h v1.29.2
worker2 Ready worker 4d20h v1.29.2
하지만, master는 두개가 되어버렸다. control-plane을 빼버리자
"kubectl label node <node이름> node-role.kubernetes.io/<변경할 이름>-"
추가하는 것에서 "=" 대신 "-" 적으면 빠짐
[vagrant@master ~]$ kubectl label node master node-role.kubernetes.io/control-plane-
node/master unlabeled
[vagrant@master ~]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 4d20h v1.29.2
worker1 Ready worker 4d20h v1.29.2
worker2 Ready worker 4d20h v1.29.2
편안해졌다..
'Container > Kubernetes' 카테고리의 다른 글
kubernetes volumes - nfs (0) | 2024.03.12 |
---|---|
Empty Dir (0) | 2024.03.12 |
Pod 내에 container 생성 (0) | 2024.03.08 |
Deployment (0) | 2024.03.08 |
ReplicaSet (0) | 2024.03.07 |