docker run을 실행하면?

  1. 서버에 이미지가 존재하는지 확인한다.
    1. 존재한다면 → 그걸 기반으로 컨테이너를 돌린다.
    2. 존재하지 않는다면 → pull을 받아서 기반으로 컨테이너를 돌린다.

이미지는 레이어로 구성되어있다

이미지는 하나의 덩어리가 아닌 **여러개의 레이어로 구성**되어 있다.

그렇기 때문에 A-B-C 계층의 이미지가 있다면

A-B-C-D 계층의 이미지를 다운로드 하고 싶을 때 D 계층만 다운로드하면 된다.

Untitled


클러스터 이해하기

Untitled

각 워커노드는 도커(컨테이너 런타임), kubelet, kube-proxy 등으로 구성된다.

kubectl

k8s의 사용자가 사용하는 CLI 도구이다.

명령어를 입력하면 마스터 노드의 **kube-api-server에게 REST 요청을 보내 클러스터와 상호작용**한다.

kubelet

마스터노드에서 kube-scheduler가 특정 워커노드에 파드를 배정해주게 되면

kubelet이 **컨테이너 런타임에게 파드 배치를 명령**하는 것이다.

그렇기 때문에 kubelet이 멈추면 워커노드에 파드가 생성되거나 삭제되지 않는다