0

在使用 Spring Cloud Kubernetes Discovery Client 部署服务时,我收到 KubernetesClientException 指出用户“默认”被禁止访问 pod。

我已经添加了此处指定的角色和角色绑定

该指南指出 ClusterRole 是必要的。但这不是我的选择,因为我们与其他部门共享集群。我只希望角色影响我们的项目/命名空间。

ClusterRole 是必需的还是 Role 是否足够?

4

1 回答 1

0

要允许服务帐户访问这些,需要创建一个具有必要权限的角色并将其分配给帐户。这是通过集群角色或角色(如果只想在一个命名空间中使用它)和角色绑定来完成的,这是特定于命名空间的。

它说您可以使用 Role 或 ClusterRole。

请记住,在创建角色时应定义命名空间。IE

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: mynamespace
  name: service-discovery-client
rules:
- apiGroups: [""] # "" indicates the core API group
  resources: ["services", "pods", "configmaps", "endpoints"]
  verbs: ["get", "watch", "list"]
于 2019-03-25T10:09:56.210 回答