在 Kubernetes 中使用一个用户进行多个角色绑定

Use one users for multiple Rolebindings in Kubernetes

我有一个应用程序要监视并在必要时扩展其他资源。目前我正在使用 cluster-admin 令牌访问 k8s api 但我想将其访问限制为仅监控和扩展。

我知道我需要为此使用角色和角色绑定,但我有两个问题:

  1. 我可以只使用一个用户并将其绑定到不同名称空间中的角色吗?我需要 运行 我的应用程序的多个实例位于集群上的不同命名空间中

  2. 有没有办法通过yaml文件创建一个新的k8s用户并用它来绑定角色?

最后,如果我使用了错误的方法,请告诉我,因为我是 RBAC 的新手。

看来你的做法是对的。

查看文档:https://kubernetes.io/docs/reference/access-authn-authz/rbac/

根据经验,始终将链接的资源保留在同一名称空间内,一个用户具有一个集群角色和角色绑定。

仍然在角色绑定的情况下,它们没有命名空间,因此您应该能够通过命名空间将一个用户绑定到单个 clusterrole。从未亲自测试过,因此您将不得不进行一些测试。

仍然存在一个问题,为什么不只创建一个应用程序,一个服务帐户可以访问所有命名空间,这样部署在一个命名空间中的应用程序将能够访问它需要在所有命名空间中管理的所有资源集群?