我正在研究Kubernetes,以实现需要租户隔离的多租户网络方案。
考虑租户是一个名称空间,我想用一个不同的网络隔离每个名称空间,以便在允许网络策略的情况下,名称空间中的Pod不能相互通信。我已经部署了Contiv
作为解决方案,Contiv
可以很好地满足我的要求,但是Contiv
无法实现租户到租户之间的通信。
我的要求:
每个命名空间(租户)应具有自己的网段。
例如:命名空间(N1)应该具有10.1.2.0/24
段的IP,命名空间(N2)应该具有10.1.3.0/24
段的IP。
Namespace
(租户)应使用网段隔离。
例如:如果没有特定的网络策略允许进行适当的通信,则命名空间(N1)中的Pod(P1)应该无法与命名空间(N2)中的Pod(P2)进行对话。
应该使用Kind: NetworkPolicy
应该能够在同一租户中创建多个网段
例如:命名空间(N1)可以具有多个IP段,例如
Namespace (N1) Network1 = 10.1.2.0/24
Namespace (N2) Network2 = 10.2.2.0/24
有什么建议吗?