Kubernetes의 구성요소로는 Container, Pod, Node 등 구성요소가 다양하다.
각 구성요소는 어떤 역할을 수행하며, 구성요소가 어떻게 합쳐져 구성될 수 있을지 정리해보겠다.
Kubernetes는 컨테이너화 된 Application을 자동으로 배포, 스케일링, 운영 하는 오픈 소스 플랫폼 이며, 아래 이미지와 같이 구조가 계층적으로 구성되어 있다.
Kubernetes의 전체 시스템을 뜻하며, 여러 개의 Node로 구성된 집합체이다.
구성요소
Kubernetes 클러스터 내에서 컨테이너가 실제로 실행되는 물리적/가상 서버
구성요소
Kubernetes에서 배포 가능한 가장 작은 단위이며, 하나 이상의 컨테이너 그룹을 칭하기도 한다.
하나의 Pod는 하나 이상의 컨테이너를 포함할 수 있으며, 이들은 같은 네트워크를 공유한다.
일반적으로 하나의 Application 단위를 실행한다.
Pod에 Container 가 여러개 있을 순 있지만, 보통은 다른 Application 모음을 한 Pod 내에 배치.
Kubernetes에서 Application의 사용자가 많아지고 트래픽이 증가한다면 Pod를 생성하여 복제하고, 다시 규모를 줄일 때에는 기존의 Pod를 없앤다.
애플리케이션 실행에 필요한 코드, 라이브러리, 설정 파일 등이 포함된 독립적인 실행 환경
Docker, containerd 등의 Container Runtime을 통해 실행된다.