Skip to content

ArgoCD 密码重置:如何恢复遗忘的 admin 登录凭证

🌱 创建: 2026/04/23 ⏱️ 更新: 2026/05/22

This content is not available in your language yet.

在日常运维中,如果遗忘了 ArgoCD Web 面板中 admin 账户的自定义登录密码,将导致无法通过图形界面管理应用。

ArgoCD 将 admin 账户的密码哈希值存储在名为 argocd-secret 的 Kubernetes Secret 资源中。当我们在 UI 界面修改密码时,系统实际上是在更新该 Secret 内部的 admin.password 字段。如果该字段被清空或移除,ArgoCD 将自动回退,允许使用系统在初始化时生成的默认密码进行登录。

基于这一底层逻辑,我们可以通过命令行强制重置密码状态。


请确保你的终端已连接到目标 K3s 集群,且具备操作 argocd 命名空间的高级权限。

使用 kubectl patch 命令,强行从存储配置的 Secret 中剔除自定义密码记录。这相当于清除了系统中后续添加的身份验证覆写规则。

Terminal window
kubectl patch secret argocd-secret -n argocd --type=json -p='[{"op": "remove", "path": "/data/admin.password"}]'

执行成功后,终端应返回 secret/argocd-secret patched

密码字段移除后,需要重启 ArgoCD 的前端 Server 组件,使其强制重新读取底层的 Secret 状态。

Terminal window
kubectl rollout restart deploy argocd-server -n argocd

等待几秒钟,确保新的 Pod 成功启动并接管流量。

此时,ArgoCD 已经回退到出厂安全状态。我们需要从专门存储初始密码的 Secret (argocd-initial-admin-secret) 中提取密码的 Base64 原文并进行解码。

Terminal window
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d && echo

请复制终端输出的这串随机字符串,这是你目前的唯一登录凭证。

  1. 浏览器访问你的 ArgoCD 面板。
  2. 账号输入 admin,密码粘贴刚刚提取的初始字符串。
  3. 登录成功后,导航至页面左侧的 User Info 选项卡。
  4. 点击 Update Password,输入当前密码(初始密码)并设定一个新的、已妥善记录的自定义密码。

Last updated: