nodeSelector
root@manager:~/k8slab/0908
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
node/worker1 labeled
root@manager:~/k8slab/0908
node/worker2 labeled
root@manager:~/k8slab/0908
node/worker3 labeled
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 에만 배포되었다