Node Selector
특정 노드에만 포드를 배치할 수 있도록 제한하는 방법 중 하나다.
포드 정의 파일에 nodeSelector라는 속성을 추가하여 사용한다.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
spec:
containers:
- name: data-processor
image: data-processor
nodeSelector:
type: cpu
type: cpu는 포드 생성 전에 지정된 레이블로, 노드에 레이블이 지정되어 있어야 한다.
쿠버네티스 스케쥴러는 이 레이블을 이용해 포드를 배치할 노드를 식별한다.
노드에 레이블 지정
kubectl labels nodes <NODE_NAME> <LABEL_KEY>=<LAVEL_VALUE>
# 예시
kubectl labels nodes node_1 size=Large
노드에 레이블 지정 후 포드를 생성하면 지정된 노드에 포드가 배치된다.
다만 Node Selector는 A 노드 또는 B 노드에 포드 배치, A를 제외한 노드에 포드 배치 등과 같은 다소 복잡한 조건에서는 사용할 수 없다.