-
[Kubernetes] ObjectsDevOps/Kubernetes 2022. 1. 11. 19:38
Kubernetes Objects
Pod
- 가장 작은 배포 단위
- 쿠버네티스는 컨테이너를 직접 관리하지 않고 Pod으로 감싸서 관리함
- 전체 클러스터에서 Pod 별로 고유한 IP 할당
- 하나의 Pod 안에 여러 개의 컨테이너가 속할 수 있음
ReplicaSet
- 여러 개의 Pod를 관리
- 새로운 Pod은 Template을 참고하여 생성
- 새로운 Pod을 생성하거나 기존의 Pod을 제거하여 원하는 Replica 수를 유지함
Deployment
- 배포 버전 관리
- 무중단 배포를 위해 내부적으로 ReplicaSet을 이용
Service
ClusterIP
- 클러스터 내부에서 사용하는 프록시 → 클러스터 내부의 Pod들을 로드밸런서하는 서비스
- Pod은 동적이지만, 서비스는 고유 IP를 가짐
- Pod이 업데이트될 때, 자신의 IP를 유지한 상태로 업데이트되는 것이 아니라 현재 Pod을 삭제하고 새로운 Pod을 생성하는 매커니즘이기 때문에 요청받을 고유한 IP가 필요함
NodePort
- 노드(host)에 노출되어 외부에서 접근 가능한 서비스
- ClusterIP는 내부에서만 통신할 수 있음
- 모든 노드에 동일한 포트로 생성
LoadBalancer
- 하나의 IP 주소를 외부에 노출
- 각각의 Node에 트래픽 분산
Ingress
- 도메인 또는 경로별 내부의 ClusterIP를 연결하여 라우팅
- 특정 도메인에 대해 모두 NodePort나 LB를 만들면 자원이 낭비됨
Reference
https://www.youtube.com/watch?v=-gIyfII5eak&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb&index=7
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] Architecture (0) 2022.01.11 [Kubernetes] Container Orchestration (0) 2022.01.09