참조 사이트 (Official)
Container Orchestration
Container Orchestration이란 복잡한 컨테이너 환경을 효과적으로 관리하는 것이라고 정의할 수 있고, 그것을 위해 여러가지의 툴이 만들어졌으나 그 중 거의 표준으로 쓰이고 있는 도구(Framework)가 바로 쿠버네티스이다.
아래에서 대표적인 기능 6가지를 알아본다.
1. Cluster
위와 같이 사양이 제각각인 여러 개의 노드(On-premise: 실제 서버, Cloud: VM Instance)가 있을 때 이를 논리적으로 하나인 것처럼 Clustering하여 관리하는 것이 Cluster이다. 이 역할을 수행하는 것이 Master(Control Plane)이고, 하나의 Cluster(Data Plane)로 묶이는 각 Node들은 Worker Node라고 한다.
그렇게 만들어진 Cluster는 Master가 지속적으로 Auto Scaling을 하며 관리한다.
2. State
replicas 값의 변화를 자동적으로 감지하고 그에 맞춰 Pod를 증감시킨다.
과거에 SLB(Server Load Balancer)가 수행하던 일이라고 한다.
위와 같이 3이 되었을 경우 Pod 하나가 생성될 것이고, Pod에 문제가 생겨 동작을 하고 있지 않다면 그 또한 조절한다.
3. Scheduling
하나의 클러스터로 묶여 있는 3개의 Node가 있고, 그 위에 이렇게 애플리케이션이 작동하고 있을 때, 새로운 애플리케이션 인스턴스가 추가되어야 한다면 자동적으로 리소스 낭비가 가장 적도록 할당하는 것이다.
위와 같은 경우 2번째 Node에 추가될 것이고, 같은 규모의 애플리케이션이 또 추가되어야 한다면 Node를 새로 생성하여 그 위에 올린다.
4. ROLLOUT / ROLLBACK
이미지의 배포 버전이 업, 다운됨에 따라 ROLLOUT, ROLLBACK을 자동적 그리고 일괄적으로 처리하여 버전 관리를 수행할 수 있다. 위 상황과 같이 버전이 업그레이드 되면 일괄적 ROLLOUT을, 만약 새 버전에 문제가 발생해서 복구해야 한다면 이전 버전으로 ROLLBACK한다.
5. SERVICE DISCOVERY
Service Discovery는 컨테이너 내부에서 실행되는 서비스(ex: Web Server)의 생성을 자동으로 감지하고 등록하여 프로세스를 재시작하게 하는 기능이다. 이를 통해 관리자가 별도로 설정을 해 줄 필요 없이 외부에서 바로 서비스에 접근할 수 있게 된다.
6. VOLUME
NFS(File Storage), EBS(Block Storage), PD(Block Storage) 등을 Node에 할당하고 연결시켜서 볼륨 스토리지 관리를 할 수 있게 한다.
'IT > Kubernetes' 카테고리의 다른 글
[Lab] Kubernetes Pod & YAML file (0) | 2021.10.29 |
---|---|
Kubernetes Components & Operation (0) | 2021.10.29 |
[Lab] Kubernetes Pod YAML file / Namespace (0) | 2021.10.28 |
Configure of Kubernetes on VMware (Windows10) (0) | 2021.10.28 |