Closed chldbtjd2272 closed 3 years ago
파드를 어떤 노드에 실행할 것인지에 관한 다양한 옵션이 있다. 옵션을 조합하면 사용자가 원하는 구조대로 클러스터 안에 파드 배치가 가능하게된다.
노드셀렉터
파드가 실행될 노드를 선택하는 기능 - 노드의 레이블에 설정된 값으로 노드를 선택한다.
노드 셀렉터 사용법
kubectl label nodes docker-desktop disktype=ssd
apiVersion: v1 kind: Pod metadata: name: kubernetes-nodeselector-pod spec: containers: - name: kubernetes-nodeselector-pod image: arisu1000/simple-container-app:latest ports: - containerPort: 8080 nodeSelector: disktype: ssd
node label에 disktype = ssd값을 추가한 후 pod 시행 설정에 nodeSelector에 disktype ssd를 설정한 후 실행하면 된다
노드 어피니티
파드의 어피니티와 안티 어피니티
apiVersion: v1 kind: Pod metadata: name: redis-cache spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - store topologyKey: "kubernetes.io/hostname" containers: - name: redis-server image: redis:3.2-alpine
테이트와 톨러레이션
커든과 드레인
특정 노드에 있는 파드들을 모두 다른 노드로 옮기거나 특정 노드에 파드들을 스케줄링하지 않도록 제한할때 사용한다.
kubectl cordon 명령은 추가로 파드를 스케줄링하지 않도록 합니다.
드레인은 지정된 노드에서 다른노드로 파드들을 이동시킬때 사용한다.
12. 파드 스케줄링
노드셀렉터
파드가 실행될 노드를 선택하는 기능 - 노드의 레이블에 설정된 값으로 노드를 선택한다.
노드 셀렉터 사용법
node label에 disktype = ssd값을 추가한 후 pod 시행 설정에 nodeSelector에 disktype ssd를 설정한 후 실행하면 된다
노드 어피니티
파드의 어피니티와 안티 어피니티
테이트와 톨러레이션
커든과 드레인
특정 노드에 있는 파드들을 모두 다른 노드로 옮기거나 특정 노드에 파드들을 스케줄링하지 않도록 제한할때 사용한다.
kubectl cordon 명령은 추가로 파드를 스케줄링하지 않도록 합니다.
드레인은 지정된 노드에서 다른노드로 파드들을 이동시킬때 사용한다.