Kubernetes 클러스터 아키텍처

Kubernetes 클러스터 아키텍처 An architecture diagram generated by Archify. kubectl / 클라이언트 · API 요청 · Architecture component kubectl / 클라이언트 API 요청 kube-apiserver · API 프론트엔드 · 컨트롤 플레인 kube-apiserver API 프론트엔드 etcd · 키-값 저장소 · 컨트롤 플레인 etcd 키-값 저장소 kube-scheduler · 노드 선택 · 컨트롤 플레인 kube-scheduler 노드 선택 kube-controller-manager · 컨트롤러 · 컨트롤 플레인 kube-controller-manager 컨트롤러 cloud-controller-manager · 클라우드 제공업체 API · 컨트롤 플레인 cloud-controller-manager 클라우드 제공업체 API kubelet · 노드 에이전트 · 워커 노드 kubelet 노드 에이전트 컨테이너 런타임 · containerd / CRI-O · 워커 노드 컨테이너 런타임 containerd / CRI-O Pods · 실행 중인 워크로드 · 워커 노드 Pods 실행 중인 워크로드 kube-proxy · 네트워크 규칙 · 워커 노드 kube-proxy 네트워크 규칙 kubectl / API 읽기 / 쓰기 파드 감시 감시 / 조정 감시 / 조정 파드 할당 CRI 실행 트래픽 전달 컨트롤 플레인 워커 노드 Legend 백엔드 서비스 데이터 저장소 외부 시스템

컨트롤 플레인

  • • kube-apiserver는 Kubernetes API를 노출한다
  • • etcd는 모든 클러스터 데이터를 저장한다
  • • kube-scheduler는 새 파드가 실행될 노드를 선택한다
  • • kube-controller-manager는 핵심 컨트롤러들을 실행한다
  • • cloud-controller-manager는 클라우드 제공업체 API와 통신한다

워커 노드

  • • kubelet은 노드에서 컨테이너를 관리한다
  • • kube-proxy는 네트워크 규칙과 트래픽 전달을 담당한다
  • • 컨테이너 런타임(containerd, CRI-O 등)이 파드를 실행한다