繁体   English   中英

client-go 获取 configMap 问题

[英]client-go get configMap issue

我正在尝试使用 client-go 在 Kubernetes 上创建一个简单的部署。 按照示例,我正在为客户端创建inClusterConfig 此外,我还为部署 SA 创建了一个role和一个角色roleBinding ,以获取、列出和监视 ConfigMap 对象。

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

尝试执行到 pod 并使用 curl https://10.96.0.1:443/api/v1/namespaces/default/configmaps与安装在 /var/run/secrets/..../token 中的令牌我能够获取 CM

任何想法 ?

也已经创建了对应的role和rolebinding

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角色绑定绑定到服务帐户。 但是,出于生产目的,您应该使用更精细的方法来向服务帐户添加权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM