들어가며
- 쿠버네티스는 클러스터를 관리하는 도구입니다.
클러스터란? 클러스터는 단일 컴퓨터가 아닌, 여러 컴퓨터를 하나의 묶음으로 취급하는 걸 뜻합니다.
- 클러스터를 관리하는 역할을 하는 것이 마스터입니다.
- 마스터가 클러스터를 관리하기 위해 어떠한 요소를 갖추고 있는지 알아보겠습니다.
master의 역할
master의 구성 요소는 아래와 같습니다.
- etcd
- kube-apiserver
- kube-scheduler
- kube-controller-manager
etcd
쿠버네티스에서 필요한 모든 데이터를 저장하는 실질적인 데이터베이스입니다.
kube-apiserver
쿠버네티스 클러스터의 api를 사용할 수 있게 해주는 프로세스입니다.
클러스터로 요청이 왔을 때, 그 요청이 유효한지 검증하는 역할을 합니다.
쿠버네티스로의 모든 요청은 kube-apiserver를 통해 다른 곳으로 전달되도록 되어 있습니다.
kube-schduler
새로운 pod들이 만들어질 때, 현재 클러스터내에서 자원 할당이 가능한 노드들 중 알맞은 노드를 선택해 그곳에 pod를 띄우는 역할을 합니다.
pod는 처음 실행될 때 여러가지 조건을 지정하여 실행하는데, kube-scheduler가 그 조건에 맞는 노드를 찾아줍니다.
kube-controller-manager
쿠버네티스는 각각의 controller들이 pod들을 관리하는 역할을 합니다.
kube-controller-manager는 이런 각각의 controller들을 실행하는 역할을 합니다.
사용자가 명령어를 입력했을 때, apiserver와 scheduler는 어떻게 동작하는지 살펴보겠습니다.
마무리
- 쿠버네티스 클러스터의 마스터의 역할에 대해 알아보았습니다.
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.