DataPlane V2 Network Acceleration
DataPlane V2 can be enabled in clusters that use VPC networks or Cloud Native Network 2.0. This function supports eBPF redirection for applying network policies.
CCE DataPlane V2 is released with restrictions. To use this feature, submit a service ticket to CCE.
|
DataPlane V2 |
Description |
|---|---|
|
Technical implementation |
DataPlane V2 integrates open-source Cilium to provide capabilities such as network policies. |
|
Supported cluster versions |
CCE standard clusters using VPC networks for commercial use of v1.27.16-r30, v1.28.15-r20, v1.29.13-r0, v1.30.10-r0, v1.31.6-r0, or later CCE Turbo clusters in limited OBT of v1.27.16-r10, v1.28.15-r0, v1.29.10-r0, v1.30.6-r0, or later |
|
Usage |
NOTICE:
|
|
Supported OS |
Only Huawei Cloud EulerOS 2.0 is supported. |
|
Accelerated data link |
|
|
Performance optimization |
|
|
Bandwidth |
After DataPlane V2 network acceleration is enabled, pods on the nodes running Huawei Cloud EulerOS 2.0 use EDT to limit the egress bandwidth. The ingress bandwidth limitation is not supported. If DataPlane V2 is not enabled, the TBF Qdisc is used to limit the bandwidth. For details, see Configuring QoS for Pods. |
|
NetworkPolicy |
|
|
Resource consumption |
The resident cilium-agent process on each node is responsible for eBPF network acceleration. Each cilium-agent process may occupy 80 MiB of memory. Each time a pod is added, the cilium-agent memory consumption may increase by 10 KiB. |
Components
After DataPlane V2 is enabled, components listed in the following table are installed.
|
Component |
Description |
Resource Type |
|---|---|---|
|
cilium-operator |
|
Deployment |
|
yangtse-cilium |
|
DaemonSet |
Configuration Management
You can use ConfigMaps to create custom network components of DataPlane V2.
|
ConfigMap Configuration |
Description |
Configurable Component |
Priority |
|---|---|---|---|
|
yangtse-cilium-config |
Default DataPlane V2 configuration. If this configuration is modified, the configuration will be restored to what it was during the cluster upgrade. Do not modify this configuration. |
cilium-agent |
1 |
|
cilium-config |
Native configuration of the Cilium community. The priority of this configuration is lower than that of yangtse-cilium-config. If you need to create custom DataPlane V2 components, modify this configuration first. |
2 |
Currently, only the Cilium add-on of 2.1.1 or later supports custom configuration.
Example custom network components:
- Example 1: When cilium-agent is abnormal, you can configure --set-cilium-node-taints=true for cilium-operator to automatically add taints to a node to prevent pods from being scheduled to that node.
You can create the following native ConfigMap configuration of the Cilium community:
apiVersion: v1 kind: ConfigMap metadata: name: cilium-config namespace: kube-system data: set-cilium-node-taints: "true"
After configuring cilium-config, you can run the following command to roll back and rebuild cilium-operator to apply the configuration:
uuid=$(uuidgen) kubectl patch deployment -n kube-system cilium-operator --type='json' -p="[{\"op\": \"add\", \"path\": \"/spec/template/metadata/annotations/change-id\", \"value\": \"$uuid\"}]" - Example 2: If you want to enable Hubble of cilium-agent, you can create the following naive ConfigMap configuration of the Cilium community. For details about the parameter settings, see Deploying Hubble for DataPlane V2 Network Observability.
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
After configuring cilium-config, you can run the following command to roll back and rebuild yangtse-cilium to apply the configuration:
uuid=$(uuidgen) kubectl patch daemonset -nkube-system yangtse-cilium --type='json' -p="[{\"op\": \"add\", \"path\": \"/spec/template/metadata/annotations/change-id\", \"value\": \"$uuid\"}]"
Change History
You can run the following command to check the cilium-operator image tag for the DataPlane V2 version:
kubectl get deploy -nkube-system cilium-operator -oyaml | grep "image:" | cut -d ':' -f 3
Information similar to the following is displayed:
2.1.1
|
Add-on Version |
Status |
Cluster Version |
New Feature |
Community Version |
|---|---|---|---|---|
|
2.1.1 |
Commercial use |
v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 v1.33 |
|
|
|
2.0.2 |
OBT |
v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 |
|
|
|
1.0.16 |
Limited OBT |
v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 v1.33 |
|
|
|
1.0.15 |
Limited OBT |
v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 |
|
|
|
1.0.8 |
Limited OBT |
v1.27 v1.28 v1.29 v1.30 v1.31 |
|
Add-on Version Differences
|
Add-on Version |
Status |
Cilium Version |
Difference |
Cluster Upgrade |
|---|---|---|---|---|
|
2.x.x |
Commercial use |
|
When the cluster is upgraded, Cilium is automatically upgraded to the latest version. |
|
|
1.x.x |
OBT |
|
When the cluster is upgraded, Cilium is not automatically upgraded. This version cannot be upgraded in-place upgrade to a commercial version. To upgrade to the latest commercial version, submit a service ticket to CCE for manual upgrade. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot