- 컨테이너를 자동화해주는 오케스트레이션 도구이며, 단일 서버에서 도커를 사용한다면 k8s를 사용할 필요는 전혀 없다. idle 상태인 서버에 컨테이너를 자동으로 올려주는 역할을 한다
- 사용 목적
- 다중 컨테이너를 하나의 풀로 구성: k8s는 다중 서버의 도커 데몬에 연결해서 사용한다. 사용자는 서버가 몇개인지 컨테이너가 몇개 실행중인지 알 필요가 없다
- 다중 서버에 분산 컨테이너 생성: 2개의 워커 노드에 3개의 컨테이너를 생성하면 k8s가 알아서 2개의 서버에 컨테이너를 할당한다. 따라서 idle 상태인 서버를 직접 찾을 필요가 없어진다
- 두 서버의 컨테이너간 통신: 각각 private ip가 있는 컨테이너간에
kube-proxy
등을 통해 통신이 가능해진다 - 컨테이너 재생성: 단일 서버에 컨테이너를 생성해 운영하다보면 서버가 죽거나 컨테이너가 죽는 경우 k8s는 이 상황을 방지해준다
- 로드밸런싱: 웹서비스에 3개의 컨테이너가 있는 경우, 사용자가 public ip로 접근할 때 로드밸런싱을 지원해준다