Kubernetes/GKE 多租户入口

问题描述 投票:0回答:2

我发现在为 Kubernetes 集群实现多租户时,建议每个集群有一个 Ingress。 那样,

service1
tenanta
可以有一个端点,例如
service1.tetanta.example.com

我的问题是,在多租户场景中这是如何实现的?

考虑到 Ingress 是单个 kubernetes 对象,那么 Ingress 对象的生命周期会是什么样子?

谁创建了 Ingress? (如果共享的话,应该是平台团队)和 租户如何向 Ingress 注册他们的服务?

非常感谢任何解释这种情况的示例

kubernetes google-kubernetes-engine kubernetes-ingress
2个回答
0
投票

多租户集群由各种客户和职责共享,这些客户和职责被称为“占用者”。为了防止受损或恶意租户对集群和其他租户造成损害,多租户集群的运营商必须将租户彼此分开。此外,租户必须公平分配集群资源。

根据 Amir Rawdat 撰写的doc

NGINX Ingress Controller 支持多租户模型,但有 两种主要模式。通常由基金会专家合作设计 整合了各种 NGINX 入口监管机构 实际脱离,而风险设计通常利用 常见的 NGINX 入口调节器通过命名空间分离进行发送。在 这部分我们从上到下研究努力设计;查看 我们的文档了解有关如何运行多个 NGINX 的更多详细信息 入口控制器。

NGINX Ingress Controller 支持标准 Kubernetes Ingress 资源和自定义 NGINX Ingress 资源,这使得更多 复杂的流量管理和控制权委托 配置到多个团队。自定义资源是 虚拟服务器、虚拟服务器路由、全局配置、 传输服务器和策略。

在 Kubernetes 集群中实现多租户时,您有 两种选择:完全自助服务和有限自助服务。

请参阅 Devoteam 撰写的博客 1 和 Michael 撰写的博客 2,了解有关在 kubernetes 中创建和使用多租户部署的更多信息。


0
投票

Gateway 很有帮助,正如 @Jonas 在他的评论中建议的那样

Gateway API 提供了一种模块化方法来解决这个问题

https://medium.com/google-cloud/gateway-gke-multi-tenancy-creating-one-per-cluster-shared-load-balancer-for-multi-tenant-gke-3465a8ae882a

© www.soinside.com 2019 - 2024. All rights reserved.