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

GKE环境中Argo Workflow执行docker ps无法获取容器ID致wait容器死循环

问题根因

当前GKE正式版本已默认使用Containerd作为节点容器运行时,不再预装Docker运行时。你执行的docker ps相关命令仅能查询Docker runtime创建的容器,无法获取Containerd创建的K8s业务容器数据。
Argo Workflow低版本默认使用Docker executor,依赖docker CLI查询容器状态,获取不到主容器ID时就会导致wait容器陷入无限等待,阻塞工作流推进。

可行解决方案

  • 方案一(推荐):将Argo Workflow升级至v3.1.0及以上版本,该版本已默认兼容Containerd运行时,内置的CRI executor无需依赖Docker CLI即可查询容器状态。
  • 方案二(适配低版本):修改Argo Workflow控制器配置,将容器运行时执行器切换为适配CRI的类型:
    1. 执行命令编辑控制器配置:kubectl edit configmap workflow-controller-configmap -n <你的Argo安装命名空间>
    2. 在data段添加如下配置:
    containerRuntimeExecutor: kubelet
    
    1. 重启workflow-controller pod后配置即可生效。
  • 方案三(仅适配Docker runtime集群):如果你的GKE集群明确使用Docker作为运行时,需要确认Argo executor pod已挂载节点的/var/run/docker.sock套接字,且有对应读写权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:36:04