교육/[패스트캠퍼스]Kubernetes 자격증 마스터 클래스
패스트캠퍼스 환급챌린지 15일차 : Kubernetes 자격증 마스터 클래스 : CKA/CKAD/CKS 강의 후기
esne
2025. 3. 19. 10:15
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.(https://bit.ly/4hTSJNB)
공부 인증




공부 후기
taint와 toleration에 대한 개념을 배웠다.
node taint : taint가 설정된 경우 동일 값의 toreration이 있는 Pod만 배치된다. Pod toleration : toleration이 있는 Pod는 동일한 taint가 있는 node를 포함하여 모든 node에 배치된다. 필수는 아니다! application을 실행해도 master에서는 실행되지 않는 이유 - master에는 중요한 컴포넌트들이 동작하고 있기 때문이기도 하고 - taints 속성 값을 보면 NoSchedule로 되어 있어서 파드가 배치되지 않도록 한다.(kubectl describe node k8s-master | grep -i taint) - key:value, effect로 구성되어 있다.(key1=value1:NoSchedule) ====================== kubectl create deployment testdep --image=nginx --replicas=5 --dry-run=client -o yaml > testdep.yaml vi testdep.yaml ---------------------- spec: tolerations: - key: "node-role.kubernetes.io/master" operator: "Equal" effect: "NoSchedule" ---------------------- >> master의 taint와 testdep.yaml의 taint effect가 동일(Equal)하면 동일한 taint를 가진(master)에도 배치되고 가지지 않은(worker)에도 배치된다. kubectl apply -f testdep.yaml kubectl get pods -o wide | grep testdep ====================== |
effect 속성값과 같은 것들을 다시 한번 찾아보았다. 3가지가 있다.
NoSchedule
: Pod가 Node에 스케줄되지 않음. 기존 실행되던 Pod는 유지됨 (퇴출x)
PreferNoSchedule
: Pod가 Node에 스케줄되지 않도록 최대한 노력하지만 보장되는 건 아님
NoExecute
: 새로운 Pod는 해당 Node에 위치되지 않으며, 만약 해당 Node에 존재했던 Pod가 있다면 아래 조건에 따라 처리
오늘 공부를 통해 기본적으로 master node에서는 왜 배치가 되지 않는지에 대한 궁금점이 풀렸다. taint값을 변경하면 master node에도 배치 시킬 수 있다는 것을 알게되었다.