Kubernetes 컴포넌트

Kubernetes 컴포넌트 (Kubernetes Components)

Kubernetes 클러스터를 구성하는 핵심 컴포넌트들에 대해 살펴볼게요. 컨트롤 플레인과 노드 컴포넌트, 그리고 애드온까지 옆에서 차근차근 정리해드릴게요.

출처: Kubernetes 공식 문서 — Kubernetes Components

핵심 컴포넌트 (Core Components)

Kubernetes 클러스터는 **컨트롤 플레인(control plane)**과 하나 이상의 **워커 노드(worker nodes)**로 구성됩니다.

컨트롤 플레인 컴포넌트 (Control Plane Components)

클러스터의 전반적인 상태를 관리해요.

  • kube-apiserver: Kubernetes HTTP API를 노출하는 핵심 컴포넌트 서버예요.
  • etcd: 모든 API 서버 데이터를 위한 일관되고 고가용성인 키-값 저장소예요.
  • kube-scheduler: 아직 노드에 바인딩되지 않은 파드를 찾아 각 파드를 적절한 노드에 배정합니다.
  • kube-controller-manager: Kubernetes API 동작을 구현하기 위해 컨트롤러를 실행합니다.
  • cloud-controller-manager(선택): 기반이 되는 클라우드 제공자와 통합합니다.

노드 컴포넌트 (Node Components)

모든 노드에서 실행되며, 실행 중인 파드를 유지하고 Kubernetes 런타임 환경을 제공해요.

  • kubelet: 컨테이너를 포함한 파드가 실행 중이도록 보장합니다.
  • kube-proxy(선택): 서비스를 구현하기 위해 노드에 네트워크 규칙을 유지합니다.
  • 컨테이너 런타임: 컨테이너 실행을 담당하는 소프트웨어예요.

클러스터는 각 노드에 추가 소프트웨어가 필요할 수 있어요. 예를 들어 Linux 노드에서 로컬 컴포넌트를 감독하기 위해 systemd를 실행할 수도 있습니다.

애드온 (Addons)

애드온은 Kubernetes의 기능을 확장해요. 몇 가지 중요한 예는 다음과 같습니다.

아키텍처의 유연성 (Flexibility in Architecture)

Kubernetes는 이러한 컴포넌트를 배포·관리하는 방식에 유연성을 허용해요. 아키텍처는 작은 개발 환경부터 대규모 프로덕션 배포까지 다양한 요구에 맞게 조정될 수 있습니다.

각 컴포넌트에 대한 자세한 정보와 다양한 클러스터 아키텍처 구성 방법은 클러스터 아키텍처 페이지를 참고하세요.

더 알아보기 (Learn more)