
쿠버네티스에서 배포할때 사용하는 가장 작은 단위
Docker는 컨테이너를 만드는데, k8s는 컨테이너를 만드는건 맞지만 Pod을 통해서 컨테이너를 관리한다.
Pod 안에 컨테이너가 존재하는 것이다.
Pod 안에는 보통 컨테이너 하나가 있긴한데 여러개를 포함할 수도 있긴 하다.

Scheduler
Kubelet
run 명령어를 통해서 Pod을 생성하거나 할 수 있지만
리소스 설정이 복잡해지고 설정 정보를 관리하기 어렵기 때문에 잘 안쓴다.
대신 Yaml 파일을 통해서 설정 정보를 관리한다.
apiVersion
kind
metadata
name, label 같은 정보spec

컨테이너로 어떤 서버를 실행을 하면, 컨테이너는 생성 되어도 내부적으로 서버가 아직 실행이 덜 되었을 수도 있다.
이 상태에서 접속하게 되면 에러가 발생할 것이다.
Pod에서는 서비스가 준비 되었다 라는 것을 체크할 수 있는 기능을 제공한다.
컨테이너가 정상적으로 동작하는지 주기적으로 체크하고,
이상이 있으면 컨테이너를 재시작한다
컨테이너가 준비되었는지 체크하고, 준비되지 않았다면 Pod으로 들어오는 요청을 막는다
Pod이 10개인데 5개가 준비가 안되었다고 하면, 준비된 5개로만 요청을 보낸다
실제 서비스에서는 보통 둘 다 같이 작용한다
정상적으로 서버가 준비되었을때 요청을 받고, 이상이 있으면 재시작 한다
보통 한 Pod에 하나의 컨테이너만 존재하지만, 여러개의 컨테이너가 존재하기도 한다
같은 Pod에 속한 컨테이너들은 네트워크를 localhost로 공유하고, 동일한 디렉토리를 공유할 수 있다