DataPlane V2
DataPlane V2 can be enabled in clusters that use VPC networks or Cloud Native Network 2.0. This feature uses eBPF redirection to enable features like Services, bandwidth, and NetworkPolicy.
| DataPlane V2 | Description |
|---|---|
| Technical implementation | DataPlane V2 integrates open-source cilium to enable features like Services, bandwidth, and NetworkPolicy. |
| 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 (commercial use): v1.34.3-r10 or later |
| Usage |
NOTICE:
|
| Supported OS | Huawei Cloud EulerOS 2.0 is supported. Clusters v1.28.15-r70, v1.29.15-r30, v1.30.14-r30, v1.31.10-r30, v1.32.6-r30, v1.33.5-r20, v1.34.1-r0, and later versions support Ubuntu 22.04. |
| Performance optimization |
|
| Bandwidth | With DataPlane V2 enabled, CCE standard clusters on the VPC network model use eBPF for bandwidth limiting, and CCE Turbo clusters use TBF Qdisc. 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: To change the default NodePort range of a cluster, modify the Service Port Range in Settings > Network > Service Settings, and then update the Cilium settings by creating a native Cilium community ConfigMap:
apiVersion: v1 kind: ConfigMap metadata: name: cilium-config namespace: kube-system data: node-port-range: "30000,32767"
After configuring cilium-config, run the following command to rebuild yangtse-cilium in rolling mode to apply the modification:
uuid=$(uuidgen) kubectl patch daemonset -nkube-system yangtse-cilium --type='json' -p="[{\"op\": \"add\", \"path\": \"/spec/template/metadata/annotations/change-id\", \"value\": \"$uuid\"}]" - Example 2: When cilium-agent malfunctions, configure --set-cilium-node-taints=true for cilium-operator to automatically taint affected nodes, preventing pods from being scheduled to them.
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 3: To enable Hubble for cilium-agent, create the following native Cilium community ConfigMap. 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, run the following command to rebuild yangtse-cilium in rolling mode to apply the modification:
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:
3.1.5
| Add-on Version | Status | Supported Cluster Version | What's New | Community Version |
|---|---|---|---|---|
| 3.1.5 | Commercial use | v1.29 v1.30 v1.31 v1.32 v1.33 v1.34 v1.35 |
| |
| 3.0.1 | Commercial use | v1.28 v1.29 v1.30 v1.31 v1.32 v1.33 v1.34 |
| |
| 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.17 | Limited OBT | v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 v1.33 |
| |
| 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 |
|---|---|---|---|---|
| 3.1.x | Commercial use |
| When the cluster is upgraded, Cilium is automatically upgraded to the latest version. | |
| 3.0.x | Commercial use |
| When the cluster is upgraded, Cilium is automatically upgraded to the latest version. | |
| 2.x.x | Commercial use |
| When the cluster is upgraded, Cilium is automatically upgraded to the latest version. | |
| 1.x.x | Limited OBT |
| When the cluster is upgraded, Cilium is not automatically upgraded. This version does not support in-place upgrade to the commercial version. Create a new cluster using the latest version instead. |
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