Taints and Tolerations

Watermelon·2026년 1월 29일

CKA 학습 과정

목록 보기
29/35

Taints and Tolerations

  • Taint: 배제 조건, Tolerations: 허용 조건
    • node는 Taint 설정 시 비유하자면.. 관리자 외 출입 불가 장소가 됨
    • 일반 사람들은 당연히 관리자가 아닌 상태로 건물에 출입함
    • 다만 일부 사람들은 사원증 등으로 관리자가 될 수 있음
    • 사원증은 Tolerations, 관리자 외 출입 불가 장소는 Taint 설정된 node 이렇게 이해함

Taints - node

kubectl taint nodes node-name key=value:taint-effect
  • effect는 크게 3가지
    • NoSchedule: taint 허용하지 않은 pod는 스케줄링 금지(현재 실행중인 파드 보존)
    • PreferNoSchedule: 되도록 스케줄링하지 마라, 리소스 부족 등 불가피하면 올라감
    • NoExecute: 허용 안 한 파드는 지금 당장, 앞으로도 실행 금지(현재 실행 중인 파드도 즉시 퇴출, 퇴출 당하면 죽음)

Tolerations - PODs

kubectl taint nodes node1 app = blue : NoSchedule
  • node에서의 설정
apiVersion:
kind:
metadata:
  name: myapp-pod
spec:
  containers:
  - name: nginx-container
    image: nginx
  tolerations: ## 여기부터 taint와 동일하게 설정해주면 됨
  - key: "app"
    operator: "Equal"
    value: "blue"
    effect: "NoSchedule"
  • pod에서의 설정(따옴표 써야 안전하긴한데 안써도 ㄱㅊ)
  • 강의에서는 spec이 metadata 안에 들어가있는데.. 맞는지 모르겟삼
  • 아무튼 pod에서 저렇게 설정해줘도 공공장소같은 node에 들어가는 수가 있음
    • 관리자실에 관리자만 모이세요! 하고 설정하여도 실제로는 공공 흡연장에 모여있을 수가 있음..
    • 이를 해결할 수 있는 부분은 노드 선호도임
  • 마스터 노드는 어떠한 파드도 스케줄링하지 않음
  • taint 지우려면 똑같이 작성 후 뒤에 - 붙여주면 됨
profile
많은 경험을 해보고자 하는

0개의 댓글