본문 바로가기
IT study/Kubernetes

01. kubernetes 사용을 위한 아키텍쳐

by 핸조 2022. 11. 26.

실습하고 까먹어서 기록하는

 

- Kubernetes 란 ?

   컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성, 확장 가능한 오픈소스 플랫폼

 

- Kubernetes 가 왜 필요한가 ?

만약 하나의 서버에서 docker를 사용을 한다면 Kubernetes를 사용할 이유는 없다.

하지만 2개 이상의 서버에서 docker를 사용 또는 다수의 서버에서 docker를 사용하게 된다면

어느 시스템에 제일 적합하게 컨테이너를 생성하는 것이 맞는지 생각해야된다.

이것을 Kubernetes가 파악하고 자동으로 배포하고 생성합니다.

 

Master node

- 주요 컨트롤 유닛으로서 worker node를 관리하는 주체.

- 클러스터에 관한 전반적인 결정, 이벤트 감지, 반응역할

 

etcd

- 설정관리, 서비스 디스커버리, 스케줄링 등을 위한 데이터를 저장하는 장소.

- key-value 형태로 데이터 저장

- TTL(Time to Live), watch 같은 부가서비스 제공

- Cluster의 모든 정보가 etcd에 저장이 되므로 항상 backup.

 

kubectl

- 관리자가 K8s에 명령 및 관리하기 위해 사용하는 CLI 커맨드 도구.

- API server로 요청.

 

kubelet

- worker node 에서 실행되는 데몬, 에이전트

- c advisor 컨테이너 모니터링 툴이 포함되어있다. (H/W 정보, 컨테이너 정보 등  etcd에 저장)

 

API Server

- 모든 조회나 요청을 담당.

- Rest API를 통해 etcd 정보 조회 및 업데이트 하고 명령을 실행.

- 관리자 요청 뿐 만 아니라 다양한 내부 모듈과 통신.

 

Controller

- 논리적으로 다양한 컨트롤러가 존재

- 지속적으로 상태를 체크하고 원하는 상태 유지

 

Scheduler

- 생성된 pod를 감지하고 실행할 노드를 선택

- pod 생성을 위해 요청한 리소스, 우선순위 및 기타 제약조건에 따라서 노드에 bind 역할.

 

Worker Node

- 할당된 task를 요청대로 수행하는 시스템.

- 컨테이너들 간의 네트워크등 서비스에 필요한 전반적인 일들을 마스터노드와 통신

 

Pod

- 1개 이상의 컨테이너가 캡슐화 되어 클러스터 안에서 배포되는  가장 작은 배포 단위

- 하나의 파드(pod)에는 하나 이상의 컨테이너가 포함된다. 필요에 따라 하나의 파드에 여러 컨테이너를 포함시킬 수 있다.

- 파드는 노드 IP와 별개로 고유 IP를 할당 받으며, 파드(pod) 안의 컨테이너들은 그 IP를 공유한다.

- 파드는 클러스터에서 배포의 초쇠 단위이고, 특정 네임스페이스(namespace)안에서 실행된다.

- 파드는 기본적으로 반영속적이다.

* 반영속적 - k8s에서 파드는 무언가가 구동 중인 상태를 유지하기 위해 동원되는 일회성 자원, 필요에 따라 언제든지 삭제될 수 있다.

출처 : https://seongjin.me/kubernetes-pods/

 

파드(Pod)의 개념과 생명 주기, 그리고 상태 진단을 위한 프로브(Probe) 활용

쿠버네티스 클러스터에서 이용되는 최소 단위의 객체인 파드(Pod)에 대해 자세히 알아본다. 파드의 개념과 종류, 생명 주기, 그리고 프로브(Probe)를 이용한 상태 진단법을 살펴보기로 하자.

seongjin.me

 

Container  Run-time

- 컨테이너를 실행하는 엔진

     - docker(k8s가 v1.24 부터 엔진 지원 종료), containerd, runc

 

 

 

 

'IT study > Kubernetes' 카테고리의 다른 글

05. yaml 템플릿 및 API Version  (0) 2022.12.08
04. K8S namespace 생성  (0) 2022.12.08
03. kubectl command 및 pod 생성  (0) 2022.12.07
02. K8S 구축하기  (0) 2022.12.06