Kubernetes Pod, Service, Deployment
Kubernetes에서 하나의 서비스를 운영할 때 일반적으로 Pod와 Service, Deployment가 운영되는 것을 확인할 수 있습니다. 아래서 각각 역할의 차이에 대해 가볍게 설명하겠습니다.
Pod
Pod는 하나 이상의 컨테이너화된 앱(containerized app), 그리고 필요에 따라 볼륨(volume)을 가지는 그룹입니다. Pod는 Kubernetes에서 사용하는 최소 단위로, 하나의 작은 서비스라고 생각하면 됩니다.
< 출처: https://kubernetes.io/ >
Service
Service는 사용자가 서비스를 사용하기 위해 Pod에 접근할 수 있도록 도와주는 역할(접근 정책 관리)을 합니다. 외부에서 Pod에 직접 접근할 수 있게 하거나, Load Balancing
과 같은 역할을 수행합니다.
Deployment
Deployment는 Pod와 ReplicaSet의 관리 및 업데이트를 합니다. 일반적인 서비스는 무중단 서비스 운영과 대량의 트래픽 수용을 위해 최소 2개 이상의 Pod를 띄워 운영하게 되는데, 이때 Pod의 수량과 업데이트 방식(Rolling
, Blue
Green
, Canary
)을 관리합니다.
< 출처: https://www.ianlewis.org/en/bluegreen-deployments-kubernetes >
댓글남기기