0부터 시작하는 Kubernetes 공부 - Node 의 Label

Jaehong Lee·2022년 9월 8일
1
post-thumbnail
post-custom-banner

nodeSelector

root@manager:~/k8slab/0908# k get node --show-labels
NAME      STATUS   ROLES                  AGE   VERSION   LABELS
manager   Ready    control-plane,master   29h   v1.21.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=manager,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=
worker1   Ready    <none>                 29h   v1.21.0   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>                 29h   v1.21.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=worker2,kubernetes.io/os=linux
worker3   Ready    <none>                 27h   v1.21.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=worker3,kubernetes.io/os=linux
  • node 의 label 을 확인하자
    • worker node 에 대한 role 이 없다

label 추가하기

root@manager:~/k8slab/0908# k label node worker1 zone=seoul
node/worker1 labeled
root@manager:~/k8slab/0908# k label node worker2 zone=busan
node/worker2 labeled
root@manager:~/k8slab/0908# k label node worker3 zone=jeju
node/worker3 labeled
  • node 에 label 을 추가하자

Pod 배포 - nodeSelector

apiVersion: v1
kind: Pod
metadata:
  name: testpod
spec:
  nodeSelector:
    zone: jeju
  containers:
  - name: testctn
    image: nginx
  • 위와 같이 zone 이 jeju 인 node 에게만 Pod 를 배포하자

확인하기

  • zone 이 jeju 인 worker3 에만 배포되었다
profile
멋진 엔지니어가 될 때까지
post-custom-banner

0개의 댓글