Sử dụng CNI Cilium VPC Native Routing

Tổng quan

CNI (Container Network Interface) Cilium VPC Native Routing là một cơ chế giúp Kubernetes quản lý mạng mà không cần sử dụng overlay networks. Thay vì dùng các lớp mạng ảo, CNI Cilium VPC Native Routing tận dụng khả năng routing trực tiếp từ VPC (Virtual Private Cloud) của các nhà cung cấp dịch vụ đám mây để tối ưu hóa việc truyền dữ liệu giữa các node và pod trong cụm Kubernetes. Việc sử dụng CNI Cilium VPC Native Routing sẽ đem lại nhiều lợi ích cho bạn, trong đó:

  • Hiệu suất mạng cao hơn: Sử dụng native VPC routing loại bỏ các bước encapsulation/decapsulation khi truyền tải dữ liệu qua mạng overlay, từ đó giảm thiểu độ trễ và tăng hiệu suất mạng.

  • Giảm độ phức tạp: Không cần phải thiết lập và quản lý các overlay networks phức tạp như VXLAN. Mỗi pod có thể sử dụng địa chỉ IP gốc của VPC.

  • Quản lý và mở rộng dễ dàng: Do không sử dụng overlay, việc quản lý mạng dựa trên native VPC giúp dễ dàng hơn trong việc mở rộng cluster mà không cần phải thay đổi cấu trúc mạng.

  • Khả năng tương thích cao: Tận dụng chính hệ thống định tuyến của VPC giúp cụm Kubernetes tương thích tốt hơn với các dịch vụ mạng khác của nhà cung cấp đám mây.

  • Bảo mật tốt hơn với eBPF: Cilium sử dụng eBPF để theo dõi và kiểm soát luồng dữ liệu một cách linh hoạt, có thể thực hiện các chính sách bảo mật chi tiết mà không cần phụ thuộc vào địa chỉ IP.


Model

Trên VKS, CNI (Container Network Interface) Cilium VPC Native Routing hoạt động theo mô hình sau:

Các thành phần chính:

  • Cluster, Node: là cluster và nodes chạy Cilium VPC Native Routing sử dụng eBPF để quản lý lưu lượng mạng giữa các pod.

  • Pod CIDR: dải địa chỉ IP dùng cho các pod trong một node. Trong hình:

    • Node 1 có CIDR là 192.168.240.0/24.

    • Node 2 có CIDR là 192.168.241.0/24.

  • Pod: là các pod chạy trong một network namespace riêng, và có một interface ảo riêng (eth0) với địa chỉ IP riêng trong phạm vi pod CIDR của node. Trong hình, cả hai node đều chạy các pod chứa ứng dụng Nginx.

    • Pod Nginx trên Node 1 có địa chỉ IP 192.168.240.1

    • Pod Nginx trên Node 2 có địa chỉ 192.168.241.1

  • lcx: là mạng ảo sử dụng để pod được kết nối với node. Trong hình:

    • Trên Node 1, lxc01 kết nối với eth0 của pod Nginx.

  • cilium_host eBPF: Mỗi node có một network đặc biệt gọi là cilium_host, và Cilium sử dụng eBPF để quản lý lưu lượng mạng giữa các pod. eBPF cho phép Cilium quản lý mạng ở mức kernel, làm cho việc xử lý gói tin hiệu quả hơn.

  • Underlying Network: là mạng vật lý mà các node kết nối với nhau, trong hình:

    • Dải IP chính (Primary IP range) là 192.168.0.0/24

    • Dải IP phụ (Secondary IP range) 192.168.240.0/20 dùng cho pod.

Mối quan hệ giữa các thành phần:

  • Mỗi Node có một dải địa chỉ IP riêng cho các pod (Pod CIDR). Các pod trong mỗi node sử dụng địa chỉ từ CIDR này và giao tiếp qua mạng ảo.

  • CiliumeBPF thực hiện quản lý mạng cho tất cả các pod trên mỗi node, bao gồm việc xử lý lưu lượng đi từ pod này đến pod khác, hoặc từ node này sang node khác. Khi cần, eBPF thực hiện masquerading để ẩn địa chỉ IP nội bộ của pod khi giao tiếp với mạng ngoài.

  • Cilium đảm bảo rằng các pod có thể giao tiếp với nhau cả bên trong cùng node và giữa các node khác nhau.


Điều kiện cần

Để có thể khởi tạo một ClusterDeploy một Workload, bạn cần:

  • Có ít nhất 1 VPC và 1 Subnet đang ở trạng thái ACTIVE. Nếu bạn chưa có VPC, Subnet nào, vui lòng khởi tạo VPC, Subnet theo hướng dẫn tại đây. Tại Subnet đã tạo, bạn đảm bảo đã nhập đầy đủ Primary CIDR, Secondary CIDR, trong đó:

    • Primary CIDR: :Đây là dải địa chỉ IP chính của subnet. Mọi địa chỉ IP nội bộ của các máy ảo (VM) trong subnet này sẽ được lấy từ dải địa chỉ này. Giả sử, nếu bạn đặt Primary CIDR là 10.1.0.0/16, các địa chỉ IP của các VM sẽ nằm trong khoảng từ 10.1.0.1 đến 10.1.255.254.

    • Secondary CIDR: Đây là dải địa chỉ IP phụ, được sử dụng để cung cấp thêm địa chỉ IP cho các mục đích cụ thể như alias IP ranges hoặc để phân chia các dịch vụ khác nhau trong cùng một subnet. Giả sử bạn có thể thêm một Secondary CIDR là 10.2.0.0/20 để sử dụng cho các dịch vụ hoặc ứng dụng khác nhau mà không cần tạo thêm subnet mới.

Chú ý:

  • Các dải địa chỉ IP của Primary CIDR Secondary CIDR không được trùng lặp. Điều này có nghĩa là dải địa chỉ của Secondary CIDR phải nằm ngoài phạm vi của Primary CIDR và ngược lại. Giả sử, nếu Primary CIDR là 10.1.0.0/16, thì Secondary CIDR không thể là 10.1.0.0/20 vì nó nằm trong phạm vi của Primary CIDR. Thay vào đó, bạn có thể sử dụng một dải địa chỉ khác như 10.2.0.0/20.

  • Có ít nhất 1 SSH key đang ở trạng thái ACTIVE. Nếu bạn chưa có SSH key nào, vui lòng khởi tạo SSH key theo hướng dẫn tại đây.

  • Đã cài đặt và cấu hình kubectl trên thiết bị của bạn. vui lòng tham khảo tại đây nếu bạn chưa rõ cách cài đặt và sử dụng kuberctl. Ngoài ra, bạn không nên sử dụng phiên bản kubectl quá cũ, chúng tôi khuyến cáo bạn nên sử dụng phiên bản kubectl sai lệch không quá một phiên bản với version của cluster.


Khởi tạo một Cluster sử dụng CNI Cilium VPC Native Routing

Để khởi tạo một Cluster, hãy làm theo các bước bên dưới:

Bước 1: Truy cập vào https://vks.console.vngcloud.vn/overview

Bước 2: Tại màn hình Overview, chọn Activate.

Bước 3: Chờ đợi tới khi chúng tôi khởi tạo thành công tài khoản VKS của bạn. Sau khi Activate thành công, bạn hãy chọn Create a Cluster.

Bước 4: Tại màn hình khởi tạo Cluster, chúng tôi đã thiết lập thông tin cho Cluster và một Default Node Group cho bạn. Để sử dụng CNI Cilium VPC Native Routing cho Cluster của bạn, vui lòng chọn:

  • Network type: Cilium VPC Native Routing và các thông số khác như sau:

FieldÝ nghĩaVí dụ minh họa

VPC

Dải địa chỉ IP mà các node của Cluster sẽ sử dụng để giao tiếp.

Trong hình, chúng tôi lựa chọn VPC có IP range là 10.111.0.0/16, tương ứng với 65536 IP

Subnet

Dải địa chỉ IP nhỏ hơn thuộc VPC. Mỗi node trong Cluster sẽ được gán một IP từ Subnet này. Subnet phải nằm trong dải IP của VPC đã chọn.

Trong hình, chúng tôi lựa chọn Subnet có Primary IP range10.111.0.0/24, tương ứng với 256 IP

Default Pod IP range

Đây là dải địa chỉ IP thứ cấp được sử dụng cho các pod. Nó được gọi là Secondary IP range vì nó không trùng với dải IP chính của node (Primary IP range). Các pod trong Cluster sẽ được gán IP từ dải này.

Trong hình, chúng tôi lựa chọn Secondary IP range10.111.160.0/20 - Tương ứng với 4096 IP cho các pod

Node CIDR mask size

Kích thước của CIDR dành cho các node. Thông số này cho biết mỗi node sẽ được gán bao nhiêu địa chỉ IP từ dải pod IP range. Kích thước này cần được chọn sao cho đảm bảo có đủ địa chỉ IP cho tất cả các pod trên mỗi node. Bạn có thể tham khảo bảng bên dưới để hiểu các tính số lượng IP có thể sử dụng để cấp phát cho node, pod trong cluster của bạn.

Trong hình, chúng tooi lựa chọn Node CIDR mask size/25 - Mỗi node sẽ có 128 địa chỉ IP, phù hợp với số lượng pod bạn mong muốn chạy trên một node.

Các tính toán số lượng IP cho pod và node:

Giả sử, theo lựa chọn bên trên, kết quả tính toán số lượng pod và node như sau:

  • Secondary IP range: 10.111.160.0/20 (tổng cộng có 4096 địa chỉ IP cho các pod).

  • Node CIDR mask size: Các giá trị có thể chọn từ /20 đến /26.

Node CIDR mask sizeSố lượng IP cho mỗi nodeSố lượng node có thể tạo trong dải /20 (4096 IP)Số lượng IP phân bổ cho pod trên mỗi nodeSố lượng pod thực tế có thể tạo

/20

4096

1

4096

2048

/21

2048

2

2048

1024

/22

1024

4

1024

512

/23

512

8

512

256

/24

256

16

256

128

/25

128

32

128

64

/26

64

64

64

32

Do đó:

  • Node CIDR mask size càng lớn (ví dụ /20, /21), bạn sẽ có ít node nhưng mỗi node sẽ có nhiều IP hơn cho các pod.

  • Node CIDR mask size nhỏ hơn (ví dụ /24, /25), bạn có thể tạo nhiều node hơn nhưng mỗi node sẽ có ít địa chỉ IP hơn cho pod.

Chú ý:

Khi không đủ địa chỉ IP trong Node CIDR range hoặc Secondary IP range để tạo thêm node, cụ thể:

  • Nếu bạn không thể sử dụng Node mới do hết dải địa chỉ IP trong Secondary IP range. Lúc này, các node mới vẫn sẽ được tạo và được join vào cụm nhưng bạn không thể sử dụng chúng. Các pod được yêu cầu khởi chạy trên node mới này sẽ bị kẹt trong trạng thái "ContainerCreating" do không thể tìm thấy node phù hợp để triển khai. Giải pháp: Bạn cần mở rộng dải Secondary IP range (nếu hạ tầng mạng của bạn cho phép) hoặc điều chỉnh cấu hình của cluster (tăng số node CIDR).

  • Không đủ địa chỉ IP cho Pod: Nếu một node được khởi tạo nhưng không còn đủ địa chỉ IP để cấp phát cho các pod mới, các pod sẽ không thể khởi chạy trên node đó. VKS sẽ không phân bổ thêm pod cho node đó, và pod sẽ rơi vào trạng thái "ContainerCreating" cho đến khi có tài nguyên hoặc IP khả dụng.Giải pháp: Bạn có thể:

    • Tăng số lượng node để giảm tải và tăng lượng IP cho các pod.

    • Tối ưu lại Node CIDR mask size để mỗi node có nhiều IP hơn.

Bước 5: Chọn Create Kubernetes cluster. Hãy chờ vài phút để chúng tôi khởi tạo Cluster của bạn, trạng thái của Cluster lúc này là Creating.

Bước 6: Khi trạng thái ClusterActive, bạn có thể xem thông tin Cluster, thông tin Node Group bằng cách chọn vào Cluster Name tại cột Name.


Deploy một Workload

Bên dưới là hướng dẫn triển khai một deployment nginx và kiểm tra việc phân chia IP cho các pod được triển khai trong cluster của bạn.

Bước 1: Truy cập vào https://vks.console.vngcloud.vn/k8s-cluster

Bước 3: Đổi tên file này thành config và lưu nó vào thư mục ~/.kube/config

Bước 4: Thực hiện kiểm tra Cluster thông qua lệnh:

  • Chạy câu lệnh sau đây để kiểm tra node

kubectl get nodes
  • Nếu kết quả trả về như bên dưới tức là bạn Cluster của bạn được khởi tạo thành công với 3 node:

NAME                                           STATUS   ROLES    AGE     VERSION
vks-cluster-democilium-nodegroup-558f4-39206   Ready    <none>   5m35s   v1.28.8
vks-cluster-democilium-nodegroup-558f4-63344   Ready    <none>   5m45s   v1.28.8
vks-cluster-democilium-nodegroup-558f4-e6e4d   Ready    <none>   6m24s   v1.28.8
  • Tiếp tục thực hiện chạy lệnh sau đây để kiểm tra các pod đã được triển khai trên namespace kube-system của bạn:

k get pods -A
  • Nếu kết quả trả về như bên dưới tức là các pods hỗ trợ chạy Cilium VPC Native đã được chạy thành công:

NAMESPACE     NAME                                          READY   STATUS    RESTARTS        AGE
kube-system   cilium-envoy-2g22l                            1/1     Running   0               6m41s
kube-system   cilium-envoy-h9mjb                            1/1     Running   0               5m53s
kube-system   cilium-envoy-ngz89                            1/1     Running   0               6m3s
kube-system   cilium-ft98g                                  1/1     Running   1 (5m33s ago)   6m2s
kube-system   cilium-operator-5fc5c56c4c-66l6d              1/1     Running   0               10m
kube-system   cilium-operator-5fc5c56c4c-qfnw2              1/1     Running   0               10m
kube-system   cilium-rfrr7                                  1/1     Running   1 (6m10s ago)   6m41s
kube-system   cilium-xmlq5                                  1/1     Running   1 (5m24s ago)   5m53s
kube-system   coredns-1727334052-85db76748b-fpmfr           1/1     Running   0               6m22s
kube-system   coredns-1727334052-85db76748b-jqv79           1/1     Running   0               6m22s
kube-system   hubble-relay-8578649fdb-bgzzz                 1/1     Running   1 (4m35s ago)   10m
kube-system   hubble-ui-574c5bb99b-g7l6c                    2/2     Running   0               10m
kube-system   konnectivity-agent-hmf2x                      1/1     Running   0               5m24s
kube-system   konnectivity-agent-q69n2                      1/1     Running   0               6m15s
kube-system   konnectivity-agent-wgqbw                      1/1     Running   0               5m14s
kube-system   vngcloud-controller-manager-d4d4f7b84-m65nb   1/1     Running   0               11m
kube-system   vngcloud-csi-controller-565c55dbcc-88pt4      7/7     Running   8 (4m59s ago)   11m
kube-system   vngcloud-csi-controller-565c55dbcc-v22q4      7/7     Running   8 (4m59s ago)   11m
kube-system   vngcloud-csi-node-665r2                       3/3     Running   3 (5m15s ago)   6m41s
kube-system   vngcloud-csi-node-8x542                       3/3     Running   3 (52s ago)     6m3s
kube-system   vngcloud-csi-node-gx7zd                       3/3     Running   2 (83s ago)     5m53s
kube-system   vngcloud-ingress-controller-0                 1/1     Running   1 (5m55s ago)   11m

Bước 2: Triển khai deployment nginx trên cluster vừa khởi tạo:

  • Thực hiện khởi tạo tệp tin nginx-deployment.yaml với nội dung tương tự bên dưới:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-app
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 20
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80
  • Thực hiện triển khai deployment này qua lệnh:

kubectl apply -f nginx-deployment.yaml

Bước 3: Kiểm tra các pod nginx đã được triển khai và địa chỉ IP tương ứng

  • Thực hiện kiểm tra các pod qua lệnh:

kubectl get pods -o wide
  • Bạn có thể quan sát bên dưới, các pod nginx được chạy trên các IP 10.111.16x.xxx thỏa mãn điều kiện VPC, Subnet, Secondary IP mà bạn đã chọn bên trên.

    NAME                         READY   STATUS    RESTARTS   AGE   IP               NODE                                           
    nginx-app-7c79c4bf97-6v88s   1/1     Running   0          31s   10.111.161.53    vks-cluster-democilium-nodegroup-558f4-39206   
    nginx-app-7c79c4bf97-754m7   1/1     Running   0          31s   10.111.161.1     vks-cluster-democilium-nodegroup-558f4-39206   
    nginx-app-7c79c4bf97-9tjw7   1/1     Running   0          31s   10.111.160.212   vks-cluster-democilium-nodegroup-558f4-63344   
    nginx-app-7c79c4bf97-c6vx7   1/1     Running   0          31s   10.111.160.46    vks-cluster-democilium-nodegroup-558f4-e6e4d   
    nginx-app-7c79c4bf97-c7nch   1/1     Running   0          31s   10.111.161.3     vks-cluster-democilium-nodegroup-558f4-39206   
    nginx-app-7c79c4bf97-cggfq   1/1     Running   0          31s   10.111.161.74    vks-cluster-democilium-nodegroup-558f4-39206   
    nginx-app-7c79c4bf97-cz4xc   1/1     Running   0          31s   10.111.160.115   vks-cluster-democilium-nodegroup-558f4-e6e4d   
    nginx-app-7c79c4bf97-d84rb   1/1     Running   0          31s   10.111.160.152   vks-cluster-democilium-nodegroup-558f4-63344   
    nginx-app-7c79c4bf97-dbmt7   1/1     Running   0          31s   10.111.160.184   vks-cluster-democilium-nodegroup-558f4-63344   
    nginx-app-7c79c4bf97-gtx8b   1/1     Running   0          31s   10.111.161.57    vks-cluster-democilium-nodegroup-558f4-39206   
    nginx-app-7c79c4bf97-km7tx   1/1     Running   0          31s   10.111.160.94    vks-cluster-democilium-nodegroup-558f4-e6e4d   
    nginx-app-7c79c4bf97-lmk7c   1/1     Running   0          31s   10.111.161.26    vks-cluster-democilium-nodegroup-558f4-39206   
    nginx-app-7c79c4bf97-mc24h   1/1     Running   0          31s   10.111.160.98    vks-cluster-democilium-nodegroup-558f4-e6e4d   
    nginx-app-7c79c4bf97-n4zvf   1/1     Running   0          31s   10.111.160.204   vks-cluster-democilium-nodegroup-558f4-63344   
    nginx-app-7c79c4bf97-n84tc   1/1     Running   0          31s   10.111.161.106   vks-cluster-democilium-nodegroup-558f4-39206   
    nginx-app-7c79c4bf97-qtjjx   1/1     Running   0          31s   10.111.160.32    vks-cluster-democilium-nodegroup-558f4-e6e4d   
    nginx-app-7c79c4bf97-rp4bt   1/1     Running   0          31s   10.111.160.202   vks-cluster-democilium-nodegroup-558f4-63344   
    nginx-app-7c79c4bf97-sk7tf   1/1     Running   0          31s   10.111.160.196   vks-cluster-democilium-nodegroup-558f4-63344   
    nginx-app-7c79c4bf97-x8jxm   1/1     Running   0          31s   10.111.160.135   vks-cluster-democilium-nodegroup-558f4-63344   
    nginx-app-7c79c4bf97-zlstg   1/1     Running   0          31s   10.111.160.121   vks-cluster-democilium-nodegroup-558f4-e6e4d 
  • Bạn cũng có thể thực hiện xem mô tả chi tiết mỗi pod để kiểm tra thông tin pod này qua lệnh:

kubectl describe pod nginx-app-7c79c4bf97-6v88s

Bước 4: Bạn có thể thực hiện một vài bước để kiểm tra chuyên sâu việc hoạt động của Cilium. Cụ thể:

  • Đầu tiên, bạn cần cài đặt Cilium CLI theo hướng dẫn tại đây.

  • Sau khi cài đặt Cilium CLS, thực hiện kiểm tra trạng thái của Cilium trong cluster của bạn qua lệnh:

    cilium status wait
  • Nếu kết quả hiển thị như bên dưới tức là Cilium đang hoạt động đúng:

    /¯¯\
 /¯¯\__/¯¯\    Cilium:             OK
 \__/¯¯\__/    Operator:           OK
 /¯¯\__/¯¯\    Envoy DaemonSet:    OK
 \__/¯¯\__/    Hubble Relay:       OK
    \__/       ClusterMesh:        disabled

DaemonSet              cilium-envoy       Desired: 3, Ready: 3/3, Available: 3/3
Deployment             hubble-relay       Desired: 1, Ready: 1/1, Available: 1/1
Deployment             hubble-ui          Desired: 1, Ready: 1/1, Available: 1/1
Deployment             cilium-operator    Desired: 2, Ready: 2/2, Available: 2/2
DaemonSet              cilium             Desired: 3, Ready: 3/3, Available: 3/3
Containers:            hubble-ui          Running: 1
                       cilium-operator    Running: 2
                       cilium             Running: 3
                       cilium-envoy       Running: 3
                       hubble-relay       Running: 1
Cluster Pods:          32/32 managed by Cilium
Helm chart version:
Image versions         cilium             vcr.vngcloud.vn/81-vks-public/cilium/cilium:v1.16.1: 3
                       cilium-envoy       vcr.vngcloud.vn/81-vks-public/cilium/cilium-envoy:v1.29.7-39a2a56bbd5b3a591f69dbca51d3e30ef97e0e51: 3
                       hubble-relay       vcr.vngcloud.vn/81-vks-public/cilium/hubble-relay:v1.16.1: 1
                       hubble-ui          vcr.vngcloud.vn/81-vks-public/cilium/hubble-ui-backend:v0.13.1: 1
                       hubble-ui          vcr.vngcloud.vn/81-vks-public/cilium/hubble-ui:v0.13.1: 1
                       cilium-operator    vcr.vngcloud.vn/81-vks-public/cilium/operator-generic:v1.16.1: 2

Bước 5: Kiểm tra kết nối của

  • Chạy lệnh

kubectl -n kube-system exec ds/cilium -- cilium-health status --probe
  • Kết quả

Probe time:   2024-09-26T07:11:57Z
Nodes:
  vks-cluster-democilium-nodegroup-558f4-e6e4d (localhost):
    Host connectivity to 10.111.0.8:
      ICMP to stack:   OK, RTT=306.523µs
      HTTP to agent:   OK, RTT=206.191µs
    Endpoint connectivity to 10.111.160.91:
      ICMP to stack:   OK, RTT=307.205µs
      HTTP to agent:   OK, RTT=365.113µs
  vks-cluster-democilium-nodegroup-558f4-39206:
    Host connectivity to 10.111.0.14:
      ICMP to stack:   OK, RTT=1.90859ms
      HTTP to agent:   OK, RTT=344.725µs
    Endpoint connectivity to 10.111.161.9:
      ICMP to stack:   OK, RTT=1.889682ms
      HTTP to agent:   OK, RTT=549.887µs
  vks-cluster-democilium-nodegroup-558f4-63344:
    Host connectivity to 10.111.0.9:
      ICMP to stack:   OK, RTT=1.920985ms
      HTTP to agent:   OK, RTT=706.376µs
    Endpoint connectivity to 10.111.160.223:
      ICMP to stack:   OK, RTT=1.919709ms
      HTTP to agent:   OK, RTT=1.090877ms

Bước 6: Kiểm tra kết nối giữa các Pod

  • Thực hiện kiểm tra kết nối giữa các pod, đảm bảo rằng các pod có thể giao tiếp qua địa chỉ IP của VPC mà không cần qua overlay networks. Ví dụ bên dưới tôi thực hiện ping từ pod nginx-app-7c79c4bf97-6v88s có địa chỉ IP: 10.111.161.53 tới một server trong cùng VPC có địa chỉ IP: 10.111.0.10:

kubectl exec -it nginx-app-7c79c4bf97-6v88s -- ping 10.111.0.10
  • Nếu kết quả như sau tức là kết nối đã thông:

PING 10.111.0.10 (10.111.0.10): 56 data bytes
64 bytes from 10.111.0.10: seq=0 ttl=62 time=3.327 ms
64 bytes from 10.111.0.10: seq=1 ttl=62 time=0.541 ms
64 bytes from 10.111.0.10: seq=2 ttl=62 time=0.472 ms
64 bytes from 10.111.0.10: seq=3 ttl=62 time=0.463 ms
^C
--- 10.111.0.10 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.463/1.200/3.327 ms

Một vài lưu ý khi sử dụng CNI Cilium VPC Native Routing:

Last updated