Kubernetes集群中是否可以有隔离的网络?

时间:2019-07-23 10:48:32

标签: networking kubernetes cluster-computing istio

我正在尝试为要迁移到Kubernetes(自托管,可能在VSphere上)的系统建立通用体系结构。

我对网络不是很精通,但存在以下问题,我似乎无法从概念上解决:

我有很多微服务,它们是从整体中分离出来的,但是整体仍然很重要。所有这些都转移到了K8s上。它是一个集群应用程序,并在高负载下完成了许多所有的联网工作,我想将其与Kubernetes集群中的所有其他服务分开。

在转向K8之前,我们提供了一种方法,用于指定仅用于集群通信的网络设备,因此可以与其他流量严格分开,而且,甚至可以使用单独的网络硬件进行集群。

这就是我要输入您的信息的地方:对于Kubernetes集群中的此应用程序级集群,是否可以有完全独立的联网?理想的解决方案将允许我继续使用我们现有的逻辑,即为闲聊位使用一个单独的网络(和网络适配器),但保持这种方式并不是一个硬性要求。我看过CalicoFlannelIstio,但还没有一个合理的概念。

3 个答案:

答案 0 :(得分:0)

拥有Calico网络插件很好。因为Flannel不支持网络策略。您可以创建NetworkPolicies资源以允许/拒绝流量。

答案 1 :(得分:0)

使用k8s NetworkPolicies,通过应用这些策略,您可以基于标签选择器允许/拒绝Pod的流量。您可以尝试WeaveNet和Calico,两者都很不错,并且都支持NetworkPolicies。

答案 2 :(得分:0)

在OpenShift上,每个项目可以具有一个隔离的网络(Kubernetes命名空间)。参见https://docs.openshift.com/container-platform/3.5/admin_guide/managing_networking.html#isolating-project-networks