IT Study/Memo & Tips

[K8S] taint & tolerations

ITguny 2022. 8. 24. 16:35

Taint 부여  & 삭제

# Node에 Taint 부여
kubectl taint nodes `nodename` `key`=`value`:`effect`

# 예시:
kubectl taint nodes ip-192-168-201-100.ap-northeast-2.compute.internal itguny04/taint=dirty:NoSchedule

# Node에 Taint 삭제
kubectl taint nodes `nodename` `key`:`effect`-

# 예시:
kubectl taint nodes ip-192-168-201-100.ap-northeast-2.compute.internal itguny04/taint:NoSchedule-
# Effect 종류
# NoSchedule (포드를 스케줄링하지 않음)
# NoExecute (포드의 실행 자체를 허용하지 않음)
# PreferNoSchedule  (가능하면 스케줄링하지 않음)

 

Taint 

apiVersion: v1
kind: Pod
metadata:
  name: nginx-toleration-test
spec:
  tolerations:
  - key: itguny04/taint
    value: dirty
    operator: Equal
    effect: NoSchedule
  containers:
  - name: nginx
    image: nginx:latest
    
# tolerations를 사용하여 taint가 설정된 노드에도 포드 할당이 가능함.