Argocd创建应用失败提示permission denied,请求排查问题原因
解决ArgoCD创建应用时的「permission denied」错误
以下是针对权限问题的具体排查方向:
1. 确认当前操作的账号权限
虽然账号列表显示admin账号启用,但要确保你确实以admin身份执行操作:
- 执行
argocd account get-user-info查看当前登录用户信息,验证是否为admin - 如果使用token登录,检查token的权限范围是否包含应用创建权限
2. 检查项目(Project)的权限配置
从proj list结果来看:
argocd和argocdtest项目未配置任何允许的源(SOURCES)和目的地(DESTINATIONS),如果创建应用时指定这两个项目,必然触发权限拒绝- 创建应用时务必明确指定
--project default,该项目允许所有源、所有集群/命名空间目的地,以及所有集群资源
3. 验证集群的访问权限
集群列表中in-cluster状态为Unknown,说明ArgoCD可能无法正常访问集群:
- 执行
argocd cluster get https://kubernetes.default.svc查看集群权限详情 - 检查ArgoCD的
argocd-serverServiceAccount是否绑定了cluster-admin角色,这是默认访问集群所需的权限
4. 核对应用创建命令的参数
确保命令参数完全正确,示例正确命令如下:
argocd app create my-app \ --repo https://github.com/your/repo.git \ --path ./deploy \ --dest-server https://kubernetes.default.svc \ --dest-namespace default \ --project default
重点确认:
--dest-server与集群列表中的SERVER值完全一致--project指定为权限开放的default- 目标命名空间已存在且允许被ArgoCD操作
内容的提问来源于stack exchange,提问作者zolo
相关产品推荐
相关产品推荐

