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及以上集群版本。 |
|
使用方法 |
|
|
支持的操作系统 |
仅支持Huawei Cloud EulerOS 2.0操作系统。 |
|
加速数据链路 |
|
|
性能优化 |
|
|
Bandwidth |
开启DataPlane V2网络加速后,Huawei Cloud EulerOS 2.0上的Pod将使用EDT(Earliest Departure Time)对Egress带宽进行限制,暂不支持Ingress带宽限制。未开启DataPlane V2时将使用TBF Qdisc对带宽进行限制,详见为Pod配置QoS。 |
|
NetworkPolicy |
|
|
资源消耗 |
每个节点上有常驻进程cilium-agent负责处理eBPF网络加速,每个cilium-agent预计占用内存80MiB,每增加一个Pod,cilium-agent内存消耗预计额外增加10KiB。 |
组件说明
开启DataPlane V2功能后,会安装以下组件:
|
容器组件 |
说明 |
资源类型 |
|---|---|---|
|
cilium-operator |
|
Deployment |
|
yangtse-cilium |
|
DaemonSet |
配置管理
您可以通过ConfigMap自定义配置DataPlane V2的网络组件,具体说明如下:
|
ConfigMap配置 |
说明 |
可配置的组件 |
优先级 |
|---|---|---|---|
|
yangtse-cilium-config |
DataPlane V2默认配置,如果修改此配置,集群升级修改的配置会被复原,请勿修改。 |
cilium-agent |
1 |
|
cilium-config |
cilium社区原生配置,优先级比yangtse-cilium-config低。如有自定义配置DataPlane V2组件的需求,请优先修改此配置。 |
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 |
|
|
|
2.0.2 |
公测 |
v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 |
|
|
|
1.0.16 |
受限公测 |
v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 v1.33 |
|
|
|
1.0.15 |
受限公测 |
v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 |
|
|
|
1.0.8 |
受限公测 |
v1.27 v1.28 v1.29 v1.30 v1.31 |
|