PaaS 환경 구축/운영 방식 추가
목차 | ||
---|---|---|
|
...
1. 쿠버네티스 아키텍처
1.1 인프라 환경에 따른 쿠버네티스 구축
...
1.2 쿠버네티스 구축 예시
...
...
2. 쿠버네티스 구성요소
...
2.1 Control Plane
(1) kube-apiserver
쿠버네티스 클러스터로 들어오는 요청을 가장 앞에서 접수하는 역할을 합니다.
kubectl을 사용하여 명령을 수행할 경우 kube-apiserver로 전송합니다.
(2) kube-scheduler
새로 생성된 파드를 감지하고, 어떤 노드에 배치되어야 하는지 판단합니다.
파드 스케줄링 결정을 위해 요구사항, 정책제어, 어피니티, 라벨 등 요소를 고려합니다.
(3) kube-controller-manager
컨트롤러 프로세스를 실행하는 컨트롤 플레인 컴포넌트
노드 컨트롤러 : 노드가 다운되었을 때 통지와 대응에 관한 책임을 가집니다.
잡 컨트롤러 : 일회성 작업인 Job 오브젝트를 감시하여 해당 작업을 완료할 때까지 동작하는 파드를 생성합니다.
엔드포인트 컨트롤러 : 서비스와 파드를 연결합니다.
서비스 어카운트&토큰 컨트롤러 : 새로운 네임스페이스에 대한 기본 계정과 API 접근 토큰을 생성합니다.
(4) ETCD
모든 클러스터 데이터를 담는 Key-Value 저장소입니다.
etcd 백업 기능으로 특정 시간의 데이터 백업 수행합니다.
2.2 Node 컴포넌트
(1) kubelet
클러스터의 각 노드에서 실행되는 에이전트
파드에서 컨테이너가 확실하게 동작하도록 관리합니다.
파드 스펙(PodSpec)을 받아 컨테이너 동작을 확실히하며, 쿠버네티스를 통해 생성되지 않은 컨테이너는 관리하지 않습니다.
...
각 노드에서 실행되는 네트워크 프록시로, 쿠버네티스 서비스 개념의 구현부
노드의 네트워크 규칙을 유지 관리하여, 클러스터&파드의 통신을 가능하게 해줍니다.
2.3 공통 컴포넌트
(1) Container Runtime
컨테이너 실행을 담당하는 소프트웨어
쿠버네티스 CRI 구현체인 containerd, CRI-O 와 같은 런타임을 지원합니다.
쿠버네티스에서는 도커를 런타임으로 지원하였으나, v1.24 버전부터 기본 엔진에서 제외했습니다.
...