Kubernetes Pods
사전 설정 가정
- 애플리케이션이 이미 개발되어 Docker 이미지로 빌드되었으며, Docker Hub와 같은 Docker 저장소에 있어 Kubernetes가 이미지를 가져올 수 있음
- Kubernetes 클러스터가 이미 설정되어 있고 작동 중임 (단일 노드 설정 또는 다중 노드 설정 모두 가능)
Kubernetes와 Pods
- Kubernetes는 컨테이너를 직접 워커 노드에 배포하지 않음
- 컨테이너는 Pods라고 하는 Kubernetes 객체로 캡슐화됨
- Pod는 애플리케이션의 단일 인스턴스이며, Kubernetes에서 생성할 수 있는 가장 작은 객체임
- 사용자 수 증가에 따라 애플리케이션을 확장하려면 추가 인스턴스를 포함하는 새로운 Pod를 생성함
Pod와 컨테이너의 관계
- 일반적으로 Pod는 애플리케이션을 실행하는 컨테이너와 일대일 관계를 가짐
- 단일 Pod 내에 여러 컨테이너를 가질 수 있지만, 이는 일반적으로 같은 종류의 여러 컨테이너가 아니라 보조 작업을 수행하는 헬퍼 컨테이너의 경우임
Kubernetes의 Pods와 Docker 컨테이너
Docker에서는 애플리케이션의 로드가 증가함에 따라
Docker run
명령을 여러 번 실행하여 인스턴스를 추가로 배포함Kubernetes의 Pods는 네트워크 연결, 볼륨 공유, 컨테이너 상태 모니터링 등을 자동으로 관리함
Pods 배포
kubectl run
명령은 Pod를 생성하고 Docker 컨테이너 인스턴스를 배포함kubectl get pods
명령을 사용하여 클러스터 내의 Pod 목록을 확인할 수 있음