노드에 라벨을 붙이고, 파드가 그 라벨이 붙은 노드에만 배포하는 것
kubectl label nodes [node이름] [label-key]=[label-value]
kubectl label node node-1 size=Large
definition yaml파일에 라벨을 작성하여 특정 노드를 선택 가능
apiVersion: v1
kind: Pod
metadat:
name: myapp-pod
spec:
containers:
- name: data-processor
image: data-processor
nodeSelectors:
size: Large
spec.nodeSelectors.[label-key]
spec.nodeSelectors.[label-key].[label-value]
파드를 특정 노드에 찍어서 배치하는 경우는 문제 없음
그러나 좀 더 복잡한 배포에서는 문제 발생할 여지가 큼
만약 3개의 노드 중 2개에서 배포 가능한 파드라면? 노드 셀렉터로는 한계가 있음
k8s에는 이러한 문제를 해결할 수 있는 affinity라는 방법이 있다.