Table of Contents

Kubernetes

Small Kubernetes

kind

Terms

Docs

새로 개발한 애플리케이션을 쿠버네티스에서 사용하는 과정

쿠버네티스 기능

쿠버네티스 특징

https://kubernetes.io/ko/case-studies

k8s 클러스터를 구성하는 코어 프로세스

애드온 컴포넌트

개발자를 위한 쿠버네티스 개념

<uml>
[디플로이먼트] –

> [레플리카세트]


[

크론잡] –

> [잡]


[

데몬세트] –

> [파드]


[

레플리카세트] –

> [파드]


[

스테이트풀세트] –

> [파드]


[

잡] –

> [파드]


[

레플리케이션 컨트롤러] –

> [파드]


[

파드] ←- [서비스]
[파드] ←- [수평적 파드 오토스케일러]
[파드] –

> [컨테이너]


[

파드] ←- [스평적 파드 오토스케일리]
[파드] ←- [PodDisruption Budget]
[컨테이너] –

> [볼륨]


[

볼륨] –

> [컨피그맵]


[

볼륨] –

> [시크릿]


[

볼륨] –

> [PersistentVolumeClaim]


[

볼륨] –

> [다운워드 API]


[

볼륨] –

> [HostPath, EmptyDir]


<

/uml>

주요 구성 요소

kubectl

쿠버네티스는 kubectl이라는 커맨드라인 인터페이스를 제공한다. 쿠버네티스 클러스터의 커맨드를 실행하거나 상호 작용하는데 사용한다.

마스터 노드

마스터는 쿠버네티스의 두뇌와 같다. 여러 가지 지원 서비스의 도움을 받아 클러스터 동작을 조율한다. API 서버스케줄러리플리케이션 컨트롤러로 구성된다. 애플리케이션의 상태를 관리하고 스케줄링하고 규모를 늘리거나 줄이는 등의 작업을 관리한다.

API 서버

API 서버는 쿠버네티스와 상호 작용하는 데 필요한 REST API를 외부에 제공한다.
클라이언트(kubectl)와 쿠버네티스 클러스터 사이에서 일어나는 외부 통신음 모두 이러한 API 서버를 이용해 처리된다.
또한 워커 노드와 마스터 노드 사이에서 발생하는 클러스터 내부 통신도 API 서버를 거친다.
오브젝트의 상태를 저장하기 위해 분산 키-밸류 스토어(etcd)와 통신하는 유일한 컴포넌트다.

kubectl run myTomcat --image=Tomcat --replicas=3

kubectl은 클러스터 안에 톰캣 인스턴스 3개를 구동하려는 사용자의 '의도', 즉 요청을 API 서버로 전달한다.
그러면 API 서버는 스케줄러, 리플리케이션 컨트롤러와 연동해 요청을 처리함으로써 클러스터를 원하는 상태로 전환한다.

워커 노드

워커 노드(worker node)는 포드가 스케쥴링돼 실제로 구동되는 곳이다. 각 워커 노드마다 큐브릿(kubelet)이라 부르는 에이전트가 실행된다.

쿠버네티스 클러스터 외부 저장소를 사용하는 것이 적합한 사용 사례

Docs

출처