更新时间:2025-10-21 GMT+08:00
分享

DataPlane V2网络加速说明

创建VPC网络模型和云原生网络2.0模型的集群支持开启DataPlane V2网络加速模式,开启后,会启用eBPF流量转发路径,实现NetworkPolicy能力。

DataPlane V2特性由CCE受限开放,使用前请提交工单给CCE服务进行申请。

DataPlane V2

说明

技术实现

DataPlane V2通过集成开源社区的cilium插件提供NetworkPolicy等能力。

支持的集群版本

CCE Standard集群(VPC网络模型)(商用):v1.27.16-r30、v1.28.15-r20、v1.29.13-r0、v1.30.10-r0、v1.31.6-r0及以上集群版本。

CCE Turbo集群(受限公测):v1.27.16-r10、v1.28.15-r0、v1.29.10-r0、 v1.30.6-r0及以上集群版本。

使用方法

  • 在创建CCE Standard 集群时,在容器网络配置中选择VPC网络模型,开启DataPlane V2选项。
  • 在创建CCE Turbo集群时,在容器网络配置中选择云原生网络2.0模型,开启DataPlane V2选项。
须知:
  • 开启了DataPlane V2后,暂不支持安全容器(容器运行时为Kata)。
  • 开启了DataPlane V2后,不支持关闭。
  • 仅支持新建集群开启DataPlane V2,存量集群不支持开启。
  • CCE Turbo集群的DataPlane V2当前为受限公测版本,升级到后续商用版本需要重置节点,请评估后谨慎开启。
  • 开启了DataPlane V2后,不支持启用云原生混部的出口网络带宽保障能力。
  • 如果您的集群中有业务启用了L7网络策略或DNS策略,cilium升级期间,匹配上L7网络策略或DNS策略的流量将会中断,详见社区约束

支持的操作系统

仅支持Huawei Cloud EulerOS 2.0操作系统。

加速数据链路

  • CCE Standard集群:Pod访问Service的ClusterIP以及ExternalIP时,会使用eBPF将Service地址直接解析为Service后端某个Pod的地址。
  • CCE Turbo集群:不涉及

性能优化

  • CCE Standard集群:开启host-routing后,Pod访问Service采用eBPF绕过节点上的iptables或者ipvs转发,请求延迟大幅降低。网络性能在大规模集群中受到的影响更小,扩展性更优。
  • Bandwidth Egress采用EDT(Earliest Departure Time)对Egress带宽进行限制。带宽限制更精准,资源消耗更低。

Bandwidth

开启DataPlane V2网络加速后,Huawei Cloud EulerOS 2.0上的Pod将使用EDT(Earliest Departure Time)对Egress带宽进行限制,暂不支持Ingress带宽限制。未开启DataPlane V2时将使用TBF Qdisc对带宽进行限制,详见为Pod配置QoS

NetworkPolicy

  • 网络策略(NetworkPolicy)的实现和容器隧道网络有差异,详见配置网络策略(NetworkPolicy)限制Pod访问的对象
    • ipBlock选择器只支持选择集群外的IP地址段,不支持选择集群内的Pod或Node的IP地址。
    • 对ipBlock选择器中的except关键字支持不佳,不建议使用except关键字。
    • 使用Egress类型的NetworkPolicy会导致Pod访问集群中HostNetwork的Pod和集群中节点的IP失败。

资源消耗

每个节点上有常驻进程cilium-agent负责处理eBPF网络加速,每个cilium-agent预计占用内存80MiB,每增加一个Pod,cilium-agent内存消耗预计额外增加10KiB。

组件说明

开启DataPlane V2功能后,会安装以下组件:

容器组件

说明

资源类型

cilium-operator

  • 负责CRD资源的同步。
  • 负责移除节点的污点node.cilium.io/agent-not-ready。
  • 内部资源调谐和回收。

Deployment

yangtse-cilium

  • 负责安装CCE适配cilium的辅助CNI:cilium-cni。
  • 负责部署cilium-agent。

DaemonSet

配置管理

您可以通过ConfigMap自定义配置DataPlane V2的网络组件,具体说明如下:

ConfigMap配置

说明

可配置的组件

优先级

yangtse-cilium-config

DataPlane V2默认配置,如果修改此配置,集群升级修改的配置会被复原,请勿修改

cilium-agent

1

cilium-config

cilium社区原生配置,优先级比yangtse-cilium-config低。如有自定义配置DataPlane V2组件的需求,请优先修改此配置。

cilium-agent

cilium-operator

2

目前只有2.1.1及以上插件版本支持自定义配置。

以下为几个自定义配置网络组件的场景示例:

  • 示例一:当cilium-agent异常时,可以给对应的节点自动添加污点,避免Pod调度到此节点,则需要给cilium-operator配置--set-cilium-node-taints=true参数。

    您可以创建以下cilium社区原生的ConfigMap配置:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cilium-config
      namespace: kube-system
    data:
      set-cilium-node-taints: "true"

    当您配置好cilium-config,您可以通过执行以下命令滚动重建cilium-operator即可生效:

    uuid=$(uuidgen)
    kubectl patch deployment -n kube-system cilium-operator --type='json' -p="[{\"op\": \"add\", \"path\": \"/spec/template/metadata/annotations/change-id\", \"value\": \"$uuid\"}]"
  • 示例二:当您需要启用cilium-agent的hubble能力,您可以创建以下cilium社区原生的ConfigMap配置,参数配置详情请参见部署Hubble实现DataPlane V2网络可观测性
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cilium-config
      namespace: kube-system
    data:
      enable-hubble: "true"
      hubble-disable-tls: "true"
      hubble-listen-address: :4244
      hubble-metrics: dns drop tcp flow port-distribution icmp http
      hubble-metrics-server: :9965

    当您配置好cilium-config,您可以通过执行以下命令滚动重建yangtse-cilium即可生效:

    uuid=$(uuidgen)
    kubectl patch daemonset -nkube-system yangtse-cilium --type='json' -p="[{\"op\": \"add\", \"path\": \"/spec/template/metadata/annotations/change-id\", \"value\": \"$uuid\"}]"

版本记录

您可以通过以下命令查看cilium-operator组件的镜像标签来确认DataPlane V2插件的版本。

kubectl get deploy -nkube-system cilium-operator -oyaml | grep "image:" | cut -d ':' -f 3

回显示例如下:

2.1.1

插件版本

商用状态

支持的集群版本

更新特性

社区版本

2.1.1

商用

v1.27

v1.28

v1.29

v1.30

v1.31

v1.32

v1.33

  • 此版本只支持CCE Standard集群VPC路由网络模式
  • cilium升级至v1.17.6版本
  • 支持CCE Standard集群v1.33版本
  • 支持自定义cilium参数配置
  • 支持用户配置Hubble可观测

v1.17

2.0.2

公测

v1.27

v1.28

v1.29

v1.30

v1.31

v1.32

  • 此版本只支持CCE Standard集群VPC路由网络模式
  • cilium升级至v1.17.3版本
  • 关闭bpf-lb-sock(bpf-lb-sock=false)
  • 关闭hostFirewall(enable-host-firewall=false)
  • 开启L7网络策略(enable-l7-proxy=true)
  • 开启host-routing(enable-host-legacy-routing=false)

v1.17

1.0.16

受限公测

v1.27

v1.28

v1.29

v1.30

v1.31

v1.32

v1.33

  • 支持CCE Turbo集群v1.33版本

v1.14

1.0.15

受限公测

v1.27

v1.28

v1.29

v1.30

v1.31

v1.32

  • 关闭bpf-lb-sock(bpf-lb-sock=false)

v1.14

1.0.8

受限公测

v1.27

v1.28

v1.29

v1.30

v1.31

  • DataPlane V2支持CCE Turbo集群云原生网络2.0模型
  • 关闭hostFirewall(enable-host-firewall=false)
  • 关闭L7网络策略(enable-l7-proxy=false)

v1.14

插件版本差异说明

插件版本

商用状态

cilium社区版本

差异说明

集群升级

2.x.x

商用

v1.17

  • 采用veth组网完整兼容cilium
  • 支持L7网络策略
  • 支持hubble网络可观测

集群升级,cilium插件自动升级到最新版本

1.x.x

公测

v1.14

  • 采用网卡直通组网
  • 不支持L7网络策略

集群升级,cilium插件不会自动升级。由于此版本不支持原地平滑升级到商用版本,如需升级到最新商用版本,请提交工单给CCE服务人工协助升级。

相关文档