Kubernetes Architecture

SangRok Jung·2023년 3월 27일
0

Kubernetes

목록 보기
2/2
post-thumbnail

Kubernetes Architecture



1. Pod

Pod는 Kubernetes 세계의 가장 작은 단위로 생각할 수 있으며 하나 또는 여러개의 컨테이너를 보유하고 구성 파일에서 정의 할 수 있다. Master Nod에 의해 관리된다.

1-1 Volume

Volume은 Pod 내부 컨테이너가 통신할 수 있는 하드 드라이브의 일부 공간이다.

2. Worker Node

Worker Node는 특정 양의 CPU와 메모리가 있는 Kubernetes 내부에 있는 가상 머신이며 Worker Node 내부에서 하나 이상의 Pod가 실행된다. AWS로 예를들면 EC2 인스턴스가 Worker Node가 되는것이다. Kubernetes 작업시 일반적으로 하나 이상의 Worker Node가 필요하며 여러 Worker Node에서 동일한 컨테이너를 실행하여 워크로드를 고르게 분배할 수 있다. Master Node에 의해 관리된다.
Worker Node 내부에 Docker, Kubelet 등의 소프트웨어가 실행된다.

2-1. Proxy / Config

Proxy는 Worker Node 내부에 존재하여 Worker Node의 Pod Network Trapic의 제어를 설정하는 도구다. Pod의 인터넷 연결 가능 여부와 Pod내부에서 실행되는 컨테이너를 외부에서 접근이 가능하게 제어한다.

3. Master Node

Master Node는 Control Plane을 가지고 있으며 Worker Node 상에서 실행중인 Pod와 상호작용하는 책임을 가지는 독립적인 Server다.

3-1. Control Plane

Control Plane은 Master Node 내부에서 Worker Node와 상호작용 하여 제어하는 컨트롤 센터다. 모든 Woker Node와 Pod 및 Container를 제어하고 Pod를 실행 및 교체하거나 종료한다.

3-2 API Server

API Server란 Master Node에서 Worker Node의 통신을 위해 실행되는 서비스다.

3-3 Scheduler

Scheduler는 Master Node에서 Worker Node, Pod를 관찰하고 Pod가 비정상적인 상태거나 새로운 Pod를 생성해야하는 경우 Worker Node에 전송할 사항을 API Server에 알린다.

3-4 Kube-Controller-Manager

Kube-Controller-Manager는 모든 Worker Node를 감시하고 제어하며 적당한 Pod를 가동하고 있는지 확인한다. API Server, Scherduler와 연동되며 클라우드 프로바이더에게 무엇을 해야하는지 명령을 번역하여 전송합니다.

4. Cluster

Cluster는 Worker Node와 Master Node를 가지고 있으며 하나의 네트워크를 형성하여 클라우드 프로바이더 API에 명령을 보내 최종 상태를 해당 클라우드 프로바이더에 복제하도록 지시한다.

0개의 댓글