client-go get configMap issue



我正在尝试使用client-go在Kubernetes上创建一个简单的部署。下面的示例中,我将为客户端创建inClusterConfig。此外,我还创建了一个role和一个roleBinding,用于部署SA获取、列出和观察ConfigMap对象。

当使用Client.Get()时,我得到Get "https://10.96.0.1:443/api/v1/namespaces/default/configmaps": Access Denied

试图执行进入pod和withCurl https://10.96.0.1:443/api/v1/namespaces/default/configmaps并装入令牌/var/run/secrets/.../令我能够得到CM

你知道吗?

还创建了相应的角色和角色绑定

rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: got-dynamic-cm-reader-Role
subjects:
- kind: ServiceAccount
name: got
namespace: default

在您刚才提到的示例中,已经创建的服务帐户只有集群viewer角色,如果您试图创建资源,这个角色是不够的。

尝试将admin角色绑定到业务帐户。但是,出于生产目的,您应该使用更细粒度的方法向服务帐户添加权限。

最新更新