Fairy ' s

[K8s] CLI 본문

Study/K8s

[K8s] CLI

berafairy 2023. 7. 12. 15:08

 

Container Runtime Interface (CRI)

어떤 공급업체든 OCI 표준을 준수하는 한에서 쿠버네티스의 컨테이너 런타임으로 작업하게 해준다. 
- Open Container Initiative (OCI) : 이미지 스펙과 런타임 스펙의 기준으로 구성돼 있다.

  • Dockershim : Docker는 CRI가 도입되기 전에 만들어졌고, 여전히 가장 지배적인 컨테이너 도구이기 떄문에, CRI 밖에서 Docker를 지속 지원하는 임시방편으로 만들어진 도커 지원 방식이다.

    • 하지만 Dockershim을 유지하기 위한 불필요한 노력으로 문제가 커졌기 때문에, Dockershim을 완전히 제거하였다.
    • 따라서 Docker 자체는 쿠버네티스에서 지원 런타임으로 제거되었다.
    • Docker 지원이 해제 된 뒤에도 Docker의 이미지들은 OCI의 표준을 모두 준수하기 때문에 여전히 작동한다. 
  • ContainerD : Docker의 일부지만, 현재는 독립된 프로젝트로, CRI 호환이 가능하고 다른 런타임처럼 쿠버네티스와 직접적으로 작업할 수 있다. Docker와 별도로 자체 런타임으로 사용될 수 있다.

 

CLI 명령어


nerdctl

  • Docker 지원이 해제 된 후 사용할 수 있는 CLI는 nerdctl이 있다.
  • Docker CLI와 같거나 그 이상의 기능을 지원한다.
  • 컨테이너를 만드는 데 일반 목적으로 사용된다.
$ docker
$ nerdctl

$ docker run --name redis redis:airplane
$ nerdctl run --name redis redis:airplane

$ docker run --name webserver -p 80:80 -d nginx
$ nerdctl run --name webserver -p 80:80 -d nginx

 

circtl

  • cri 호환이 가능한 컨테이너 런타임과 상호작용하거나, 디버깅 목적으로 사용된다.
  • 컨테이너 생성엔 이상적으로 사용되진 않는다.
  • 쿠버네티스 커뮤니티에서 개발, 관리하고 모든 다양한 컨테이너 런타임에 걸쳐 작동한다.
  • 별도로 설치가 필요하며, Docker 명령어와 유사하다.
  • Kubelet과 함께 작동한다.
$ crictl 

$ crictl pull busybox

$ crictl images

$ crictl ps -a

$ crictl exec -i -t <container ID> ls

$ crictl logs <container ID>

$ crictl pods

 

$ crictl --runtime-endpoint <endpoint>

endpoint ▽
unix:///var/run/dockershim.sock
unix:///run/containerd/containerd.sock
unix:///run/crio/crio.sock
unix:///var/run/cri-dockered.sock


CRI에 대한 Runtime Endpoint를 지정하는데 사용하는 명령어로, CRI가 컨테이너 런타임과 통신하는 통신 채널 또는 소켓을 지정한다. 연결이 설정되면 crictl 명령을 사용하여 해당 런타임 내에서 컨테이너를 관리하고 검사할 수 있다.

 

CTR CLI

  • ContainerD와 함께 제공되고 작동한다.
  • 디버깅 목적으로만 사용되며 기능도 제한되어 있다. 

Docker와 crictl CLI 비교 차트
>> 참고 자료 <<

 

 

'Study > K8s' 카테고리의 다른 글

[K8s] Pods  (0) 2023.07.28
[K8s] Kube Scheduler & Kublet & Kube Proxy  (0) 2023.07.12
[K8s] Kube Controller Manager & Kube API Server  (0) 2023.07.12
[K8s] ETCD  (0) 2023.07.11
[K8s] Cluster Architecture  (0) 2023.07.11
Comments