如何在 Kubernetes 上创建额外的用户,以便他/她可以从 web-ui 和 CLI(kubectl)访问 Kubernetes 集群,并允许该用户管理特定的命名空间?
答案1
Kelsey Hightower 在他的演讲“容器管理和部署:从开发到生产”中对此进行了很好的解释,他在 21 分 56 秒左右谈到“管理开发环境”时解释了将用户限制在命名空间中大约 21 分 56 秒。
基本思想是你需要使用资源配额。
答案2
Kubernetes 原生提供两种授权方法,可用于让用户只能访问特定的命名空间。
基于属性的访问控制 (ABAC) 是一个列出用户权限的静态文件,但它也有一些缺点,例如,每当更改用户权限时都需要重新启动 API 服务器。
基于角色的访问控制可能是您最好的选择。设置起来有点复杂,但您可以使用它来限制用户对特定命名空间的权限。
值得注意的是,从 Kubernetes 1.6 开始,维护人员认为它还没有准备好进行多租户操作,因为有可能,有权访问一个命名空间的恶意用户能够访问其他命名空间。