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

在AKS中安装Azure私有市场应用时遇CRD权限错误

问题解决步骤

错误原因分析

错误信息明确指出:system:serviceaccount:kube-system:ext-installer-ssdeploy1 没有集群范围的 customresourcedefinitions 资源列表权限。你的现有配置存在三个核心问题:

  • CRD是集群级资源,不能用仅作用于单个命名空间的Role,必须用ClusterRole
  • 你绑定的是default命名空间的default服务账号,但实际需要授权的是kube-system命名空间的ext-installer-ssdeploy1账号
  • RoleBinding中引用的角色名称与你创建的Role名称不匹配

正确配置方案

1. 创建ClusterRole(集群级权限)

创建crd-access-clusterrole.yaml文件,内容如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: crd-full-access
rules:
- apiGroups: ["apiextensions.k8s.io"]
  resources: ["customresourcedefinitions"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

执行命令应用:

kubectl apply -f crd-access-clusterrole.yaml

2. 创建ClusterRoleBinding(绑定服务账号到ClusterRole)

创建crd-access-clusterrolebinding.yaml文件,内容如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: ext-installer-crd-access
subjects:
- kind: ServiceAccount
  name: ext-installer-ssdeploy1
  namespace: kube-system
roleRef:
  kind: ClusterRole
  name: crd-full-access
  apiGroup: rbac.authorization.k8s.io

执行命令应用:

kubectl apply -f crd-access-clusterrolebinding.yaml

验证权限

执行以下命令检查服务账号是否已获得权限:

kubectl auth can-i list customresourcedefinitions.apiextensions.k8s.io --as=system:serviceaccount:kube-system:ext-installer-ssdeploy1

如果输出yes,说明权限配置成功,重新尝试安装Azure私有市场应用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:58:24