쿠버네티스 노드
- 실제 컨테이너가 기동하는 노드(호스트가 되는 물리 머신 또는 가상 머신
쿠버네티스 마스터
- 쿠버네티스 노드를 관리하는 노드
IaC
- YAML, JSON형식으로 작성한 매니페스트를 통해 배포하는 컨테이너로 주변 리소스 관리 가능
AutoScaling
- k8s 위에 컨테이너(레플리카)를 배포할 때 같은 컨터이너 이미지를 기반으로 한 여러 컨테이너를 배포
Scheduling
- 어떤 쿠버네티스 노드에 배포할 것인지 결정하고 어피니티(Inter-Pod Affinity)와 안티어피니티(Anti-Affinity)기능 사용
- 어피니티와 안티어피니티는 Deployment나 Stateful Set으로 Pod를 배포했을 때 개별 파드 사이의 관계를 정의하는 용도로 사용
- (Inter-Pod Affinity) : Node Affinity가 node Label을 기준으로 Pod가 배포될 Node를 선택한다면, 기존에 배포된 Pod를 기준으로 배포될 Node를 결정
- A의 Pod와 B의 Pod가 자주 통신한다고 했을 때 A와 B의 Pod들을 같은 노드에 속하게 만들어 효율을 높이고, 통신 비용을 줄임
- 안티어피니티 : 특정 Pod와 함께 배포되는 것을 피하도록 배포될 Node를 결정
하드웨어 자원을 많이 사용하는 App Container가 있을 때 같은 Node에 배포되는것을 대비하여 다른 노드로 파드를 분산시킬 수 있다.
Resource Managing
Auto Recovery
Load Balancing, Service Discovery
Data Managing
- K8s는 etcd 클러스터를 구성하여 이중화가 가능하다. 그래서 데이터를 이중화 된 상태로 관리 가능하다.
애플리케이션을 컴퓨팅 공간으로, 주위와 분리해주는 역할
플랫폼, 운영 체제에서 코드를 작성하는 방식