15단계로 배우는 도커와 쿠버네티스 (서터디)
저는 백수이기 때문에 공부합니다.
08. 디플로이먼트
- 디플로이먼트의 주된 역할은 파드의 개수를 관리
- 기존의 수평 분산 시스템은 로드밸런서 + 같은 스펙의 여러 서버로 구성되어 로드밸런서가 요청을 서버에 전송
- 이를 통해 처리 능력을 높일 수 있으며 장애가 발생하여도 서비스가 지속 가능
- K8S 에서는 파드가 서버의 역할을 담당함
- 디플로이먼트는 요청한 개수만큼 파드를 기동하고, 장애 등의 이유로 파드의 개수가 줄어들면 새롭게 파드를 만들어 기동함.
- 애플리케이션의 버전을 업그레이드 할 때 새로운 버전의 파드로 바꿔줌
- 로드밸런서 기능은 디플로이먼트가 아닌 K8S의 서비스가 담당
- 혼자 동작하지 않고 레플리카셋과 함께 동작함.
1. 기능
- 스케일 기능
- 롤아웃 기능 : 컨테이너의 업데이트
- 롤백 기능 : 예전 컨테이너로 되돌림
- 자동 복구 : 컨테이너 수준의 장애가 발생하였을 경우 (종료되었을 경우) 자동으로 복구
09. 서비스
- 파드는 일시적인 존재기 때문에 IP 주소가 계속 변경됨. 클라이언트 입장에선 파드의 IP 주소를 파악하기 어렵기 때문에 서비스라는 오브젝트를 통해서 관리
- 서비스는 ClusterIP, NodePort, LoadBalancer, ExternalName 타입이 있음
- 세션 어피니티 : 동일한 클라이언트에서 온 요청을 같은 파드에 전송하고 싶을 때 사용 (클라이언트 IP 주소에 따라 전송 파드가 결정됨)
10. 잡과 크론잡
- 잡 : 파드에 있는 모든 컨테이너가 정상적으로 종료할 때 까지 재실행
- 크론잡 : UNIX 크론과 같은 포맷으로 실행 스케줄을 지정