쿠버네티스는 크게 마스터(Master)와 노드(Node) 두 개의 컴포넌트로 분리
마스터(Master)
마스터는 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할
etcd, kube-apiserver, kube-scheduler, kube-controllermanager로 구성
- Kube-apiserver: 쿠버네티스 API를 제공하며, 클러스터의 모든 작업을 조율합니다.
- etcd: 클러스터의 모든 구성 데이터를 안전하게 저장하는 분산형 키-값 저장소입니다.
- Kube-scheduler: 새로운 Pod을 어떤 노드에 배치할지 결정하는 역할을 합니다.
- Kube-controller-manager: 클러스터의 상태를 감시하고 제어하는 여러 컨트롤러를 실행합니다.
노드(Node)
노드는 파드나 컨테이너처럼 쿠버네티스 위에서 동작하는 워크로드를 호스팅하는 역할
노드에는 kubelet, kube-proxy, docker등이 실행
실제 사용자가 사용하는 컨테이너들은 대부분 노드에서 실행
- Kubelet: 마스터로부터 할당된 작업을 실행하고, 노드 상태를 주기적으로 마스터에 보고합니다.
- Kube-proxy: 각 노드에서 동작하며, 서비스의 가상 IP 및 포트를 각 Pod로 전달합니다.
- Container Runtime: 컨테이너를 실행하는 데 사용되는 소프트웨어 (Docker, containerd 등).
*애드온
쿠버네티스 클러스터에 추가적인 기능이나 리소스를 제공하기 위한 확장 기능입니다.
일부 예시 입니다.
- kube-DNS: 클러스터 내에서 서비스 간의 DNS 해결을 제공하여 서비스 디스커버리를 간편하게 합니다.
- 웹 UI (대시보드): 쿠버네티스 클러스터를 위한 범용의 웹 기반 UI
- 컨테이너 리소스 모니터링: 중앙 데이터베이스 내에 컨테이너들에 대한 포괄적인 시계열 메트릭스를 기록하고 그 데이터를 열람하기 위한 UI를 제공
- 클러스터-레벨 로깅: 검색/열람 인터페이스와 함께 중앙 로그 저장소에 컨테이너 로그를 저장
'study > 클라우드&쿠버네티스' 카테고리의 다른 글
쿠버네티스 Health Check (0) | 2023.10.06 |
---|---|
쿠버네티스 (오브젝트, 컨트롤러) (0) | 2023.10.04 |
마이크로서비스 아키텍처 설계 (구성 요소, 고려 사항) (0) | 2023.10.04 |
컨테이너 오케스트레이션, 쿠버네티스(Kubernetes) (0) | 2023.10.04 |
가상화(Virtualization)와 컨테이너(Containerization) (0) | 2023.10.04 |