我对 Google Cloud 的 GKE 文档感到困惑。在比较网络模型doc 中说 GKE 有一个完全集成的网络模型,这对我来说意味着它有自己的 CNI 实现。然而,在网络策略部分提到了一些关于 Calico 的内容。然而,当我尝试检查 GKE 集群的一个工作节点上的配置目录时 - /etc/cni/net.d
,我注意到一个名为的配置文件10-containerd-net.conflist
,它暗示了一个容器CNI 插件?
此外GKE 数据平面 V2doc 中说它是使用 Cilium 实现的。我是否理解正确,对于具有 Dataplane V2 的集群,GKE 使用 Cilium CNI,还是仅指整个 Cilium 解决方案?
是否可以在任何场景(有或没有 Autopilot 等)中配置 GKE 集群中使用的 CNI,我对文档的理解是否正确?我现在真的很困惑(可能是因为我对这些概念的整体理解不够)。
答案1
我的理解是,你基本上理解正确。
- GKE v1 是他们自己的 CNI,但如果您想超越 Kubernetes 网络策略,则可以使用 Calico 的网络策略。底层 CNI 仍然是 Google 的。
- 对于 V2,Google 分叉了 Cilium,因此 CNI 是 Cilium 的衍生品,但不是 Cilium。Cilium 功能将无法使用。
- 不,您无法对 GKE 进行任何操作来更改 CNI。
- 自动驾驶仪始终配置为使用其默认 CNI。