[CKA] Node Affinity
Node Affinity로 필수 조건과 선호 조건을 표현하고 파드가 실행될 노드 범위를 정하는 방법입니다.
Node Affinity는 노드 Label을 기준으로 In, NotIn, Exists 같은 연산자와 여러 값을 조합합니다.
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: size
operator: In
values: [Large, Medium]
requiredDuringSchedulingIgnoredDuringExecution: 스케줄링할 때 규칙을 반드시 만족해야 합니다.preferredDuringSchedulingIgnoredDuringExecution: 만족하는 노드를 선호하지만 필수는 아닙니다.
두 유형 모두 실행 중 노드 Label이 바뀌어도 이미 실행 중인 파드를 자동으로 퇴출하지 않습니다.
kubectl label nodes node01 color=blue
kubectl get node node01 --show-labels
kubectl get pods -o wide