Kubernetes
쿠버네티스란?
컨테이너 오케스트레이션을 위해 사용한다.
선언형 인터페이스로 Desired State를 선언한다.
YAML
데이터 직렬화에 사용되는 포맷/양식 중 하나
- 직렬화 : 서비스간에 Data 를 전송할 때 쓰이는 포맷으로 변환하는 작업
kubernetes manifests, docker compose에 사용된다.
POD
쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위
- 쿠버네티스는 Pod 단위로 스케줄링, 로드밸런싱, 스케일링 등의 관리 작업을 수행
- Pod은 Container 를 감싼 개념이라고 생각할 수 있습니다.
- 하나의 Pod 은 한 개의 Container 혹은 여러 개의 Container 로 이루어져있을 수 있습니다.
- Pod 내부의 여러 Container는 자원을 공유합니다.
- Pod은 Stateless 한 특징을 지니고 있다.
Deployment
Pod와 Replicaset에 대한 관리를 제공하는 단위
- 관리 : Self-healing, Scaling, Rollout(무중단 업데이트)과 같은 기능을 포함
- Deployment 는 Pod을 감싼 개념이라고 생각할 수 있습니다.
- Pod을 Deployment로 배포함으로써 여러 개로 복제된 Pod, 여러 버전의 Pod을 안전하게 관리할 수 있습니다.
Service
쿠버네티스에 배포한 애플리케이션(Pod)을 외부에서 접근하기 쉽게 추상화한 리소스
- Pod 은 IP 를 할당받고 생성되지만, 언제든지 죽었다가 다시 살아날 수 있으며, 그 과정에서 IP 는 항상 재할당받기에 고정된 IP 로 원하는 Pod에 접근할 수 없습니다.
- 따라서 클러스터 외부 혹은 내부에서 Pod에 접근할 때는, Pod의 IP 가 아닌 Service를 통해서 접근하는 방식을 거칩니다.
- Service 는 고정된 IP 를 가지며, Service는 하나 혹은 여러 개의 Pod 과 매칭됩니다.
- 따라서 클라이언트가 Service의 주소로 접근하면, 실제로는 Service 에 매칭된 Pod에 접속할 수 있게 됩니다.
PVC
Persistent Volume (PV), Persistent Volume Claim (PVC) 는 stateless 한 Pod이 영구적으로 데이터를 보존하고 싶은 경우 사용하는 리소스
- Docker의 도커 볼륨과 비슷한 역할
- PV는 관리자가 생성한 실제 저장 공간의 정보를 담고 있고, PVC는 사용자가 요청한 저장 공간의 스펙에 대한 정보를 담고 있는 리소스입니다.
What is MLOps?
쿠버네티스 튜토리얼