使用 Dataplane V2


本页面介绍了如何为 Google Kubernetes Engine (GKE) 启用 Dataplane V2

使用 Dataplane V2 创建 GKE 集群

您可以在创建具有 GKE 1.20.6-gke.700 版及更高版本的新集群时使用 gcloud 工具或 Kubernetes Engine AP 来启用 Dataplane V2。您还可以在创建具有 GKE 1.17.9 版及更高版本的新集群时启用预览版 Dataplane V2

控制台

如需使用 Dataplane V2 创建新集群,请执行以下任务:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击 创建

  3. 点击配置以配置标准集群。

  4. 在“网络”部分中,选中启用 Dataplane V2复选框。当您选择“启用 Dataplane V2”时,“启用 Kubernetes 网络政策”选项会停用,因为网络政策强制执行功能内置于 Dataplane V2 中。

  5. 点击创建

gcloud

如需使用 Dataplane V2 创建新集群,请使用以下命令:

gcloud container clusters create CLUSTER_NAME \
    --enable-dataplane-v2 \
    --enable-ip-alias \
    --release-channel CHANNEL_NAME \
    --zone CLUSTER_LOCATION
 

替换以下内容:

  • CLUSTER_NAME:新集群的名称。
  • CHANNEL_NAME:包含 GKE 1.20.6-gke.700 版或更高版本的发布版本。如果您不想使用发布版本,还可以使用 --version 标志而不是 --release-channel,从而指定 1.20.6-gke.700 或更高版本。
  • CLUSTER_LOCATION:集群的位置。这些参数是互斥的。如需了解详情,请参阅集群类型

API

如需使用 Dataplane V2 创建新集群,请在集群 create 请求中指定 networkConfig 对象的 datapathProvider 字段

以下 JSON 代码段显示了启用 Dataplane V2 所需的配置:

"cluster":{
   "initialClusterVersion":"VERSION",
   "ipAllocationPolicy":{
      "useIpAliases":true
   },
   "networkConfig":{
      "datapathProvider":"ADVANCED_DATAPATH"
   },
   "releaseChannel":{
      "channel":"CHANNEL_NAME"
   }
}

请替换以下内容:

  • VERSION:您的集群版本,必须为 GKE 1.20.6-gke.700 或更高版本。
  • CHANNEL_NAME:包含 GKE 1.20.6-gke.700 版或更高版本的发布版本

问题排查

  1. 检查系统 Pod 的状态:

    kubectl -n kube-system get pods -l k8s-app=cilium -o wide
    

    如果 Dataplane V2 正在运行,您将会看到具有前缀 anetd- 的 Pod 正在运行。anetd 是 Dataplane V2 的网络控制器。

  2. 如果问题在于服务或网络政策强制执行方式,请检查 anetd Pod 日志:

    kubectl -n kube-system get events --field-selector involvedObject.name=anetd
    kubectl -n kube-system logs -l k8s-app=cilium
    
  3. 如果 Pod 创建失败,请检查 kubelet 日志以获取相关线索。您可以使用 ssh 在 GKE 中执行此任务:

    gcloud compute ssh node -- sudo journalctl -u kubelet
    

    node 替换为虚拟机实例的名称。

后续步骤