【发布时间】:2021-11-21 15:37:28
【问题描述】:
似乎 EKS (AWS) 支持某些 CNI here,但我们找不到任何类似的 GKE (GCP) 文档
是否可以更改 GKE 集群的 CNI 插件?我可以将 GKE v1.18.x 集群的 CNI 更改为具有 IP-in-IP 封装的 Calico 吗?
【问题讨论】:
标签: google-cloud-platform google-kubernetes-engine calico
似乎 EKS (AWS) 支持某些 CNI here,但我们找不到任何类似的 GKE (GCP) 文档
是否可以更改 GKE 集群的 CNI 插件?我可以将 GKE v1.18.x 集群的 CNI 更改为具有 IP-in-IP 封装的 Calico 吗?
【问题讨论】:
标签: google-cloud-platform google-kubernetes-engine calico
正如 Gari 的反馈中提到的,您可以按照后续步骤来启用网络策略实施。
Enabling network policy enforcement
网络策略实施内置于 GKE Dataplane V2。您无需在使用 GKE Dataplane V2 的集群中启用网络策略实施。
当您在不使用 GKE Dataplane V2 的 GKE 集群中启用网络策略实施时,GKE 会在该集群内管理和实施网络策略。
注意:
默认情况下,为您的集群启用网络策略强制执行也会启用对集群节点的强制执行。
您可以使用 gcloud 工具、Google Cloud Console 或 GKE API 在 GKE 中启用网络策略实施。
要在创建新集群时启用网络策略实施,请运行以下命令:
gcloud container clusters create CLUSTER_NAME --enable-network-policy
将 CLUSTER_NAME 替换为新集群的名称。
要为现有集群启用网络策略实施,请执行以下任务:
gcloud container clusters update CLUSTER_NAME --update-addons=NetworkPolicy=ENABLED
将 CLUSTER_NAME 替换为集群的名称。
gcloud container clusters update CLUSTER_NAME --enable-network-policy
【讨论】:
GKE 通过在不使用 Dataplane V2 的集群中实施网络策略来内置对 Calico 的支持。
您可以在现有集群上启用网络策略实施:
gcloud container clusters update CLUSTER_NAME --update-addons=NetworkPolicy=ENABLED
然后为现有的节点池启用它(将被重新创建):
gcloud container clusters update CLUSTER_NAME --enable-network-policy
这实际上安装了 Calico,因此您应该可以访问整个 Calico API。
【讨论】: