쿠버네티스 구성 요소
쿠버네티스 구성 요소 (Components)
이 페이지에서는 쿠버네티스 클러스터를 구성하는 필수 구성 요소에 대한 개괄적인 개요를 제공해요.
출처: 문서
본문
핵심 구성 요소
쿠버네티스 클러스터는 컨트롤 플레인과 하나 이상의 워커 노드로 구성됩니다. 다음은 주요 구성 요소에 대한 간략한 개요예요:
컨트롤 플레인 구성 요소
클러스터의 전체 상태를 관리해요:
kube-apiserver : 쿠버네티스 HTTP API를 노출하는 핵심 구성 요소 서버.
etcd : 모든 API 서버 데이터를 위한 일관되고 고가용성인 키-값 저장소.
kube-scheduler : 아직 노드에 바인딩되지 않은 파드를 찾아 각 파드를 적합한 노드에 할당한다.
kube-controller-manager : 쿠버네티스 API 동작을 구현하는 컨트롤러를 실행한다.
cloud-controller-manager (선택 사항) : 기반이 되는 클라우드 제공자와 통합한다.
노드 구성 요소
모든 노드에서 실행되며 파드를 실행 상태로 유지하고 쿠버네티스 런타임 환경을 제공해요:
kubelet : 컨테이너를 포함해 파드가 실행되고 있는지 보장한다.
kube-proxy (선택 사항) : Service 개념을 구현하기 위해 노드의 네트워크 규칙을 유지한다.
컨테이너 런타임 : 컨테이너를 실행하는 책임을 가진 소프트웨어. 컨테이너 런타임을 읽어 더 알아보세요.
클러스터는 각 노드에 추가 소프트웨어가 필요할 수 있어요. 예를 들어 Linux 노드에서 로컬 구성 요소를 감독하기 위해 systemd를 실행할 수도 있습니다.
애드온
애드온은 쿠버네티스의 기능을 확장해요. 몇 가지 중요한 예시는 다음과 같습니다:
DNS : 클러스터 전체의 DNS 해석용.
웹 UI (Dashboard) : 웹 인터페이스를 통한 클러스터 관리용.
컨테이너 리소스 모니터링 : 컨테이너 메트릭 수집·저장용.
클러스터 레벨 로깅 : 컨테이너 로그를 중앙 로그 저장소에 저장용.
아키텍처의 유연성
쿠버네티스는 이러한 구성 요소를 배포·관리하는 방식에 유연성을 허용해요. 아키텍처는 소규모 개발 환경에서 대규모 프로덕션 배포까지 다양한 요구에 맞게 조정할 수 있습니다.
각 구성 요소와 클러스터 아키텍처를 구성하는 다양한 방법에 대한 더 자세한 정보는 클러스터 아키텍처 페이지를 참고하세요.