Pod
- 쿠버네티스에서 가장 작은 배포 단위.
- 하나 이상의 컨테이너로 구성될 수 있으며, 컨테이너는 동일한 호스트에서 실행된다.
- 컨테이너는 동일한 네트워크 네임스페이스를 공유하며, 동일한 IP 주소와 포트 범위를 사용한다.
Deployment
- 파드를 관리하는 리소스.
- 파드를 생성하고 업데이트하며, 파드의 상태를 모니터링한다.
- 파드의 수평적인 스케일링을 지원한다.
- 파드에 문제가 발생하면 자동으로 복구한다.
Service
- 파드의 네트워크 엔드포인트를 노출하는 리소스.
- 클러스터 내부 또는 외부에서 파드에 접근할 수 있도록 IP 주소와 포트를 제공한다.
-
클러스터 내부에서 사용 가능한 고유 도메인 이름을 제공한다.(DNS)
- Service 타입
- ClusterIP: 클러스터 내부에서만 접근 가능한 서비스
- NodePort: 클러스터 외부에서 접근 가능한 서비스
- LoadBalancer: 클러스터 외부에서 접근 가능한 로드 밸런서 서비스
- ExternalName: 클러스터 내부에서 외부 서비스에 접근 가능한 서비스
- Headless: 클러스터 내부에서 파드의 IP 주소를 직접 사용할 수 있는 서비스
- Service Mesh: 서비스 메시를 사용하는 서비스
- …
ConfigMap
- kubectl create configmap
- 파드에서 사용하는 환경 변수, 설정 파일 등을 저장하는 리소스.
- 파드가 실행될 때 ConfigMap을 참조하여 환경 변수나 설정 파일을 사용할 수 있다.
- 파드가 실행 중일 때 ConfigMap을 수정하면 파드가 자동으로 변경된 값을 사용할 수 있다.
- ConfigMap을 사용하면 파드의 설정을 중앙에서 관리할 수 있다.
2024-03-17