[CKA] Taints와 Tolerations
노드가 받아들이지 않을 파드를 표시하는 Taint와 예외를 허용하는 Toleration을 정리합니다.
Taint는 노드가 특정 파드를 거부하도록 하고, Toleration은 파드가 그 Taint를 견딜 수 있음을 표시합니다. Toleration이 있다고 해서 파드가 반드시 그 노드로 배치되는 것은 아닙니다.
kubectl taint nodes <node-name> key=value:NoSchedule
NoSchedule: 일치하는 Toleration이 없는 새 파드를 스케줄하지 않습니다.PreferNoSchedule: 가능하면 배치를 피하지만 다른 선택지가 없으면 배치할 수 있습니다.NoExecute: 새 파드의 배치를 막고, 일치하는 Toleration이 없는 기존 파드도 퇴출합니다.
Taint를 제거할 때는 식별자 뒤에 -를 붙입니다.
kubectl taint nodes controlplane node-role.kubernetes.io/control-plane:NoSchedule-