当前位置: 代码迷 >> java >> 如何使用基本身份验证创建具有适当权限的用户以列出kubernetes v1.13中的名称空间
  详细解决方案

如何使用基本身份验证创建具有适当权限的用户以列出kubernetes v1.13中的名称空间

热度:129   发布时间:2023-07-18 09:04:57.0

我正在使用kubernetes java客户端在kubernetes中进行操作的插件上工作。 我正在使用kubernetes客户端v4.1.2和kubernetes v1.13。 在我的插件中,我为用户提供了使用基本身份验证或Api令牌登录kubernetes集群的选项。 通过API令牌,我可以登录,但无法使用基本身份验证进行登录。 我尝试使用用户名和密码创建用户,但是当我尝试使用这些凭据登录时,出现错误消息,提示“禁止命名空间:用户“ system:anonymous”无法在群集的API组“”中列出资源“命名空间”范围”。

有人可以帮助我创建具有适当权限的用户(基本身份验证)来列出kubernetes中的名称空间吗?

提前致谢

您应该使用角色cluster-admin绑定服务帐户system:serviceaccount:default:default(这是绑定到Pod的默认帐户),只需创建一个Yaml(名称为fabric8-rbac.yaml),其内容如下:

我通过创建来解决

# NOTE: The service account `default:default` already exists in k8s cluster.
# You can create a new account following like this:
#---
#apiVersion: v1
#kind: ServiceAccount
#metadata:
#  name: <new-account-name>
#  namespace: <namespace>

---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: fabric8-rbac
subjects:
  - kind: ServiceAccount
    # Reference to upper's `metadata.name`
    name: default
    # Reference to upper's `metadata.namespace`
    namespace: default
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

kubectl apply -f fabric8-rbac.yaml

请尝试创建: 名称空间,凭据,角色,并将角色绑定到用户
您可以在找到社区answear。
您可以在找到其他有用的信息。
请分享您的结果。

  相关解决方案