GKE运行中deployment对应worker节点执行sudo docker ps无返回问题咨询
问题根因及说明
核心原因
你使用的cos_containerd镜像的GKE worker节点默认采用Containerd作为容器运行时,未预装Docker daemon服务,Docker CLI无法对接非Docker的运行时接口,因此执行sudo docker ps无返回结果。
补充细节
- Containerd是符合CRI(容器运行时接口)规范的独立运行时,和Docker技术栈相互独立,Docker命令只能和Docker daemon通信,无法识别Containerd管理的容器实例。
- 要查询该节点上运行的容器,使用CRI适配工具
crictl即可,执行命令:sudo crictl ps,就能看到所有运行中的容器(包括Kubernetes调度的业务Pod容器、节点系统容器)。 - 如果需要定位对应业务Pod的容器,可先通过
kubectl get pod <pod名称> -o jsonpath='{.status.containerStatuses[*].containerID}'拿到容器ID,再过滤crictl ps的输出即可精准匹配。
内容的提问来源于stack exchange,提问作者sofi
相关产品推荐
相关产品推荐

