버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

코드 블럭
# kubectl label nodes w2-k8s disktype=ssd
# kubectl get nodes --show-labels -L disktype 

2.2 Node Anti-Affinity(Pod Anti-Affinity 내용)

  • 다른 파드와 겹치지 않게 할 때 사용합니다.

  • 파드가 특정 노드에 스케줄링되지 않도록 설정하는 방법으로 크게 두 가지 유형이 있습니다.

    • requiredDuringSchedulingIgnoredDuringExecution

      • 파드가 반드시 조건을 만족하지 않는 노드에만 스케줄링됩니다.

    • preferredDuringSchedulingIgnoredDuringExecution

      • 조건을 만족하지 않는 노드에 우선적으로 스케줄링되지만, 필요하다면 다른 노드에 스케줄링될 수 있습니다.

...

  • podAffinity는 app=frontend 라벨을 가진 파드가 있는 노드에 example-pod4를 3을 배치합니다.

  • podAntiAffinityapp=backend 라벨을 가진 파드가 없는 노드에 example-pod4pod3을 우선 배치합니다.

...

4. Taint 및 Tolerations

...

코드 블럭
# kubectl taint nodes w2-k8s disktype=ssd:NoSchedule
#kubectl# kubectl describe nodes | grep -i taint

...

  • NoSchedule: 이 Taint를 가진 노드에는 Toleration이 있는 파드만 스케줄링될 수 있습니다.

  • PreferNoSchedule: 가능하면 이 Taint를 가진 노드에는 Toleration이 있는 파드만 스케줄링하려고 합니다.

  • NoExecute: Toleration이 없는 기존 파드는 이 노드에서 축출됩니다.

...

4.2 파드에 Toleration 설정

  • Tolerations는 파드에 설정되며, 특정 Taint를 가진 노드에 스케줄링될 수 있도록 허용합니다.

...

코드 블럭
apiVersion: v1
kind: Pod
metadata:
  name: example-podpod4
spec:
  tolerations:
  - key: "disktype"
    operator: "Equal"
    value: "ssd"
    effect: "NoSchedule"
  containers:
  - name: mycontainer
    image: nginx
  • disktype=ssdNoSchedule 효과를 가진 Taint를 허용하여, 해당 Taint를 가진 노드에 파드를 스케줄링할 수 있도록 합니다.

4.3 노드에 Taint 해제

코드 블럭
# kubectl taint nodes w2-k8s disktype=ssd:NoSchedule-
node/w2-k8s untainted

5. Cordon 및 Uncordon

5.1 Cordon

...