• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

1.27 kubernetes에서 docker command가 안쓰입니다

24.07.01 11:52 작성 조회수 48

1

안녕하세요.

https://kubetm.github.io/k8s/09-intermediate-architecture/networking/

위 부분의 네트워킹 실습 중

docker ps 명령어를 입력했는데

-bash: docker: command not found

^ 위처럼 명령어를 찾을 수 없다고 하더라구요.

찾아보니 쿠버네티스 1.27 버전에서는 containerd가 container-runtime으로 변경된듯 합니다. Dockershim이 1.24부터 빠졌다는데 이거랑 관련이 있을까요?: https://kubernetes.io/blog/2022/02/17/dockershim-faq/

[root@k8s-master ~]# kubectl get nodes -o wide
NAME         STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                           KERNEL-VERSION                 CONTAINER-RUNTIME
k8s-master   Ready    control-plane   35d   v1.27.2   192.168.56.30   <none>        Rocky Linux 8.9 (Green Obsidian)   4.18.0-513.18.1.el8_9.x86_64   containerd://1.6.21
k8s-node1    Ready    <none>          35d   v1.27.2   192.168.56.31   <none>        Rocky Linux 8.9 (Green Obsidian)   4.18.0-513.24.1.el8_9.x86_64   containerd://1.6.21
k8s-node2    Ready    <none>          35d   v1.27.2   192.168.56.32   <none>        Rocky Linux 8.9 (Green Obsidian)   4.18.0-513.24.1.el8_9.x86_64   containerd://1.6.21

혹시 시간되시면 나중에 실습파트의 명령어 부분을 수정해 주실 수 있으신가요? 강의 정말 잘 듣고 있습니다. 많은 가르침을 주셔서 감사합니다.

답변 2

·

답변을 작성해보세요.

0

안녕하세요. 좋은 질문 감사합니다.

기존 Containerd 명령으로 강의 내용대로 확인을 할 수 있는 명령어를 업데이트 했습니다.

한번 확인해보시고, 잘 안되는 부분 있으면 질문 올려주세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.07.01

안녕하세요, 인프런 AI 인턴입니다.

kkangie92님, 질문하신 내용과 유사한 상황에 대한 설명이 있는 기존 답변을 찾았습니다. Docker runtime 지원 관련해서 쿠버네티스의 변화에 대해 문의하셨는데, 이와 관련해 유익한 정보를 제공하는 답변이 있어 안내드립니다.

실제로, Kubernetes 1.24 버전부터는 dockershim이 제거되어 Docker 직접 지원을 중단했습니다. Docker 대신, containerd나 다른 Container Runtime Interface(CRI) 호환 런타임을 사용하는 것이 권장됩니다. 이 변화는 쿠버네티스가 Docker 컨테이너 실행 환경으로 직접적으로 작업하지 않고, CRI를 통해 어떠한 컨테이너 런타임도 지원할 수 있도록 설계된 것입니다. 쿠버네티스 1.27에서는 containerd가 사용된 것을 확인하실 수 있습니다.

질문에서 언급한 "docker ps" 명령어가 작동하지 않는 문제는 도커가 시스템에 설치되지 않았거나 PATH에 추가되지 않았기 때문일 수 있습니다. 쿠버네티스 클러스터 내에서 노드 상태나 컨테이너 상태를 확인하려면 "docker ps" 대신 "kubectl get pods"와 같은 kubectl 명령어를 사용할 수 있습니다.

도커 지원 관련 변경사항에 대한 더 자세한 설명이 필요하시면 아래 링크를 참조해 주세요:
- 도커지원을 하지 않는 쿠버네티스 - 여기에서는 kubernetes 1.24 버전부터 Dockershim의 삭제와 그 의미에 대해 설명하고 있습니다.

설명에서도 언금된 바와 같이, 쿠버네티스 클러스터를 운영하실 때는 kubectl 명령어를 사용하여 리소스와 상태를 관리하시면 됩니다. 강의 명령어 부분이 앞으로 업데이트될 경우, 새로운 런타임 환경에 맞게 수정될 수 있을 것으로 기대됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

채널톡 아이콘