You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes容器运行位置排查:单节点Rancher集群Docker显示异常

问题解答

Rancher没"隐藏"什么,只是换了容器运行时

你看到的现象不是Rancher故意隐藏,而是这个集群默认用containerd而非Docker作为容器运行时。Rancher管理的集群(比如K3s、RKE2版本)默认会使用containerd来托管K8s Pod,Docker daemon只用来运行Rancher自身的容器,所以你用docker ps看不到K8s的Pod容器。

访问Pod容器上下文的几种方式

1. 用containerd自带工具查看/操作容器

节点上已经内置了ctr命令(containerd的客户端工具),直接用它查看K8s的Pod容器:

  • 查看所有K8s命名空间下的容器:
    ctr -n k8s.io containers list
    
  • 查看容器的详细信息:
    ctr -n k8s.io containers info <container-id>
    
  • 进入容器执行命令(类似docker exec):
    ctr -n k8s.io tasks exec -t --exec-id <任意标识> <container-id> /bin/bash
    

2. 用K8s原生工具操作Pod(推荐)

不需要登录节点,直接用kubectl在集群层面操作Pod,这是K8s运维的标准方式:

  • 进入指定Pod的shell:
    kubectl exec -it <pod-name> -- /bin/bash
    
  • 查看Pod的日志:
    kubectl logs <pod-name>
    
  • 复制文件到/从Pod:
    kubectl cp <本地文件路径> <pod-name>:<容器内路径>
    kubectl cp <pod-name>:<容器内路径> <本地文件路径>
    

3. 确认集群运行时类型(可选)

如果想确认集群用的是哪种容器运行时,执行以下命令:

kubectl get node node-1 -o jsonpath='{.status.nodeInfo.containerRuntimeVersion}'

输出会显示类似containerd://1.6.8的信息,明确运行时类型。

内容的提问来源于stack exchange,提问作者beatrice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 13:42:49