쿠버네티스는 여러개의 컨테이너화된 애플리케이션을 여러 서버(쿠버네티스 클러스터)에 자동으로 배포, 스케일링 및 관리해주는 오픈소스 시스템
여러 개의 서버를 하나로 묶은 집합, 하나의 서버처럼 동작
애플리케이션 컨테이너를 배포하기 위한 서버(Node)의 집합
쿠버네티스 오브젝트 Manifest 파일을 작성해서 마스터 노드에 있는 API Server에게 요청을 보내는 행위
클러스터의 상태를 저장하고 관리
컨테이너화된 작업을 실행하는데 사용할 수 있는 쿠버네티스 클러스터 노드를 제공합니다.
각 컨테이너가 필요로 하는 CPU와 메모리(RAM)를 쿠버네티스에게 지사합니다.
쿠버네티스는 컨테이너를 노드에 맞추어서 리소스를 가장 잘 사용할 수 있도록 해줍니다.
쿠버네티스는 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체하며, '사용자 정의 상태 검사'에 응답하지 않는 컨테이너를 죽이고, 서비스 준비가 끝날 때까지 그러한 과정을 클라이언트에 보여주지 않습니다.
쿠버네티스를 사용하여 배포된 컨테이너의 원하는 상태를 서술할 수 있으며 현재 상태를 원하는 상태로 설정한 속도에 따라 변경할 수 있습니다.
예를 들어 쿠버네티스를 자동화해서 배포용 새 컨테이너를 만들고, 기존 컨테이너를 제거하고, 모든 리소스를 새 컨테이너에 적용할 수 있습니다.
reference:
https://kubernetes.io/ko/docs/home/
Kubernetes와 Docker로 한 번에 끝내는 컨테이너 기반 MSA