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

在Kubernetes集群部署Horovod Helm Chart时遇SSH认证及初始化故障

解决方案

1. 处理Chart弃用与未知字段报错

  • 官方stable/horovod仓库已停止维护,建议切换到Horovod官方提供的部署资源,或直接编写Kubernetes YAML文件部署,避免依赖弃用的Chart。
  • 未知字段spec.template.spec.selector是由于新版Kubernetes API禁止在Pod模板中定义该字段,需检查Chart模板文件,删除该字段配置;若使用自定义values.yaml,确认是否误添加了该字段。

2. Worker Pod就绪探针权限拒绝修复

Worker Pod状态Running但Ready为0/1,是因为就绪探针执行ssh localhost ls时权限不足或SSH服务未正确配置:

  • 进入目标Worker Pod:
    kubectl exec -it mnist-horovod-0 -- /bin/bash
    
  • 检查并启动SSH服务:
    service ssh status
    service ssh start
    
  • 修正SSH密钥目录及文件权限:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  • 若使用Chart部署,需修改模板中的容器初始化脚本,确保容器启动时自动生成SSH密钥对并启动SSH服务,避免手动操作。

3. Master Pod Init容器CrashLoopBackOff解决

Init容器wait-workers无法SSH连接Worker,核心原因是Worker的SSH服务未就绪或密钥认证失败:

  • 先完成上述Worker Pod的修复,确保Worker本地SSH可正常登录。
  • 验证Master与Worker的SSH密钥一致性:进入Master的Init容器(若能进入),查看~/.ssh/id_rsa.pub,对比Worker Pod中~/.ssh/authorized_keys的内容,确保两者匹配。
  • 调整Init容器的重试策略:修改Chart的values.yaml,增加backoffLimit(重试次数)和timeoutSeconds(超时时间),避免因Worker启动缓慢导致的连接失败。
  • 测试Worker的网络可达性:在Master Init容器中执行ssh <Worker-Pod-IP> ls,确认网络连通性,若不通需检查集群网络策略或Pod的NetworkPolicy配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:42:12