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

Argo CD连接Azure DevOps SSH仓库失败,提示规格不一致需强制更新

解决Argo CD连接Azure DevOps SSH仓库的规格差异错误

问题概述

使用Argo CD v2.5.10(部署在EKS v1.25集群)通过RSA 256 SSH密钥连接Azure DevOps仓库时,遇到以下错误:

无法连接SSH仓库:现有仓库规格存在差异;请使用upsert标志强制更新;差异字段为"SSHPrivateKey,InsecureIgnoreHostKey,Name,Project"

解决方案

1. 使用Argo CD CLI强制更新仓库配置

根据错误提示,直接在原有仓库添加命令后追加--upsert参数,覆盖现有差异字段:

argocd repo add git@ssh.dev.azure.com:v3/<你的组织名>/<项目名>/<仓库名> \
  --ssh-private-key-path ~/.ssh/id_rsa \
  --upsert
  • 替换命令中的<你的组织名>、<项目名>、<仓库名>为实际Azure DevOps信息
  • 确保指定的SSH私钥已添加到Azure DevOps用户账户的SSH密钥列表中,拥有对应仓库的访问权限

2. 通过Argo CD UI操作

  1. 登录Argo CD控制台,进入Settings > Repositories页面
  2. 找到目标仓库,点击Edit按钮
  3. 修改对应字段(如SSH私钥、主机密钥忽略设置等)
  4. 勾选Override existing repository(覆盖现有仓库)选项
  5. 点击Save完成更新

3. 通过Kubernetes CRD更新(若用资源定义管理仓库)

如果是通过Repository自定义资源定义管理仓库配置,直接修改YAML文件中spec的差异字段(如sshPrivateKeySecret、insecureIgnoreHostKey等),再应用到集群:

kubectl apply -f your-repo-config.yaml

注意事项

  • Azure DevOps的SSH密钥需添加到用户账户的SSH public keys中(而非仓库级设置)
  • 若无需忽略主机密钥,确保InsecureIgnoreHostKey设置为false,避免安全风险

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:12:06