TL; DR: ืื ื-CNIs ืขืืืืื ืืื ืฉืื ืฆืจืืืื, ืืืขื Kube-Router ื-Kube-OVN, Calico, ืืืขื ืืืืื MTU ืืืืืืื, ืืื ืืืื ืืืืชืจ.
ืขืืืื ืืืืจ ืฉื ืืืืงืืช ืืขืืจ ืฉืื (
ืืคื ื ืฉื ืฆืืื ืืืืืื...
ืื ืืืฉ ืืื ืืคืจืื 2019?
- ืืืื ืืืืืง ืืืฉืืื ืืฉืื: ืืชื ืืืื ืืืจืืฅ ืืืืงืืช ืืืฉืืื ืืฉืื ืืืืฆืขืืช ืืืื ืฉืื ื Benchmark ืฉื ืจืฉืช Kubernetes:
knb - ืืืจืื ืืืฉืื ืืืคืืขื
ืื ื ืจืืฉืื ื ื-VMware TanzuKube-OVN ืืืช alauda.io
- ืชืจืืืฉืื ืืืฉืื: ืืืืงืืช ื ืืืืืืช ืืจืฆืืช ืืืื ื ืืืฆืืขื ืจืฉืช "Pod-to-Pod", ืื ืืกืฃ ืกืงืจืืคื ืืืฉ ืฉื "Pod-to-Service" ืฉืืจืืฅ ืืืืงืืช ืงืจืื ืืืชืจ ืืชื ืืื ืืขืืื ืืืืืชื. ืืคืืขื, Pod with API ืฉืื ืขืืื ืขื ืืืกืืก ืืฉืืจืืช, ืืื ืืจื ืืชืืืช ื-IP ืฉื Pod (ืืืืื ืฉืื ืื ื ืืืืงืื ืื TCP ืืื UDP ืขืืืจ ืฉื ื ืืชืจืืืฉืื).
- ืฆืจืืืช ืืฉืืืื: ืืื ืืืืงื ืืฉ ืืขืช ืืฉืืืืช ืืฉืืืื ืืฉืื
- ืืกืจืช ืืืืงืืช ืืืฉืืืื: ืืื ื ื ืืืฆืขืื ืขืื ืืืืงืืช HTTP, FTP ื-SCP ืืืืืื ืฉืฉืืชืืฃ ืืคืขืืื ืืคืืจื ืฉืื ื ืขื ืืงืืืื ืืขื ืืชืืื ื-CNI ืืืื ืคืขืจ ืืื ืชืืฆืืืช iperf ืขื ืคื ื TCP ืืืื ืชืืฆืืืช ืกืืกืื ืขืงื ืขืืืื ืืืคืขืืช CNI (ืืฉื ืืืช ืืจืืฉืื ืืช ืฉื Pod ืืคืขืื, ืฉืืื ื ืืืคืืื ืืช ืืชื ืืื ืืืืชืืื).
- ืงืื ืคืชืื: ืื ืืงืืจืืช ืืืืืงื (ืกืงืจืืคืืื, ืืืืจืืช yml ืื ืชืื ื "ืืืืืืื" ืืงืืจืืื) ืืืื ืื
ืืื
ืคืจืืืืงืื ืืืืงืช ืืชืืืืกืืช
ืืคืจืืืืงืื ืืชืืืจ ืืคืืจืื
ืืืืจืช CNI ืืืขืจืื
ืืืืงื ืื ื ืืขืื ืืืฉืืืช CNIs ืืืืืืจืื ืขื ืงืืืฅ yaml ืืื (ืืื, ืื ืืื ืฉืืืชืงื ื ืขื ืืื ืกืงืจืืคืืื, ืืืื VPP ืืืืจืื, ืืื ื ื ืืืืื).
ื-CNI ืฉื ืืืจื ืืืฉืืืื:
- Antrea v.0.9.1
- Calico v3.16
- Canal v3.16 (ืืืื ืืืช ืจืฉืช ืคืื ื + Calico)
- Cilium 1.8.2
- ืคืื ื 0.12.0
- ืืขืืื ืืช ืืืืชืจ ืฉื ื ืชื Kube (2020โ08โ25)
- WeaveNet 2.7.0
ืืืืจืช MTU ืขืืืจ CNI
ืงืืื ืื, ืื ื ืืืืงืื ืืช ืืืฉืคืขื ืฉื ืืืืื MTU ืืืืืืื ืขื ืืืฆืืขื TCP:
ืืฉืคืขืช MTU ืขื ืืืฆืืขื TCP
ืคืขืจ ืืืื ืขืื ืืืชืจ ื ืืฆื ืืขืช ืฉืืืืฉ ื-UDP:
ืืฉืคืขืช MTU ืขื ืืืฆืืขื UDP
ืืืชืืฉื ืืืฉืคืขืช ืืืืฆืืขืื ืืขืฆืืื ืฉืืชืืืชื ืืืืืงืืช, ืืจืฆืื ื ื ืืฉืืื ืืืชื ืชืงืืื ืืื ืืชืืืงื ื-CNI: ืื ื ืืืกืฃ ืืืืื MTU ืืืืืืื ื-CNI. ืชืืืื ืืืฆืื ืืชืืชืืืื, ืืื ืงืจื ืืืคืืื ืืช ืืืืื ืืืืชืจ: ื-Devop ืืงืื.
ืขื ืืืช, ืื ืืชื ืฆืจืื ืืืฉืชืืฉ ื-CNI ืืื ืชืืืื ืืืืืื MTU ืืืืืืื, ืืชื ืืืื ืืืืืืจ ืืืชื ืืืืคื ืืื ื ืืื ืืงืื ืืืฆืืขืื. ืฉืืื ืื ืฉืื ืื ืขื Calico, Canal ื-WeaveNet.
ืืงืฉืชื ืืงืื ื ื-CNI ืื ืืืืื...
ืืืืงืช CNI: ื ืชืื ืื ืืืืืืื
ืืืืง ืื ื ืฉืืื ืืช ื-CNI ืขื ื-MTU ืื ืืื (ื ืงืืข ืืืืืืืืช ืื ืืืืืจ ืืื ืืช). ืืืืจื ืืขืืงืจืืช ืืื ืืื ืืืฆืื ืืช ืื ืชืื ืื ืืืืืืืื ืืืจืคืื.
ืืืืช ืฆืืข:
- ืืคืืจ - ืืืื (ืืืืืจ ืืจืื ืืฉืืฃ)
- ืืจืืง - ืจืืื ืคืก ืืขื 9500 Mbps
- ืฆืืื - ืจืืื ืคืก ืืขื 9000 Mbps
- ืืชืื - ืจืืื ืคืก ืืขื 8000 Mbps
- ืืืื - ืจืืื ืคืก ืืชืืช ื-8000 Mbps
- ืืืื - ื ืืืจืื (ืื ืงืฉืืจ ืืจืืื ืคืก)
ืฆืจืืืช ืืฉืืืื ืืื ืขืืืก
ืงืืื ืื, ืืืืง ืืช ืฆืจืืืช ืืืฉืืืื ืืืฉืจ ืืืฉืืื "ืืฉื".
ืฆืจืืืช ืืฉืืืื ืืื ืขืืืก
ืชืจืืื ืื ืชืจืืื
ืชืจืืืฉ ืื ืื ืื ืฉื-Pod ืฉื ืืืงืื ืืชืืืจ ืืฉืืจืืช ื-Pod ืฉื ืืฉืจืช ืืืืฆืขืืช ืืชืืืช ื-IP ืฉืื.
ืชืจืืืฉ ืฉื ืชืจืืื
TCP
ืชืืฆืืืช TCP ืฉื Pod-to-Pod ืืฆืจืืืช ืืฉืืืื ืืชืืืื:
UDP
ืชืืฆืืืช UDP ืฉื Pod-to-Pod ืืฆืจืืืช ืืฉืืืื ืืชืืืื:
Pod-to-Service
ืกืขืืฃ ืื ืจืืืื ืื ืืืงืจื ืฉืืืืฉ ืืืืชืืื, Pod ืืืงืื ืืชืืืจ ืืคืื ืืฉืจืช ืืืืฆืขืืช ืฉืืจืืช ClusterIP.
ืกืงืจืืคื Pod-to-Service
TCP
ืชืืฆืืืช TCP ืฉื Pod-to-Service ืืฆืจืืืช ืืฉืืืื ืืชืืืื:
UDP
ืชืืฆืืืช UDP ืฉื Pod-to-Service ืืฆืจืืืช ืืฉืืืื ืืชืืืื:
ืชืืืื ืืืืื ืืืช ืจืฉืช
ืืื ืื ืืืืืจ ืืขืื, ืืืืื ืฉืื ืชืืื ืืคืืืืืืงื ืืื ืคืื ื. ืื ืืฉืืจ ืืืืฉืืื ื ืืื ืืช ืืืื ืืืช ืืจืฉืช, ืืืื ื ืื ืกืื ืืืืฆืืื. ืขืืืื ืืืื!
ืืฆืคื ืช CNI
ืืื ื-CNIs ืฉื ืืืงื ืืฉ ืืืื ืฉืืืืืื ืืืฆืคืื ืืืืืคื ืจืฉืช ืืื Pods:
- Antrea ืืืืฆืขืืช IPsec
- Calico ืืืืฆืขืืช ืืื ืชืื
- Cilium ืืืืฆืขืืช IPsec
- WeaveNet ืืืืฆืขืืช IPsec
ืชืคืืงื
ืืืืืื ืฉื ืืชืจื ืคืืืช CNIs, ืืืื ื ืฉืื ืืช ืื ืืชืจืืืฉืื ืืืจืฃ ืืื:
ืฆืจืืืช ืืฉืืืื
ืืกืขืืฃ ืื, ื ืขืจืื ืืช ืืืฉืืืื ืืืฉืืฉืื ืืขืช ืขืืืื ืชืงืฉืืจืช Pod-to-Pod ื-TCP ื-UDP. ืืื ืืขื ืืฆืืืจ ืืจืฃ Pod-to-Service ืืืืืื ืฉืืื ืืื ื ืืกืคืง ืืืืข ื ืืกืฃ.
ืืืืจืื ืืช ืืื ืืืื
ืืื ื ื ืกื ืืืืืจ ืขื ืื ืืืจืคืื, ืืฆืื ื ืืื ืืขื ืกืืืืืงืืืืืืช, ืืืืืคื ื ืืช ืืขืจืืื ืืคืืขื ืืืืืื "ืืืืจ ืืืจ", "ื ืืื" ืืื'.
ืืกืงื ื ืืืกืงื ืืช ืฉืื
ืื ืงืฆืช ืกืืืืืงืืืื, ืืืืืื ืฉืื ื ืืขืืืจ ืืช ืืคืจืฉื ืืช ืฉืื ืืชืืฆืืืช.
ืื ื ืฉืื ืฉืืืคืืขื CNIs ืืืฉืื, Antrea ืืืฆืขื ืืืื, ืคืื ืงืฆืืืช ืจืืืช ืืืฉืื ืืคืืื ืืืจืกืืืช ืืืงืืืืช: ืืืืื MTU ืืืืืืื, ืืฆืคื ื ืืืชืงื ื ืงืื.
ืื ื ืฉืืื ืืืฆืืขืื, ืื ื-CNI ืคืืขืืื ืืืื, ืืืื Kube-OVN ื-Kube-Router. Kube-Router ืื ืื ืืฆืืื ืืืืืช ืืช ื-MTU, ืื ืืฆืืชื ืืจื ืืืืืืจ ืืืชื ืืฉืื ืืงืื ืืชืืขืื (
ืืืื ืืื ืฉื ืฆืจืืืช ืืฉืืืื, Cilium ืขืืืื ืืฉืชืืฉ ืืืชืจ ื-RAM ืืืืจืื, ืืื ืืืฆืจื ืืืืื ืืืืจืืจ ืืืฉืืืืืช ืืืืืื, ืืื ืืืืจืืจ ืื ืืื ืืืืืงื ืขื ืืฉืืื ืืขื ืฉืืืฉื ืฆืืชืื. Kube-OVN ืื ืฆืืจื ืืจืื ืืฉืืื CPU ื-RAM, ืืื ืื CNI ืฆืขืืจ ืืืืืกืก ืขื Open vSwitch (ืืื Antrea, ืืื ืืชืคืงื ืืื ืืืชืจ ืืฆืืจื ืคืืืช).
ืืืืื ืืืื ืคืื ื ืืฉ ืืืื ืืืช ืจืฉืช. ืกืืืจ ืืืื ืฉืืื ืืขืืื ืื ืืชืืื ืืื, ืฉืื ืืืืจื ืคืฉืืื ืืืชืจ ืืืคืช ืืืืื: ืืื ืฉืืืชืจ ืงื, ืืืชืจ ืืื.
ืืื ืื, ืืื ืืืชืจ, ืืืฆืืขื ืืืฆืคื ื ืืืืืืื. Calico ืืื ืืื ื-CNIs ืืืืชืืงืื ืืืืชืจ, ืื ืืฆืคื ื ื ืืกืคื ืจืง ืืคื ื ืฉืืืขืืื. ืื ืืืจื ื-wireguard ืืืงืื ื-IPsec, ืืืคืฉืืืช, ืื ืขืืื ื ืืืจ ืืืืืื, ืืืคืื ืืืืืืื ืขื CNIs ืืืจืื ืืืืง ืืื ืฉื ืืืืืงื. ืืืืื ืฉืฆืจืืืช ืืืฉืืืื ืขืืื ืืืื ืืืฆืคื ื, ืืื ืืชืคืืงื ืฉืืืฉืื ืฉืืื ืืช ืื (Calico ืืฆืืื ืฉืืคืืจ ืฉื ืคื ืฉืืฉื ืืืืื ืืืฆืคื ื ืืขืืืช Cilium ืฉื ืืฆื ืืืงืื ืืฉื ื). ืืชืจื ืืื, ืืชื ืืืื ืืืคืขืื wireguard ืืื ืขืช ืืืืจ ืคืจืืกืช Calico ืืืฉืืื, ืืชืืื ืื ืืืฉืืืช ืืืชื ืืืื ืงืฆืจ ืื ืืฆืืืชืืช ืื ืชืจืฆื. ืขื ืืืช, ืื ื ืื ืืืคืืื! ืื ื ืืืืืจืื ืืื ืฉ-Calico ืื ืืืื ืืขืช MTU ืืืืคื ืืืืืืื (ืชืืื ื ืื ืืชืืื ื ืช ืืืจืกืืืช ืขืชืืืืืช), ืืื ืืงืคืืื ืืืืืืจ ืืช ื-MTU ืื ืืจืฉืช ืฉืืื ืชืืืืช ืืืกืืจืืช Jumbo (MTU 9000).
ืืื ืืืชืจ, ืฉืืื ืื ืฉ-Cilium ืืืื ืืืฆืคืื ืชืขืืืจื ืืื ืฆืืชื ืืฉืืืืืช (ืืื ืจืง ืืื Pods), ืื ืฉืืืื ืืืืืช ืืฉืื ืืืื ืืฆืืชื ืืฉืืื ืฆืืืืจื.
ืืกืืืื, ืื ื ืืฆืืข ืืช ืืงืจื ืืฉืืืืฉ ืืืืื:
- ืฆืจืื CNI ืืืฉืืื ืงืื ืืืื ืื ืฉืื ื ืื ืฆืจืื ืืืืื: ืืขืืื ืขื ืคืึธื ึถื, ื-CNI ืืงื ืืืืฆืื ืืืืชืจ (ืืื ืื ืืื ืืขืชืืงืื ืืืืชืจ, ืืคื ืืืืื ืืื ืืืืฆื ืขื ืืื Homo Kubernautus ืื Homo Contaitorus). ืืืื ืืขื ืืื ืืืชื ืื ืืคืจืืืงื ืืืืื ื ืืืืชืจ
k3 , ืืฉืืื! - ืฆืจืื CNI ืืืฉืืื ืจืืื: ืงืืืืงื - ืืืืจืชื, ืื ืื ืชืฉืื ืืืืืืจ ืืช ื-MTU ืืืืืช ืืฆืืจื. ืืชื ืืืื ืืงืืืช ืืืืืคื ืืืขื ืืฉืืง ืขื ืืืื ืืืช ืจืฉืช, ืืืคืขืื ืืืืืืช ืืฆืคื ื ืืื'.
- ืฆืจืื CNI ืขืืืจ ืืฉืืื ืืงื ื ืืืื ืืืื (ืืืื).: ืืืื, ืืืืืงื ืื ืืจืื ืืช ืืืชื ืืืืช ืฉื ืืฉืืืืืช ืืืืืื, ืื ื ืืฉืื ืืขืจืื ืืืืงืืช, ืืื ืืื ืื ื ืืืืช ืฉืจืชืื ืขื ืืืืืจ ืฉื 10Gbps. ืื ืืืคืฉืจืืช ืืืืื ืืืืชืจ ืืื ืืืจืืฅ ืืืืงื ืฉืื ื ืขื ืืฆืืชืื ืฉืื, ืืคืืืช ืขื Calico ื-Cilium.
ืืงืืจ: www.habr.com