αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αž“αŸαŸ‡αž‡αžΆαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž–αžΈαž˜αž»αž“αžŠαŸ‚αž›αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ Kubernetes 1.14 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αžŽαŸ‚ CNI αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαž‚αž·αžαžαŸ’αžšαžΉαž˜αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019αŸ”

αž‡αžΆαžŠαŸ†αž”αžΌαž„ αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹αž€αŸ’αžšαž»αž˜ CiliumαŸ– αž”αž»αžšαžŸαŸ—αž”αžΆαž“αž‡αž½αž™αžαŸ’αž‰αž»αŸ†αž–αž·αž“αž·αžαŸ’αž™ αž“αž·αž„αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαžŸαŸ’αž‚αŸ’αžšαžΈαž”αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž˜αŸ‰αŸ‚αžαŸ’αžšαŸ”

αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαžαŸ‚αžœαž·αž…αŸ’αž†αž·αž€αžΆαž†αŸ’αž“αžΆαŸ† 2018

αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαžΆαŸ†αž„αž–αžΈαž–αŸαž›αž“αŸ„αŸ‡αž˜αž€ (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ)αŸ–

Flannel αž“αŸ…αžαŸ‚αž‡αžΆαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ CNI αž›αžΏαž“αž”αŸ†αž•αž»αž αž“αž·αž„αžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αžαŸ‚αž˜αž·αž“αž‚αžΆαŸ†αž‘αŸ’αžšαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰ αž“αž·αž„αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αŸ”

Romana αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž‘αŸ€αžβ€‹αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžŠαž€β€‹αžœαžΆβ€‹αž…αŸαž‰β€‹αž–αžΈβ€‹αž‚αŸ„αž›αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ WeaveNet αž‚αžΆαŸ†αž‘αŸ’αžšαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Ingress αž“αž·αž„ Egress! αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž•αž›αž·αžαž—αžΆαž–αž”αžΆαž“αžαž™αž…αž»αŸ‡αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ Calico αž’αŸ’αž“αž€αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αŸ†αž αŸ†αž€αž‰αŸ’αž…αž”αŸ‹αž’αžαž·αž”αžšαž˜αžΆ (MTU) αžŠαŸ„αž™αžŠαŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’αž”αŸ†αž•αž»αžαŸ” Calico αž•αŸ’αžαž›αŸ‹αž‡αž˜αŸ’αžšαžΎαžŸαž–αžΈαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ CNI αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžƒαŸ’αž›αžΆαŸ†αž„ ETCD αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ–

  • αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes API αž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αž‘αŸ†αž αŸ†αž…αž„αŸ’αž€αŸ„αž˜ < 50 nodes);
  • αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes API αž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈ Typha αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαžΆαž›αž”αž“αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎ K8S API (αž‘αŸ†αž αŸ†αž…αž„αŸ’αž€αŸ„αž˜ > 50 nodes)αŸ”

Calico αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž‚αžΆαŸ†αž‘αŸ’αžš αž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™αž€αž˜αŸ’αžšαž·αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž“αŸ…αž›αžΎ Istio αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž€αž˜αŸ’αžšαž·αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ Cilium αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”! Cilium αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ IPSec αž“αž·αž„αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž‡αž˜αŸ’αžšαžΎαžŸαž‡αŸ†αž“αž½αžŸαž”αžŽαŸ’αžαžΆαž‰ WeaveNet αžŠαŸ‚αž›αž”αžΆαž“αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚ WeaveNet αž›αžΏαž“αž‡αžΆαž„ Cilium αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αžΎαž€αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ Cilium αž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš ETCD αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αŸ”

αž€αŸ’αžšαž»αž˜ Cilium αž”αžΆαž“αž–αŸ’αž™αžΆαž™αžΆαž˜αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αž˜αŸ’αž„αž“αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αž–αžΈ CNI αžšαž”αžŸαŸ‹αžαŸ’αž›αž½αž“αžŠαŸ„αž™αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αžαž˜αŸ’αž›αŸƒ CPU αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‚αžΌαž”αŸ’αžšαž‡αŸ‚αž„αžšαž”αžŸαŸ‹αžœαžΆαž“αŸ…αžαŸ‚αžŸαŸ’αžšαžΆαž›αž‡αžΆαž„αž˜αž»αž“αŸ”

αž”αžšαž·αž”αž‘αž‚αŸ„αž›

αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Supermicro αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž“αž·αž˜αŸ’αž˜αž·αžαž…αŸ†αž“αž½αž“ 10 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž»αž„αžαžΆαž€αŸ‹ Supermicro 9000 Gb αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ…αž€αž»αž„αžαžΆαž€αŸ‹αžαžΆαž˜αžšαž™αŸˆαžαŸ’αžŸαŸ‚ DAC SFP+ αž’αž€αž˜αŸ’αž˜ αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸ…αž›αžΎ VLAN αžŠαžΌαž…αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαŸŠαž»αž˜ jumbo (MTU XNUMX) αŸ”

Kubernetes 1.14.0 αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎ Ubuntu 18.04 LTS αž‡αžΆαž˜αž½αž™ Docker 18.09.2 (αž€αŸ†αžŽαŸ‚ Docker αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡)αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž›αž‘αŸ’αž’αž—αžΆαž–αž•αž›αž·αžαž‘αžΎαž„αžœαž·αž‰ αž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αŸαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž‘αžΈαž˜αž½αž™αž‡αžΆαž“αž·αž…αŸ’αž… αžŠαžΆαž€αŸ‹αž•αŸ’αž“αŸ‚αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸƒαž‚αŸ„αž›αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αžΈαž–αžΈαžš αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž“αŸ…αž›αžΎαž‘αžΈαž”αžΈαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„αž”αŸ’αžšαžΎ NodeSelector αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Kubernetes αŸ”

αž™αžΎαž„αž“αžΉαž„αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž›αž‘αŸ’αž’αž•αž›αž‚αŸ„αž›αž›αžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)

αž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ CNI αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‚αŸ„αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚ CNI αž–αžΈαž”αž‰αŸ’αž‡αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž’αŸ†αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αŸ’αžšαž»αž˜αž˜αŸαž˜αž½αž™αž‡αžΆαž˜αž½αž™ kubeadm αžŸαžΌαž˜αž˜αžΎαž›αž―αž€αžŸαžΆαžš Kubernetes αž•αŸ’αž›αžΌαžœαž€αžΆαžšαŸ” αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜ CNI αž‘αžΆαŸ†αž„ 9 αž™αžΎαž„αž“αžΉαž„αž™αž€αžαŸ‚ 6 αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ– αž™αžΎαž„αž“αžΉαž„αžŠαž€αž…αŸαž‰αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž–αž·αž”αžΆαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„/αž¬αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž™αŸ„αž„αž‘αŸ…αžαžΆαž˜αž―αž€αžŸαžΆαžš (Romana, Contiv-VPP αž“αž·αž„ JuniperContrail/TungstenFabric)αŸ”

αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαŸ€αž”αž’αŸ€αž” CNIs αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  • Calico v3.6
  • Canal v3.6 (αž‡αžΆαžŸαŸ†αžαžΆαž“αŸ‹ Flannel αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžŽαŸ’αžαžΆαž‰ + Calico αž‡αžΆαž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„)
  • Cilium 1.4.2
  • Flannel 0.11.0
  • Kube-router 0.2.5
  • WeaveNet 2.5.1

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ CNI αž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αžΉαž„αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαŸ” CNIs αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž–αžΈαž‚αŸ„αž›αž‚αžΊαž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ (αž‡αžΆαž˜αž½αž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž˜αž½αž™ αž¬αž–αžΈαžš)αŸ”

αžŠαžΌαž…αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž“αž·αž™αžΆαž™ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž“αž·αž„αž€αž»αž„αžαžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž˜αž½αž™αžŸαŸŠαž»αž˜ jumbo αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€ (αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹ MTU αž‘αŸ… 9000) αŸ” αž™αžΎαž„αž“αžΉαž„αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αžαž”αŸ’αžšαžŸαž·αž“αž”αžΎ CNI αž€αŸ†αžŽαžαŸ‹ MTU αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹αž’αžΆαžŠαžΆαž”αŸ‹αž‘αŸαžšαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž˜αžΆαž“αžαŸ‚ Cilium αž“αž·αž„ Flannel αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžšαžΏαž„αž“αŸαŸ‡αŸ” CNIs αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αž˜αžΆαž“αžŸαŸ†αžŽαžΎαž“αŸ…αž›αžΎ GitHub αžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαžšαž€αžƒαžΎαž‰ MTU αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžœαžΆαžŠαŸ„αž™αžŠαŸƒαžŠαŸ„αž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš ConfigMap αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Calico, Canal αž“αž·αž„ Kube-router αž¬αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ WeaveNet αŸ”

αžαžΎαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαž‡αžΆαž˜αž½αž™ MTU αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ? αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αž“αŸαŸ‡αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„ WeaveNet αž‡αžΆαž˜αž½αž™αž“αžΉαž„ MTU αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž“αž·αž„αžŸαŸŠαž»αž˜ jumbo αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
តើ MTU αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž›αŸ†αž αžΌαžšαž…αŸαž‰αž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?

αž™αžΎαž„αž”αžΆαž“αžƒαžΎαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› MTU αž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαžΌαž˜αž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› CNIs αžšαž”αžŸαŸ‹αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αžœαžΆαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
CNI αžšαž€αžƒαžΎαž‰ MTU αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·

αž€αŸ’αžšαžΆαž αŸ’αžœαž”αž„αŸ’αž αžΆαž‰αžαžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ MTU αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Calico, Canal, Kube-router αž“αž·αž„ WeaveNet αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’αž”αŸ†αž•αž»αžαŸ” Cilium αž“αž·αž„ Flannel αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹ MTU αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αž”αžΆαž“αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŽαžΆαž˜αž½αž™αž‘αžΎαž™αŸ”

αžŸαž“αŸ’αžαž·αžŸαž»αž

αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– CNI αž€αŸ’αž“αž»αž„αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž–αžΈαžšαŸ– αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“ αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰ Kubernetes (αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ αž˜αž·αž“αž˜αŸ‚αž“αž―αž€αžŸαžΆαžš)αŸ”

αž˜αžΆαž“αžαŸ‚ CNIs αž–αžΈαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž‘αž·αž“αŸ’αž“αž“αŸαž™: Cilium αž“αž·αž„ WeaveNet αŸ” αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž” WeaveNet αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž€αŸ†αžŽαžαŸ‹αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž‡αžΆαž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“ CNI αŸ” IN αž―αž€αžŸαžΆαžš WeaveNet αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαžŠαŸαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž˜αž½αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž” αžŸαŸŠαžΈαž›αžΈαž‰αŸ‰αžΌαž˜ αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαžαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„ Kubernetes αž“αž·αž„αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚ daemonSet (αž˜αžΆαž“αž—αžΆαž–αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‡αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„ WeaveNet αž”αž“αŸ’αžαž·αž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Cilium αž˜αžΆαž“αž‡αŸ†αž αžΆαž“αžŠαŸ„αž™αž‡αŸ†αž αžΆαž“ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†).

αž…αŸ†αžŽαŸ‚αž€β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™β€‹αž”αžŽαŸ’αžαžΆαž‰β€‹αž”αžΆαž“β€‹αž‡αŸ„αž‚αž‡αŸαž™ Calico, Canal, Cilium αž“αž·αž„ WeaveNetαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Ingress αž“αž·αž„ Egress rulesαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kube-αžšαŸ‰αŸ„αžαž‘αŸαžš αž˜αžΆαž“αž…αŸ’αž”αžΆαž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚ Ingress αž“αž·αž„ Flannel αž˜αž·αž“αž˜αžΆαž“αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰αž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡αŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž›αž‘αŸ’αž’αž•αž›αžŸαžšαž»αž”αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–

αž•αž›αž·αžαž—αžΆαž–

αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸαŸ‡αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž€αžΆαžšαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž‡αžΆαž˜αž’αŸ’αž™αž˜αž›αžΎαž€αžΆαžšαžšαžαŸ‹αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž”αžΈαžŠαž„αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž“αžΈαž˜αž½αž™αŸ—αŸ” αž™αžΎαž„αžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž”αžŸαŸ‹ TCP αž“αž·αž„ UDP (αžŠαŸ„αž™αž”αŸ’αžšαžΎ iperf3) αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž·αžαžŠαžΌαž…αž‡αžΆ HTTP (αž‡αžΆαž˜αž½αž™ Nginx αž“αž·αž„ curl) ឬ FTP (αž‡αžΆαž˜αž½αž™ vsftpd αž“αž·αž„ curl) αž αžΎαž™αž‘αžΈαž”αŸ†αž•αž»αžαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž•αŸ’αž’αŸ‚αž€αž›αžΎ SCP (αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ OpenSSH) αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž™αžΎαž„αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžŠαŸ‚αž€αž‘αž‘αŸ (αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžŽαŸŒαž”αŸƒαžαž„) αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš CNI αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžŽαŸ’αžαžΆαž‰αžŠαžΎαž˜αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αž”αŸ’αžšαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αž–αžŽαŸŒαŸ–

  • αž›αžΏαž„ = αž›αŸ’αž’αžŽαžΆαžŸαŸ‹
  • αž‘αžΉαž€αž€αŸ’αžšαžΌαž… = αž›αŸ’αž’αŸ”
  • αžαŸ€αžœ = αžŠαžΌαž…αŸ’αž“αŸαŸ‡
  • αž€αŸ’αžšαž αž˜ = αž’αžΆαž€αŸ’αžšαž€αŸ‹

αž™αžΎαž„αž“αžΉαž„αž˜αž·αž“αž™αž€ CNIs αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸ αž αžΎαž™αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αžαŸ‚αž›αž‘αŸ’αž’αž•αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CNIs αž‡αžΆαž˜αž½αž™αž“αžΉαž„ MTU αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” (αž…αŸ†αžŽαžΆαŸ†αŸ– Cilium αž˜αž·αž“αž‚αžŽαž“αžΆ MTU αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΎαž€αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™ MTU αžŠαŸ„αž™αžŠαŸƒαž‘αŸ… 8900 αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 1.4 αŸ” αž€αŸ†αžŽαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹ 1.5 αž’αŸ’αžœαžΎαžœαžΆαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” )

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž›αž‘αŸ’αž’αž•αž›αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž TCP

CNIs αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αž›αŸ’αž’αž“αŸ…αž€αŸ’αž“αž»αž„ TCP benchmark αŸ” CNI αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”β€‹αž“αŸ…β€‹αž™αžΊαžβ€‹αž–αŸαž›β€‹αž†αŸ’αž„αžΆαž™β€‹αž–αžΈβ€‹αž–αŸ’αžšαŸ„αŸ‡β€‹αž€αžΆαžšβ€‹αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”β€‹αž˜αžΆαž“β€‹αžαž˜αŸ’αž›αŸƒβ€‹αžαŸ’αž›αŸƒαŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž UDP

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžš CNIs αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’αŸ” CNI αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž‘αžΎαžšαžαŸ‚αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” Cilium αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž€αžΆαžšαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αž“αŸαŸ‡αž”αž“αŸ’αžαž·αž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ‚ 2,3% αž“αŸƒαž›αŸ„αž αŸˆαž’αžΆαžαž»αž‘αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™αžœαžΆαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž’αžΆαž€αŸ’αžšαž€αŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ” αž€αž»αŸ†αž—αŸ’αž›αŸαž…αžαžΆαž˜αžΆαž“αžαŸ‚ Cilium αž“αž·αž„ Flannel αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹ MTU αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž αžΎαž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž›αž‘αŸ’αž’αž•αž›αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž”αž“αŸ’αžαŸ‚αž˜αžŽαžΆαž˜αž½αž™αž‘αžΎαž™αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)

αž…αž»αŸ‡αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž·αžαžœαž·αž‰? αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‡αžΆαž‘αžΌαž‘αŸ…αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ HTTP αž‚αžΊαž‘αžΆαž”αž‡αžΆαž„ TCP αž”αž“αŸ’αžαž·αž…αŸ” αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎ HTTP αž‡αžΆαž˜αž½αž™ TCP αž€αŸαžŠαŸ„αž™ αž™αžΎαž„αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ iperf3 αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš TCP αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž™αžΊαžαžŠαŸ‚αž›αž“αžΉαž„αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹ HTTP benchmark αŸ” αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž’αŸ’αžœαžΎαž”αžΆαž“αž›αŸ’αž’αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ” Kube-router αž˜αžΆαž“αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ WeaveNet αž˜αž·αž“αž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’αž‘αŸαŸ– αž”αŸ’αžšαž αŸ‚αž› 20% αž’αžΆαž€αŸ’αžšαž€αŸ‹αž‡αžΆαž„αžŠαŸ‚αž€αž‘αž‘αŸαŸ” Cilium αž“αž·αž„ WeaveNet αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž˜αžΎαž›αž‘αŸ…αž–αž·αžαž‡αžΆαžŸαŸ„αž€αžŸαŸ…αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)

αž‡αžΆαž˜αž½αž™αž“αžΉαž„ FTP αžŠαŸ‚αž›αž‡αžΆαž–αž·αž’αžΈαž€αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ TCP αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž›αž‘αŸ’αž’αž•αž›αžαž»αžŸαž‚αŸ’αž“αžΆαŸ” Flannel αž“αž·αž„ Kube-router αž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαž“αŸαŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Calico, Canal αž“αž·αž„ Cilium αž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž”αž“αŸ’αžαž·αž… αž αžΎαž™αž™αžΊαžαž‡αžΆαž„αžŠαŸ‚αž€αž‘αž‘αŸαž”αŸ’αžšαž αŸ‚αž› 10% αŸ” WeaveNet αž‚αžΊαž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™ 17% αž”αŸ‰αž»αž“αŸ’αžαŸ‚ WeaveNet αžŠαŸ‚αž›αž”αžΆαž“αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž‚αžΊ 40% αž“αžΆαŸ†αž˜αž»αž Cilium αžŠαŸ‚αž›αž”αžΆαž“αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)

αž‡αžΆαž˜αž½αž™ SCP αž™αžΎαž„αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž—αŸ’αž›αžΆαž˜αŸ—αžαžΆαžαžΎαž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž” SSH αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αŸ” αžŸαŸ’αž‘αžΎαžšαžαŸ‚ CNIs αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αž›αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ WeaveNet αž€αŸ†αž–αž»αž„αžαŸ‚αž™αžΊαžαž™αŸ‰αžΆαžœαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” Cilium αž“αž·αž„ WeaveNet αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ†αž–αžΉαž„αž‘αž»αž€αžαžΆαž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αŸ†αž•αž»αžαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž–αžΈαžšαžŠαž„ (SSH + CNI) αŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžαžΆαžšαžΆαž„αžŸαž„αŸ’αžαŸαž”αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αž‘αŸ’αž’αž•αž›αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“

αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαžΌαž˜αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› CNI αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αž€αŸ’αžšαŸ„αž˜αž”αž“αŸ’αž‘αž»αž€αž’αŸ’αž„αž“αŸ‹ (αž€αŸ†αž‘αž»αž„αž–αŸαž›αž•αŸ’αž‘αŸαžš TCP, 10 Gbps) αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž™αžΎαž„αž”αŸ’αžšαŸ€αž”αž’αŸ€αž” CNI αž‡αžΆαž˜αž½αž™αžŠαŸ‚αž€αž‘αž‘αŸ (αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžŽαŸŒαž”αŸƒαžαž„) αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“ αžŸαžΌαž˜αž”αž„αŸ’αž αžΆαž‰ Kubernetes αžŸαž»αž‘αŸ’αž’ (αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžŽαŸŒαžŸαŸ’αžœαžΆαž™) αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ CNI αž αžΎαž™αž˜αžΎαž›αžαžΆαžαžΎαž’αž“αž’αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž› CNI αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

αž…αžΌαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αž„αž…αžΆαŸ†αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžαž˜αŸ’αž›αŸƒαž˜αž’αŸ’αž™αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ RAM αžšαž”αžŸαŸ‹αžαŸ’αž“αžΆαŸ†αž„ (αž˜αž·αž“αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž…αžΌαž›αžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“ αž“αž·αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹) αž€αŸ’αž“αž»αž„ MB αž€αŸ†αž‘αž»αž„αž–αŸαž›αž•αŸ’αž‘αŸαžšαŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†

Flannel αž“αž·αž„ Kube-router αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž›αž‘αŸ’αž’αž•αž›αžŠαŸαž›αŸ’αž’ - αžαŸ’αžšαžΉαž˜αžαŸ‚ 50 MB αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” Calico αž“αž·αž„ Canal αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“ 70 αŸ” WeaveNet αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„αž§αž”αž€αžšαžŽαŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αž - 130 MB αž αžΎαž™ Cilium αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž…αŸ’αžšαžΎαž“αžŠαž›αŸ‹αž‘αŸ… 400 αŸ”
αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαžΌαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž–αŸαž›αžœαŸαž›αžΆαžšαž”αžŸαŸ‹ CPU αŸ” αž‚αž½αžšαž€αžαŸ‹αžŸαŸ†αž‚αžΆαž›αŸ‹αŸ– αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αž”αž„αŸ’αž αžΆαž‰αž˜αž·αž“αžƒαžΎαž‰αž—αžΆαž‚αžšαž™αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ ppm αž“αŸ„αŸ‡αž‚αžΊ 38 ppm αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ "αžŠαŸ‚αž€αž‘αž‘αŸ" αž‚αžΊ 3,8% αŸ” αž“αŸαŸ‡αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ

Calico, Canal, Flannel αž“αž·αž„ Kube-router αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– CPU αžαŸ’αž›αžΆαŸ†αž„ - αžαŸ‚ 2% αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ Kubernetes αžŠαŸ‚αž›αž‚αŸ’αž˜αžΆαž“ CNI αŸ” WeaveNet αž˜αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž‡αžΆαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„ 5% αž”αž“αŸ’αžαŸ‚αž˜αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ Cilium αž“αŸ… 7% αŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸαž…αž€αŸ’αžαžΈαžŸαž„αŸ’αžαŸαž”αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)

αž›αž‘αŸ’αž’αž•αž›

αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž˜αžΆαž“αž›αž‘αŸ’αž’αž•αž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ–

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž‘αžΌαž‘αŸ…

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αž“αŸ…αž•αŸ’αž“αŸ‚αž€αž…αž»αž„αž€αŸ’αžšαŸ„αž™ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αž‰αŸ’αž…αŸαž‰αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž›αžΎαž›αž‘αŸ’αž’αž•αž›αŸ” αžŸαžΌαž˜αž…αžΆαŸ†αžαžΆ αž‚αŸ„αž›αž“αŸαŸ‡αžŸαžΆαž€αž›αŸ’αž”αž„αžαŸ‚αž€αžΆαžšαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ‚αž˜αž½αž™αž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αžαžΌαž…αž”αŸ†αž•αž»αž (3 αžαŸ’αž“αžΆαŸ†αž„)αŸ” αžœαžΆαž˜αž·αž“αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž…αž„αŸ’αž€αŸ„αž˜αž’αŸ† (<50 nodes) αž¬αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αž‘αŸαŸ”

αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž”αŸ’αžšαžΎ CNIs αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαŸ–

  • αžαžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αžαŸ’αž“αžΆαŸ†αž„αžŠαŸ‚αž›αž˜αžΆαž“αž’αž“αž’αžΆαž“αžαž·αž…αžαž½αž… (RAM αž‡αžΆαž…αŸ’αžšαžΎαž“ GB αžŸαŸ’αž“αžΌαž›αž‡αžΆαž…αŸ’αžšαžΎαž“) αž αžΎαž™αž’αŸ’αž“αž€αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž˜αž»αžαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž‘αŸ - αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ Flannel. αž“αŸαŸ‡αž‚αžΊαž‡αžΆ CNIs αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αŸ†αž•αž»αžαž˜αž½αž™αŸ” αž αžΎαž™αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‡αžΆαž˜αž½αž™αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž‡αžΆαž…αŸ’αžšαžΎαž“αž”αŸ’αžšαž—αŸαž‘ (amd64, arm, arm64 αž‡αžΆαžŠαžΎαž˜)αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž–αžΈαžš (αž˜αž½αž™αž‘αŸ€αžαž‚αžΊ Cilium) CNI αžŠαŸ‚αž›αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹ MTU αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž’αŸ’αžœαžΈαž“αŸ„αŸ‡αž‘αŸαŸ” Kube-router αž€αŸαžŸαž˜αžšαž˜αŸ’αž™αžŠαŸ‚αžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž‘αŸ αž αžΎαž™αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ MTU αžŠαŸ„αž™αžŠαŸƒαŸ”
  • αž”αžΎαžαŸ’αžšαžΌαžœαž€αžΆαžš αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž”αžŽαŸ’αžαžΆαž‰ αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž™αž€ WeaveNet. αž€αž»αŸ†αž—αŸ’αž›αŸαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž‘αŸ†αž αŸ† MTU αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαžŸαŸŠαž»αž˜ jumbo αž αžΎαž™αž”αžΎαž€αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αžŠαŸ„αž™αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαžΆαž˜αžšαž™αŸˆαž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž‡αžΆαž€αžΆαžšαž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž—αŸ’αž›αŸαž…αž’αŸ†αž–αžΈαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž - αž“αŸ„αŸ‡αž‚αžΊαž‡αžΆαžαž˜αŸ’αž›αŸƒαž“αŸƒαž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αŸ”
  • αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž˜αŸ’αž˜αžαžΆαŸ” αžαŸ’αž‰αž»αŸ†αžŽαŸ‚αž“αžΆαŸ† αž€αžΆαž›αžΈαž€αžΌαŸ”. CNI αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αŸ‰αžΆαž„αž‘αžΌαž›αŸ†αž‘αžΌαž›αžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ Kubernetes αž•αŸ’αžŸαŸαž„αŸ— (Kops, Kubespray, Rancher αž‡αžΆαžŠαžΎαž˜)αŸ” αžŠαžΌαž…αž“αžΉαž„ WeaveNet αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ MTU αž“αŸ…αž€αŸ’αž“αž»αž„ ConfigMap αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ’αžšαžΎαžŸαŸŠαž»αž˜ jumbo αŸ” αžœαžΆαž‡αžΆαž§αž”αž€αžšαžŽαŸαž–αž αž»αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αž“αž·αž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ”

αž αžΎαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžαŸ’αž‰αž»αŸ†αžŽαŸ‚αž“αžΆαŸ†αž’αŸ’αž“αž€αž±αŸ’αž™αž’αŸ’αžœαžΎαžαžΆαž˜αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αžŸαŸŠαžΈαž›αžΈαž‰αŸ‰αžΌαž˜. CNI αž“αŸαŸ‡αž˜αžΆαž“αž€αŸ’αžšαž»αž˜αžŸαž€αž˜αŸ’αž˜αžαŸ’αž›αžΆαŸ†αž„αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž€αžΆαžšαž…αŸ’αžšαžΎαž“αž›αžΎαž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ (αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ αž€αžΆαžšαžŸαž“αŸ’αžŸαŸ†αž’αž“αž’αžΆαž“ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž…αž„αŸ’αž€αŸ„αž˜...) αž αžΎαž™αž–αž½αž€αž‚αŸαž˜αžΆαž“αž•αŸ‚αž“αž€αžΆαžšαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŽαžΆαžŸαŸ‹αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž”αžŽαŸ’αžαžΆαž‰ Kubernetes (CNI) αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž›αžΎαžŸαž–αžΈαž”αžŽαŸ’αžαžΆαž‰ 10 Gbps (αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ– αžαŸ‚αž˜αŸαžŸαžΆ αž†αŸ’αž“αžΆαŸ† 2019)
αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αžŠαŸ‚αž›αž˜αžΎαž›αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ CNI

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹