본문 바로가기

Cloud Study/k8s

[K8S] 구성요소 및 API

쿠버네티스 구성요소

1. Master

Kubernetes Control Plane을 제공한다. 클러스터에 대한 전반적인 결정을 수행하고 이벤트를 감지하고 이에 대응한다.

 

(1) API 서버

쿠버네티스 클러스터의 모든 구성요소들은 마스터의 API 서버와 메시지를 주고 받는다.

 

(2) etcd(엣지디)

쿠버네티스 클러스터의 모든 상태와 데이터를 저장하는 일관성과 분산시스템을 구성하여 고가용성의 키-값 저장소

 

(3) 쿠버네티스 컨트롤러 관리자(kube-controller-manager)

컨트롤러는 API 서버를 통해 클러스터의 상태를 감시하고, 필요한 상태로 이행하는 기능을 가진다.컨트롤러를 담당하는 마스터의 구성요소이다.

 

(4) Scheduler

노드에 할당되지 않은 새로 생성된 파드를 감시한다. 파드가 실행될 최상의 노드를 찾는 책임을 진다.

 

(5) Kube-controller manager

노드(Node) 컨트롤러 노드를 관리하며, 노드가 다운됐을때 알림과 대응을한다.

레플리케이션(Replication) 컨트롤러 복제 컨트롤러를 사용하는 모든 오브젝트를 관리한다.

알맞은 파드의 수자를 유지하는 기능을 한다.

엔트포인트(Endpoint) 컨트롤러 서비스와 파드를 연결한다.

2. Kubernetes Node

쿠버네티스의 컨테이너 런타임 환경을 제공하며, 동작중인 파드를 유지하는 기능을 담당한다.

 

(1) kubelet(큐블렛)

각 노드에서 실행되는 에이전트, 마스터로부터 제공받은 파드의 구성 정보를 받아서 컨테이너가 동작하는 것을 확보장한다.

 

(2) kube-proxy(프록시)

네트워크 프록시와 부하분산 역할

 

(3) 컨테이너 런타임

컨테이너의 동작을 책임지는 구성요소

3. ADDONS

쿠버네티스 클러스터에 추가할 수 있는 확장기능을 제공한다.

 

1. 클러스터 DNS

쿠버네티스 클러스터 내에 여러 오브젝트에 대한 DNS 레코드를 제공하여 주소기반으로 오브젝트를 찾을 수 있다. 거의 필수기능으로 사용하게 된다.

 

2. 대시보드

쿠버네티스 클러스터를 위한 웹 기반 인터페이스를 제공

 

3. 컨테이너 리소스 모니터링

- 컨테이너에 대한 리소스 사용량을 확인할 수 있는 기능을 제공

- 메트릭스를 사용하여 실시간으로만 데이터를 확인할 수 있으며, 과거 데이터를 저장하지는 않는다.

 

4. 클러스터 로깅

- 컨테이너 로그를 중앙 로그 저장소에 저장하고 관리하는 기능을 말한다.

4. 쿠버네티스 API

1. 알파버전

-  버전 이름에 alpha가 포함된다.

-  버그가 존재할 가능성이 있다.

- 기본적으로 비활성화 되어있다.

- 기능이 중단될 수 있다.

- 다음 릴리즈 공지 시 기능이 변경될 수 있다.

- 쿠버네티스를 개발하는 개발자들이 주로 사용한다.

2. 베타버전

- 버전 이름에 beta가 포함된다.

- 코드 테스트가 완료됐고 기능 활성화를 해도 안전하다.

- 기본적으로 활성화 되어 있다.

- 기술이 변경될 수 있으나 기술지원이 가능하다.

- API 오브젝트의 삭제, 편집 재 생성이 필요할 수 있고, 다운타임이 필요할 수 있다.

3. 안정화버전

- 버전이름에 Vx 또는 X 정수로 표현한다.

- 안정화 버전의 기능은 이후 여러 버전에 걸쳐서 소프트웨어 릴리스에 포함된다.

'Cloud Study > k8s' 카테고리의 다른 글

[k8s] Kubespray로 Kubernetes 설치하기  (0) 2020.08.23