K8s 노드에 파드 할당

1 개요[ | ]

k8s Assign Pods to Nodes
k8s 노드에 파드 할당

쿠버네티스에서는 파드를 특정 노드에 할당할 수 있다. 기본적으로 스케줄러는 리소스 요구 사항과 제약 조건에 따라 파드를 자동으로 배치하지만, 운영자가 직접 노드 선택을 강제할 수 있는 여러 방법이 제공된다.

2 노드에 레이블 추가[ | ]

  • 먼저 노드에 레이블을 붙여 선택 조건으로 활용할 수 있다.
$ kubectl label nodes <노드이름> disktype=ssd
$ kubectl get nodes --show-labels
NAME      STATUS   ROLES    AGE   VERSION   LABELS
worker0   Ready    <none>   1d    v1.33.0   ...,disktype=ssd,kubernetes.io/hostname=worker0

3 nodeSelector 활용[ | ]

  • Pod 스펙에 nodeSelector 항목을 지정하면 해당 레이블이 붙은 노드에만 파드가 스케줄링된다.
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
  nodeSelector:
    disktype: ssd
$ kubectl get pods -o wide
NAME     READY   STATUS    NODE
nginx    1/1     Running   worker0

4 nodeName 활용[ | ]

  • 레이블 대신 nodeName을 지정하면 특정 노드에 직접 고정된다.
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  nodeName: worker1   # 지정된 노드에만 할당
  containers:
  - name: nginx
    image: nginx

5 같이 보기[ | ]

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}