gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:11 26 4
gpt4 key购买 nike

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

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

提前致谢

最佳答案

您应该将服务帐户 system:serviceaccount:default:default (这是绑定(bind)到 Pod 的默认帐户)与角色 cluster-admin 绑定(bind),只需创建一个包含以下内容的 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

关于java - 如何使用基本身份验证创建具有适当权限的用户来列出 kubernetes v1.13 中的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54860782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com