-
배워서 남주자 시리즈 : kube-scheduler혼자서 공부하기/DevOps 2023. 5. 13. 17:07728x90반응형SMALL
kube-scheduler
- 클러스터 안에서 자원 할당이 가능한 노드 중 알맞은 노드를 선택하는 역할
- Label / Selector / Affinity / Taint / Toleration 기능과 함께 동작
- 점수부여 형태 / 다중화 가능/ Active-Stand-by
pod 스케쥴링의 필요성
- 머신러닝 워크로드를 돌리는 특정 pod는 GPU가 탑재된 node에서만 돌아야 한다.
- consumer들은 네트워크 intensive하므로 전용 node group 을 쓰고 싶다.
- 팀별로 node를 나눠서 사용하고 싶다.
pod 스케쥴링 분류
사용자 특정 노드에 pod를 배치하고 싶을때
- nodeSelector
- Node Affinity
- Node Anti-Affnity
- Inter Pod Affinity
- Inter Pod Anti-Affinity
관리자가 특정노드에 pod가 배치되는 것을 막고 싶을때
- Taints
- Tolerations
- 위의 사용자 는 신규서비스를 개발하고 띄우는 개발자를 칭할수 있음, 개발자는 클러스터의 전반적인 내용을 알지 못하기 때문에 원하는 곳에 배치를 하고 싶을 것이고
- 관리자는 그럼에도 불구하고 pod가 배치되면 안되는 노드가 있을시 있다. 예를 들면 서비스 용이 아닌 관리목적인 노드 등이 있을 수 있다.
Taint / Toleration
- 어떤 pod 가 어떤 nod 에 스케쥴링 될수 있는 지를 제한
- 예 ) kubernetes 의 control node에는 pod가 스케쥴링 되지 않도록 taint 가 되어 있음
- Taint : node가 가지게 되는 성격 (taint : blue)
- Toleration : pod 가 가지게 되는 taint 에 대한 toleration ( toleration : blue)
728x90반응형LIST'혼자서 공부하기 > DevOps' 카테고리의 다른 글
배워서 남주자 : kube-apiserver (0) 2023.05.12 배워서 남주자 시리즈 : 쿠버네티스 3 (0) 2023.05.12 배워서 남주자 시리즈 : Kubernetes 구축 (0) 2023.05.12 배워서남주자시리즈 : Kubernetes (k8s) 구조 (0) 2023.05.11 Ubuntu 22.04 + Jenkins (2.397+) 설치 (0) 2023.05.06