CLI、Git 仓库与凭据接入
Web UI 适合观察状态,CLI 更适合发布窗口、脚本化验证和排障。仓库接入是 GitOps 的信任边界:Argo CD 应只有读取部署仓库所需的最小权限,写入镜像版本的任务仍由 CI 使用独立凭据完成。
1. 安装与登录 CLI
从 官方 CLI 安装说明 下载与服务端兼容的客户端。先通过受控入口登录;使用 SSO 时优先浏览器授权,不在命令行传递密码。
# 使用 SSO 登录;地址替换为生产 Argo CD 的受控域名
argocd login argocd.example.com --sso
# 确认当前 CLI 身份、服务端版本和登录上下文
argocd account get-user-info
argocd version
临时端口转发环境可使用 localhost:8080,但不要为了跳过 TLS 长期使用 --insecure。生产证书异常应先修复 CA 链或入口配置。
2. 接入 HTTPS 仓库
HTTPS 仓库通常使用只读机器人账号或细粒度访问令牌。令牌不要出现在 shell 历史中;交互输入或由 Secret 管理流程创建均可。
# 添加只读 Git 仓库;命令会交互式提示输入用户名与令牌
argocd repo add https://git.example.com/platform/app-config.git \
--username <read-only-bot>
# 列出仓库并验证连接状态
argocd repo list
argocd repo get https://git.example.com/platform/app-config.git
3. 接入 SSH 仓库与 Deploy Key
为 Argo CD 单独创建只读 Deploy Key,将公钥配置到 Git 平台的部署仓库;私钥应只保存在 Argo CD 的受控 Secret 中。不要复用开发者个人 SSH 私钥。
# 使用 SSH URL 添加仓库;CLI 会交互式要求提供 SSH 私钥
argocd repo add git@git.example.com:platform/app-config.git
首次连接时,Argo CD 需要验证 Git 主机指纹。将企业 Git 的 known_hosts 纳入配置管理;发生主机密钥变更时须按变更流程核验,而不是盲目接受新指纹。
4. 凭据轮换与连通性排查
仓库令牌、Deploy Key 应有所有者、到期日和轮换记录。推荐先添加新凭据、测试仓库连接与 Application 刷新,再撤销旧凭据,避免所有应用同时失去渲染能力。
# 检查仓库服务访问问题时,先查看 repo-server 日志
kubectl logs -n argocd deploy/argocd-repo-server --tail=200
# 强制刷新某个应用,观察仓库拉取和渲染结果
argocd app get <application-name> --refresh