在网络级别使用Kubernetes进行租户隔离

在网络级别使用Kubernetes进行租户隔离,kubernetes,multi-tenant,Kubernetes,Multi Tenant,我们希望运行一个多租户场景,该场景要求在网络级别上进行租户分离 其思想是每个租户接收一个专用节点和一个其他租户节点可以加入的专用网络。租户节点应该能够在该网络中相互交互 网络不应该能够相互通信(真正的网络隔离) 有什么架构模式可以实现这一点吗 每个租户一个Kubernetes群集 为所有租户提供一个Kubernetes群集,每个租户有一个子网 跨VPC的一个Kubernetes群集(用AWS术语讲) 处理kubernetes内部多租户的常规方法是使用名称空间。但这是在kube集群中,这意味着您

我们希望运行一个多租户场景,该场景要求在网络级别上进行租户分离

其思想是每个租户接收一个专用节点和一个其他租户节点可以加入的专用网络。租户节点应该能够在该网络中相互交互

网络不应该能够相互通信(真正的网络隔离)

有什么架构模式可以实现这一点吗

  • 每个租户一个Kubernetes群集
  • 为所有租户提供一个Kubernetes群集,每个租户有一个子网
  • 跨VPC的一个Kubernetes群集(用AWS术语讲)

    • 处理kubernetes内部多租户的常规方法是使用名称空间。但这是在kube集群中,这意味着您仍然拥有由所有租户共享的相同底层网络解决方案。这实际上很好,因为您必须限制集群中的网络


      显然,每个租户都可以运行自治集群,但这并不完全是多租户,而是多个集群。可以在节点级别配置网络以按预期进行路由,但您仍然会遇到跨群集服务发现等问题。联合会可以对此有所帮助,但我仍然建议采用名称空间+策略的方法。

      在kubernetes内部处理多租户的常规方法是使用名称空间。但这是在kube集群中,这意味着您仍然拥有由所有租户共享的相同底层网络解决方案。这实际上很好,因为您必须限制集群中的网络


      显然,每个租户都可以运行自治集群,但这并不完全是多租户,而是多个集群。可以在节点级别配置网络以按预期进行路由,但您仍然会遇到跨群集服务发现等问题。联合会可以对此有所帮助,但我仍然建议采用chase Namespaces+Policys方法。

      我看到了在网络级别运行多租户k8s群集的四种方法:


    • 我看到了在网络级别运行多租户k8s群集的四种方法: