将新部署限制到 Kubernetes 命名空间
我需要能够将用户限制在现有名称空间空间中创建新的部署/replicaset,如果他们不匹配批准的应用程序列表,我认为自定义录取控制器是最好的方法,但我不确定如何处理这。
有什么解决方案吗?
I need to be able to restrict users from creating new Deployments/ReplicaSets into existing namespace spaces if they don't match a list of approved apps, I assume a custom admission controller would be the best way but I'm unsure how to go about this.
Any solution to do so?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是对的 - 如果您需要在准入控制决策中使用已批准应用程序列表等数据,那么您需要的不仅仅是 RBAC。您可以编写自定义准入控制器,但更推荐的方法是使用 开放策略代理 (OPA)为此,它为您提供了所需的灵活性,而无需处理低级 API 服务器集成问题。
查看 OPA Gatekeeper 了解 OPA 与 Kubernetes 的开源集成,或 Styra 用于商业解决方案。
最后,Kyverno 是 OPA 的替代方案,用于 Kubernetes 上基于策略的准入控制。
You're right - if you need to use data like the list of approved apps in an admission control decision you need more than RBAC. You could write a custom admission controller, but a more recommended approach would be to use Open Policy Agent (OPA) for this as it gives you the flexibility you need without having to deal with low-level API server integration concerns.
Check out OPA Gatekeeper for an open source integration of OPA with Kubernetes, or Styra for a commercial solution.
Finally, Kyverno is an alternative to OPA for policy-based admission control on Kubernetes.