taint 와 toleration
taint 와 toleration
Taint (얼룩)
taint : 노드마다 설정 가능, 설정한 노드에는 pod가 스케쥴되지 않음
kubectl taint nodes node1 key1=value1:NoSchedulenode1 노드에 테인트을 배치한다. 테인트에는 키 key1, 값 value1 및 테인트 이펙트(effect) NoSchedule 이 있다. 이는 일치하는 톨러레이션이 없으면 파드를 node1 에 스케줄할 수 없음을 의미한다.
NoSchedule : toleration이 없으면 pod가 스케쥴되지 않음, 기존 실행되던 pod에는 적용안됨
PreferNoSchedule : toleration이 없으면 pod를 스케쥴링안하려고 하지만 필수는 아님, 클러스터내에 자원이 부족하거나 하면 taint가 걸려있는 노드에서도 pod가 스케쥴링 될 수 있음
NoExecute : toleration이 없으면 pod가 스케쥴되지 않으며 기존에 실행되던 pod도 toleration이 없으면 종료시킴.
kubectl taint nodes node1 app=blue:NoSchedule마스터노드에는 taint 설정이 되어있어서 pod 가 스케쥴이 되지 않는다.

Toleration (용인)
특정 taint를 용인할 수 있는 toleration 설정을 가진 pod는 해당 노드에 할당 가능하다.
사용예시
전용 노드
특별한 하드웨어가 있는 노드
taint 기반 축출 : 노드 문제가 있을 때 파드 별로 구성 가능한
Last updated