k8s 공부

luckygamza·2021년 8월 26일

도커, 쿠버네티스가 나온 배경

개발을 하다 보면 자바 버전, 빌드 도구 버전 등 때문에 개발환경이 꼬이는 경우가 많다.
언제 어디서 개발을 하던 동일한 개발환경에서 작업할 수 있는 방법이 필요해졌다.
도커는 개발환경을 컨테이너화해서 동일한 개발환경을 만들기 위해 나온 툴이다.

시간이 지나면서 이러한 컨테이너들이 엄청나게 많아졌다.
이렇게 수많은 컨테이너들을 쉽게 관리할 수 있는 방법이 필요해졌다.
쿠버네티스는 이렇게 수많은 컨테이너들을 쉽게 관리하기 위해 나온 컨테이너 오케스트레이션 툴이다.

쿠버네티스 구조

쿠버네티스는 하나의 마스터 노드와 여러 대의 워커 노드들로 이루어진 클러스터 구조이다.

마스터노드는 크게
1) API server
2) etcd
3) scheduler
4) kube-controller manager
5) cloud-controller manager
로 이루어져 있다.

API server

쿠버네티스의 운영자 역할.
kubectl로, 혹은 컴포넌트들로부터 요청을 받아 해당 컴포넌트들에게 요청을 전달해주는 역할을한다.

etcd

쿠버네티스의 서기 역할.
쿠버네티스의 모든 설정, 상태 정보를 key-value 형태로 가지고 있다. 버전 롤백 요청이든, 노드 생성 요청이든 모든 요청은 API 서버를 거쳐 etcd에 기록된다.

scheduler

쿠버네티스의 스케줄러 역할.(더 적합한 말을 못 찾겠다)
새로운 pod를 생성하는 요청이 오면 pod를 생성하기 적절한 노드를 알려준다.

pod
쿠버네티스의 가장 작은 단위. 컨테이너들이 담겨있다.

kube-controller manager

쿠버네티스 클러스터에서 동작하는 여러 컨트롤러들을 관리한다.

cloud-controller manager

클라우드 공급자(aws 등)와 일하는 컨트롤러들을 관리한다.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

0개의 댓글