GKE是否使用覆盖网络?

时间:2019-02-16 20:38:56

标签: networking kubernetes google-compute-engine google-kubernetes-engine

GKE使用kubenet网络插件来设置容器接口,并在VPC中配置路由,以便容器可以在不同的主机上相互访问。

维基百科将overlay定义为a computer network that is built on top of another network

应该将GKE的网络模型视为覆盖网络吗?它建立在另一个网络之上,从某种意义上说,它依赖于群集中节点之间的连接才能正常运行,但是Pod IP在VPC内可以本地路由,因为路由会通知网络去哪个节点进行查找。一个特定的Pod。

1 个答案:

答案 0 :(得分:0)

VPC本地和非VPC本地GKE群集使用GCP virtual networking。严格来说,它并不是覆盖网络。覆盖网络将是仅与GKE群集隔离的网络。

VPC本地群集的工作方式如下:

为每个节点VM提供一个主要内部地址和两个别名IP范围。一个别名IP范围用于Pod,另一个别名用于服务。 群集使用的GCP子网必须至少具有两个辅助IP范围(一个用于节点VM上的pod别名IP范围,另一个用于节点VM上的服务别名IP范围)。

非VPC原生群集:

GCP创建目标位置与Pod IP空间和服务IP空间匹配的自定义静态路由。这些路由的下一跳是名称上的节点VM,因此在每个VM中作为“下一步”发生的是基于实例的路由。

我可以看到有人认为这是覆盖网络。我不认为这是最好的定义,因为可以从网络中GKE群集之外的其他VM寻址Pod和服务IP。

要深入了解GCP的网络基础架构,可以找到GCP’s network virtualization whitepaper here