Evaluación de rendimiento de CNI para Kubernetes sobre la red 10G (agosto de 2020)



TL; DR: Todos los CNI funcionan como deberían, excepto Kube-Router y Kube-OVN, Calico, con la excepción de la detección automática de MTU, es el mejor.



- (2018 2019), Kubernetes 1.19 Ubuntu 18.04 CNI 2020 .



...



2019?



  • : Kubernetes Network Benchmark: knb


  • : "Pod-to-Pod", "Pod-to-Service", , . Pod API , Pod ip- ( TCP UDP ).
  • :
  • : HTTP, FTP SCP, CNI iperf TCP curl - CNI ( Pod, ).
  • : (, yml "" )




, , Ubuntu 18.04 .



CNI



CNI, yaml ( , , VPP ).



CNI :



  • Antrea v.0.9.1
  • Calico v3.16
  • Canal v3.16 (Flannel network + Calico Network Policies)
  • Cilium 1.8.2
  • Flannel 0.12.0
  • Kube-router latest (2020–08–25)
  • WeaveNet 2.7.0


MTU CNI



MTU TCP:





MTU TCP



UDP:





MTU UDP



, , - CNI: , MTU CNI. , : .



- CNI MTU — . , Calico, Canal WeaveNet.





CNI...



CNI:



CNI MTU ( , ). — .



:



  • — (.. )
  • — 9500 \
  • — 9000 \
  • — 8000 \
  • — 8000 \
  • — ( )




— , "".







Pod-to-Pod



, Pod Pod ip-.





Pod-to-Pod



TCP



Pod-to-Pod TCP :







UDP



Pod-to-Pod UDP :







Pod-to-Service



, Pod Pod ClusterIP.





Pod-to-Service



TCP



Pod-to-Service TCP :







UDP



Pod-to-Service UDP :









, , , Flannel. , . !



CNI



CNI , Pod:



  • Antrea IPsec
  • Calico wireguard
  • Cilium IPsec
  • WeaveNet IPsec




CNI — :







, Pod-to-Pod TCP UDP. Pod-to-Service, .









, , "vwry fast", "low" ..







, .



, CNI, Antrea , : MTU, .



— CNI , Kube-OVN Kube-Router. Kube-Router MTU, ( ).



, - Cilium , , - , , . Kube-OVN , CNI, Open vSwitch ( Antrea, ).



, Flannel. , , : , .



, . Calico — CNI, . wireguard IPsec, , , CNI . - , (Calico Cilium, ). , wireguard Calico , , , . , ! , Calico MTU ( ), MTU, Jumbo Frames (MTU 9000).



, , Cilium ( Pod), .



:



  • CNI , : Flannel, CNI ( , Homo Kubernautus Homo Contaitorus). k3s, !
  • CNI : Calico — , MTU, . , ..
  • CNI () : , , , 10\. — , Calico Cilium.



All Articles