작성
·
461
·
수정됨
0
강의 9분대에서 실습하면서 궁금한 점이 있어 질문드립니다!
k8s 에서 docker 를 CRI로 사용할 때 파드를 배포한 후에 docker 를 중지하고 curl 접속을 하면 접속이 안되고
containerd 를 CRI로 사용할 때 파드를 배포한 후에 containerd 를 중지하고 curl 접속을 하면 접속이 되는데
무슨 차이일까요??
docker와 containerd 의 어떤 차이점이 있어서 그런걸까요?
알려주시면 감사하겠습니다!![root@m-k8s ~]# k create deployment sy-deploy --image=nginx
deployment.apps/sy-deploy created
[root@m-k8s ~]# k get po
NAME READY STATUS RESTARTS AGE
static-web-m-k8s 1/1 Running 1 (156m ago) 153m
sy-deploy-84f55cfcf9-6twr9 1/1 Running 0 3s
[root@m-k8s ~]# k scale deployment sy-deploy --replicas=6
deployment.apps/sy-deploy scaled
[root@m-k8s ~]# k get po
NAME READY STATUS RESTARTS AGE
static-web-m-k8s 1/1 Running 1 (157m ago) 153m
sy-deploy-84f55cfcf9-6twr9 1/1 Running 0 30s
sy-deploy-84f55cfcf9-9jxwz 0/1 ContainerCreating 0 2s
sy-deploy-84f55cfcf9-dd7pg 0/1 ContainerCreating 0 2s
sy-deploy-84f55cfcf9-jzsrv 0/1 ContainerCreating 0 2s
sy-deploy-84f55cfcf9-l5qpr 0/1 ContainerCreating 0 2s
sy-deploy-84f55cfcf9-zl9zt 0/1 ContainerCreating 0 2s
[root@m-k8s ~]# k get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
static-web-m-k8s 1/1 Running 1 (157m ago) 153m 172.16.171.71 m-k8s <none> <none>
sy-deploy-84f55cfcf9-6twr9 1/1 Running 0 46s 172.16.221.156 w1-k8s <none> <none>
sy-deploy-84f55cfcf9-9jxwz 1/1 Running 0 18s 172.16.132.30 w3-k8s <none> <none>
sy-deploy-84f55cfcf9-dd7pg 1/1 Running 0 18s 172.16.132.31 w3-k8s <none> <none>
sy-deploy-84f55cfcf9-jzsrv 1/1 Running 0 18s 172.16.221.157 w1-k8s <none> <none>
sy-deploy-84f55cfcf9-l5qpr 1/1 Running 0 18s 172.16.103.162 w2-k8s <none> <none>
sy-deploy-84f55cfcf9-zl9zt 1/1 Running 0 18s 172.16.103.161 w2-k8s <none> <none>
# containerd 중지
[root@w1-k8s ~]# systemctl stop containerd
[root@w1-k8s ~]# systemctl status containerd
● containerd.service - containerd container runtime
Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sat 2023-10-14 23:49:00 KST; 8s ago
Docs: https://containerd.io
[root@m-k8s ~]# k get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
static-web-m-k8s 1/1 Running 1 (158m ago) 154m 172.16.171.71 m-k8s <none> <none>
sy-deploy-84f55cfcf9-6twr9 1/1 Running 0 75s 172.16.221.156 w1-k8s <none> <none>
sy-deploy-84f55cfcf9-9jxwz 1/1 Running 0 47s 172.16.132.30 w3-k8s <none> <none>
sy-deploy-84f55cfcf9-dd7pg 1/1 Running 0 47s 172.16.132.31 w3-k8s <none> <none>
sy-deploy-84f55cfcf9-jzsrv 1/1 Running 0 47s 172.16.221.157 w1-k8s <none> <none>
sy-deploy-84f55cfcf9-l5qpr 1/1 Running 0 47s 172.16.103.162 w2-k8s <none> <none>
sy-deploy-84f55cfcf9-zl9zt 1/1 Running 0 47s 172.16.103.161 w2-k8s <none> <none>
[root@m-k8s ~]# curl 172.16.221.156
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
답변 3
0
+CRI의 관점에서 Docker도 ContainerD를 이용하기 때문에 차이는 거의 없습니다. 다만 일부 타이밍 이슈(그래서 시간대 / 기다린 시간 물어봄)가 있을 수도 있습니다.
0
내용을 다시 읽어보니 2개가 차이가 발생했다고 적어주셨는데...
실습하신 내용에는 ContainerD만 있고..정확한 재현 순서 및 시간(시간 1분인지 5분인지...) 등의 정보가 없어서 정확한 설명이 어려울 것 같습니다.
설명이 필요하시다면 각각의 CRI의 상태와 재현 순서 및 기다린 시간대등 제가 실제로 테스트 또는 해석해서 적을 수 있는 정보를 제공해 주시기를 부탁드립니다.
0
안녕하세요
현재 실습 환경(v1.25)에서는 docker는 (정확하게는 docker 내부에 있는 ContainerD는 사용하지 않습니다.)
간단하게 ps를 살펴보시면 아마 현재 상태를 확인하실 수 있을 것 같습니다.
위의 내용도 이와 연관해서 확인되신 내용 같습니다. (v1.22 환경/main 브랜치가 아니라 1.22 브랜치
으로 작성하신다면 해당 내용과 다른 결과를 확인하실 수 있을 것 같습니다.)
[root@cp-k8s ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@cp-k8s ~]# crictl ps
CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD
4855194303f5c 821b3dfea27be 5 minutes ago Running kube-controller-manager 2 475b6ae5de7e4 kube-controller-manager-cp-k8s
94d57f6a5098c 45ae357729e3a 5 minutes ago Running calico-kube-controllers 1 76403fafddbc2 calico-kube-controllers-74d5f9d7bb-66sz8
9a4543bcbf16c ead0a4a53df89 5 minutes ago Running coredns 1 80132c0caad23 coredns-5dd5756b68-7p6kj
af099f333f37a ead0a4a53df89 5 minutes ago Running coredns 1 c9817ee93f9f0 coredns-5dd5756b68-xtdrt
b8a76b6db4449 191b3797a6626 5 minutes ago Running speaker 2 6f88e00121268 speaker-2h2jw
e69af43fccd8b 44f52c09decec 6 minutes ago Running calico-node 1 73d0ff86839e1 calico-node-2f4wc
09a16bda7b0f9 6cdbabde3874e 6 minutes ago Running kube-proxy 1 70e73d88a6a88 kube-proxy-hlk5c
b2656eaadcbb0 73deb9a3f7025 6 minutes ago Running etcd 1 0161db4e70b29 etcd-cp-k8s
71b000e3e6bac b462ce0c8b1ff 6 minutes ago Running kube-scheduler 1 5e981713ef1e5 kube-scheduler-cp-k8s
3f3f85151c14e 5c801295c21d0 6 minutes ago Running kube-apiserver 1 71710e8974aee kube-apiserver-cp-k8s