ΠΠ²Π° Π΅ ΠΌΠΎΠ΅ΡΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅
ΠΡΠ΅Π΄ ΡΓ¨, ΡΠ°ΠΊΠ°ΠΌ Π΄Π° ΠΌΡ ΡΠ΅ Π·Π°Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ°ΠΌ Π½Π° ΡΠΈΠΌΠΎΡ Π½Π° Cilium: ΠΌΠΎΠΌΡΠΈΡΠ΅ ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Π° Π΄Π° Π³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ°ΠΌ ΠΈ ΠΊΠΎΡΠ΅Π³ΠΈΡΠ°ΠΌ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°.
Π¨ΡΠΎ ΡΠ΅ ΡΠΌΠ΅Π½ΠΈ ΠΎΠ΄ Π½ΠΎΠ΅ΠΌΠ²ΡΠΈ 2018 Π³ΠΎΠ΄ΠΈΠ½Π°
ΠΠ²Π΅ ΡΡΠΎ ΡΠ΅ ΡΠΌΠ΅Π½ΠΈ ΠΎΡΡΠΎΠ³Π°Ρ (Π°ΠΊΠΎ Π²Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°):
Flannel ΠΎΡΡΠ°Π½ΡΠ²Π° Π½Π°ΡΠ±ΡΠ·ΠΈΠΎΡ ΠΈ Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΠΎΡ CNI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ, Π½ΠΎ ΡΠ΅ΠΏΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΈ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅.
Π ΠΎΠΌΠ°Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π°, ΠΏΠ° ΡΠ° ΡΡΠ³Π½Π°Π²ΠΌΠ΅ ΠΎΠ΄ ΡΠ΅ΠΏΠ΅ΡΠΎΡ.
WeaveNet ΡΠ΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° Ingress ΠΈ Egress! ΠΠΎ, ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠ° Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π°.
ΠΠΎ Calico, ΡΠ΅ΠΏΠ°ΠΊ ΡΡΠ΅Π±Π° ΡΠ°ΡΠ½ΠΎ Π΄Π° ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ (MTU) Π·Π° Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ. Calico Π½ΡΠ΄ΠΈ Π΄Π²Π΅ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° CNI, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅Π±Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π·Π° ETCD:
- ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ Kubernetes API ΠΊΠ°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ < 50 ΡΠ°Π·Π»ΠΈ);
- ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ Kubernetes API ΠΊΠ°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Typha ΠΏΡΠΎΠΊΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° K8S API (Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ > 50 ΡΠ°Π·Π»ΠΈ).
ΠΠ°Π»ΠΈΠΊΠΎ Π½Π°ΡΠ°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°
Cilium ΡΠ΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅! Cilium ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΡΠΎ IPSec ΡΡΠ½Π΅Π»ΠΈ ΠΈ Π½ΡΠ΄ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΡΠΈΡΡΠΈΡΠ°Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° WeaveNet. ΠΠΎ, WeaveNet Π΅ ΠΏΠΎΠ±ΡΠ· ΠΎΠ΄ Cilium ΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅.
Cilium ΡΠ΅Π³Π° Π΅ ΠΏΠΎΠ»Π΅ΡΠ΅Π½ Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΠΎΡ ETCD ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ.
Π’ΠΈΠΌΠΎΡ Π½Π° Cilium ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΡΠ΅ΠΆΠΈΠ½Π° ΠΎΠ΄ ΡΠ²ΠΎΡΠΎΡ CNI ΡΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ ΡΡΠΎΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, Π½ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈ ΡΓ¨ ΡΡΡΠ΅ ΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ½ΠΈ.
Π Π΅ΠΏΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
Π Π΅ΠΏΠ΅ΡΠΎΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° ΡΡΠΈ Π½Π΅Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Supermicro ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠΎ 10 Gb Supermicro ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ. Π‘Π΅ΡΠ²Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΎΡ ΠΏΡΠ΅ΠΊΡ ΠΏΠ°ΡΠΈΠ²Π½ΠΈ DAC SFP+ ΠΊΠ°Π±Π»ΠΈ ΠΈ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ Π½Π° ΠΈΡΡΠΈΠΎΡ VLAN ΡΠΎ ΡΠ°ΠΌΠ±ΠΎ ΡΠ°ΠΌΠΊΠΈ (MTU 9000).
Kubernetes 1.14.0 ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π½Π° Ubuntu 18.04 LTS ΡΠΎ Docker 18.09.2 (ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Docker Π²ΠΎ ΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅).
ΠΠ° Π΄Π° ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΠΌΠ΅ ΡΠ΅ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠ°, ΡΠ΅ΡΠΈΠ²ΠΌΠ΅ ΡΠ΅ΠΊΠΎΠ³Π°Ρ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ Π³ΠΎΡΠΏΠΎΠ΄Π°ΡΠΎΡ Π½Π° ΠΏΡΠ²ΠΈΠΎΡ ΡΠ°Π·ΠΎΠ», Π΄Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΠΌΠ΅ Π΄Π΅Π»ΠΎΡ ΠΎΠ΄ ΡΠ΅ΠΏΠ΅ΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Π½Π° Π²ΡΠΎΡΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ, Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ Π½Π° ΡΡΠ΅ΡΠΈΠΎΡ. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ NodeSelector Π²ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ°ΡΠ° Π½Π° Kubernetes.
ΠΠΈΠ΅ ΡΠ΅ Π³ΠΈ ΠΎΠΏΠΈΡΠ΅ΠΌΠ΅ ΡΠ΅ΠΏΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π½Π° ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠΊΠ°Π»Π°:
ΠΠ·Π±ΠΎΡ Π½Π° CNI Π·Π° ΡΠ΅ΠΏΠ΅Ρ
ΠΠ²Π° Π΅ ΡΠ΅ΠΏΠ΅Ρ ΡΠ°ΠΌΠΎ Π·Π° CNI ΠΎΠ΄ ΡΠΏΠΈΡΠΎΠΊΠΎΡ Π²ΠΎ Π΄Π΅Π»ΠΎΡ
ΠΠ΅ Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΠΈΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ CNI:
- ΠΠ°Π»ΠΈΠΊΠΎ v3.6
- Canal v3.6 (Π²ΠΎ ΡΡΡΡΠΈΠ½Π° Flannel Π·Π° Π²ΠΌΡΠ΅ΠΆΡΠ²Π°ΡΠ΅ + Calico ΠΊΠ°ΠΊΠΎ Π·Π°ΡΡΠΈΡΠ΅Π½ ΡΠΈΠ΄)
- Π¦ΠΈΠ»ΠΈΡΠΌ 1.4.2
- Π€Π»Π°Π½Π΅Π»Π΅Π½ 0.11.0
- ΠΡΠ±Π΅-ΡΡΡΠ΅Ρ 0.2.5
- WeaveNet 2.5.1
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ°
ΠΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΠ»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° CNI, ΡΠΎΠ»ΠΊΡ ΠΏΠΎΠ΄ΠΎΠ±Π°Ρ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠ² Π²ΠΏΠ΅ΡΠ°ΡΠΎΠΊ. Π‘ΠΈΡΠ΅ CNI ΠΎΠ΄ ΡΠ΅ΠΏΠ΅ΡΠΎΡ ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π»Π΅ΡΠ½ΠΈ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ (ΡΠΎ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ).
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ΠΊΠΎΠ²ΠΌΠ΅, ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅ ΠΈ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΎΡ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ ΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ ΡΠ°ΠΌΠ±ΠΎ ΡΠ°ΠΌΠΊΠΈ (Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠ²ΠΌΠ΅ MTU Π½Π° 9000). ΠΠΈ Π±ΠΈΠ»Π΅ ΡΡΠ΅ΡΠ½ΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ CNI Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΠΈ MTU Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π°Π΄Π°ΠΏΡΠ΅ΡΠΈΡΠ΅. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π° ΡΡΠΏΠ΅Π°ΡΠ° ΡΠ°ΠΌΠΎ Π½Π° Π§ΠΈΠ»ΠΈΡΠΌ ΠΈ Π€Π»Π°Π½Π΅Π». ΠΡΡΠ°Π½Π°ΡΠΈΡΠ΅ CNI ΠΈΠΌΠ°Π°Ρ Π±Π°ΡΠ°ΡΠ° Π½Π° GitHub Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ Π½Π° MTU, Π½ΠΎ Π½ΠΈΠ΅ ΡΠ΅ Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΡΠ½ΠΎ ΡΠΎ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° ConfigMap Π·Π° Calico, Canal ΠΈ Kube-ΡΡΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° WeaveNet.
Π¨ΡΠΎ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ Π½Π΅ΡΠΎΡΠ½ΠΈΠΎΡ MTU? ΠΠ²ΠΎΡ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ ΡΠ° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ WeaveNet ΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ MTU ΠΈ ΡΠ°ΠΌΠ±ΠΎ ΡΠ°ΠΌΠΊΠΈ:
ΠΠ°ΠΊΠΎ MTU Π²Π»ΠΈΡΠ°Π΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠ° ΠΌΠΎΡ?
ΠΠΈΠ΄ΠΎΠ²ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΡ Π΅ Π²Π°ΠΆΠ΅Π½ MTU Π·Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, ΡΠ΅Π³Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Π½Π°ΡΠΈΡΠ΅ CNI Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°Π°Ρ ΡΠΎΠ°:
CNI Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π³ΠΎ ΠΎΡΠΊΡΠΈΠ²Π° MTU
ΠΡΠ°ΡΠΈΠΊΠΎΠ½ΠΎΡ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π΄Π΅ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ MTU Π·Π° Calico, Canal, Kube-ΡΡΡΠ΅Ρ ΠΈ WeaveNet Π·Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ. Cilium ΠΈ Flannel ΠΌΠΎΠΆΠ΅Π° ΡΠ°ΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π°Ρ MTU Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ.
Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ
ΠΠ΅ ΡΠ° ΡΠΏΠΎΡΠ΅Π΄ΠΈΠΌΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° CNI Π²ΠΎ Π΄Π²Π° Π°ΡΠΏΠ΅ΠΊΡΠ°: ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π½Π° ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ (Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ, Π° Π½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°).
Π‘Π°ΠΌΠΎ Π΄Π²Π° CNI ΡΠΈΡΡΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ: Cilium ΠΈ WeaveNet. ΠΠ½ΠΊΡΠΈΠΏΡΠΈΡΠ° WeaveNet ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π»ΠΎΠ·ΠΈΠ½ΠΊΠ°ΡΠ° Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° CNI. ΠΠ
Π¨ΡΠΎ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π΄ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠ½Π°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, ΡΠΈΠ΅ ΡΡΠΏΠ΅Π°ΡΠ° Calico, Canal, Cilium ΠΈ WeaveNet, Π²ΠΎ ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° Π²Π»Π΅Π· ΠΈ ΠΈΠ·Π»Π΅Π·. ΠΠ° ΠΡΠ±Π΅-ΡΡΡΠ΅Ρ ΠΈΠΌΠ° ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΠΌΠΎ Π·Π° Ingress, ΠΈ Π€Π»Π°Π½Π΅Π» ΠΠΎΠΎΠΏΡΡΠΎ Π½Π΅ΠΌΠ° ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ.
ΠΠ²Π΅ Π³ΠΈ Π²ΠΊΡΠΏΠ½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ:
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΠ΄ ΡΠ΅ΠΏΠ΅Ρ Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ
ΠΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ
ΠΠ²ΠΎΡ ΡΠ΅ΠΏΠ΅Ρ ΡΠ° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΏΡΡΠ½ΠΎΡΡ Π²ΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° Π½Π°ΡΠΌΠ°Π»ΠΊΡ ΡΡΠΈ ΡΠΈΠΊΠ»ΡΡΠΈ Π½Π° ΡΠ΅ΠΊΠΎΡ ΡΠ΅ΡΡ. ΠΠΈ ΡΠ΅ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° TCP ΠΈ UDP (ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ iperf3), ΡΠ΅Π°Π»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ HTTP (ΡΠΎ Nginx ΠΈ curl) ΠΈΠ»ΠΈ FTP (ΡΠΎ vsftpd ΠΈ curl) ΠΈ Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° SCP (ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ OpenSSH).
ΠΠ° ΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΈ, ΠΈΠ·Π²ΡΡΠΈΠ²ΠΌΠ΅ ΡΠ΅ΠΏΠ΅Ρ Π·Π° Π³ΠΎΠ» ΠΌΠ΅ΡΠ°Π» (Π·Π΅Π»Π΅Π½Π° Π»ΠΈΠ½ΠΈΡΠ°) Π·Π° Π΄Π° Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΠΈΠΌΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° CNI ΡΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΠ²Π΄Π΅ ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΈΡΡΠ°ΡΠ° ΡΠΊΠ°Π»Π°, Π½ΠΎ Π²ΠΎ Π±ΠΎΡΠ°:
- ΠΠΎΠ»ΡΠ° = ΠΌΠ½ΠΎΠ³Ρ Π΄ΠΎΠ±ΡΠΎ
- ΠΠΎΡΡΠΎΠΊΠ°Π» = Π΄ΠΎΠ±ΡΠΎ
- Π‘ΠΈΠ½Π° = ΡΠ°ΠΊΠ°-ΡΠ°ΠΊΠ°
- Π¦ΡΠ²Π΅Π½ΠΎ = Π»ΠΎΡΠΎ
ΠΠ΅ΠΌΠ° Π΄Π° Π·Π΅ΠΌΠ΅ΠΌΠ΅ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ CNI ΠΈ ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΠΌΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° CNI ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ MTU. (ΠΠ°Π±Π΅Π»Π΅ΡΠΊΠ°: Cilium Π½Π΅ Π³ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ MTU Π°ΠΊΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ΅ ΠΌΠΎΡΠ° ΡΠ°ΡΠ½ΠΎ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ MTU Π½Π° 8900 Π²ΠΎ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 1.4. Π‘Π»Π΅Π΄Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°, 1.5, Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ.)
ΠΠ²Π΅ Π³ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅:
Π‘ΠΈΡΠ΅ CNI ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ°Π° Π΄ΠΎΠ±ΡΠΎ Π²ΠΎ ΡΠ΅ΠΏΠ΅ΡΠΎΡ Π·Π° TCP. CNI ΡΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π·Π°ΠΎΡΡΠ°Π½ΡΠ²Π° Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π΅ ΡΠΊΠ°ΠΏΠΎ.
ΠΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π½Π° UDP
Π ΠΎΠ²Π΄Π΅ Π½Π° ΡΠΈΡΠ΅ Π¦ΠΠ ΠΈΠΌ ΠΎΠ΄ΠΈ Π΄ΠΎΠ±ΡΠΎ. CNI ΡΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ° ΡΠ΅ΡΠΈΡΠΈ ΠΈΡΡΠΈΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ. Π¦ΠΈΠ»ΠΈΡΠΌΠΎΡ Π΅ ΠΌΠ°Π»ΠΊΡ Π·Π°Π΄ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΠ°ΡΠ°, Π½ΠΎ Π΅ ΡΠ°ΠΌΠΎ 2,3% ΠΎΠ΄ Π³ΠΎΠ» ΠΌΠ΅ΡΠ°Π», ΡΠ°ΠΊΠ° ΡΡΠΎ Π½Π΅ Π΅ Π»ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ. ΠΠ΅ Π·Π°Π±ΠΎΡΠ°Π²Π°ΡΡΠ΅ Π΄Π΅ΠΊΠ° ΡΠ°ΠΌΠΎ Cilium ΠΈ Flannel ΡΠ°ΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΠΈΠ»Π΅ MTU, Π° ΠΎΠ²Π° ΡΠ΅ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°.
Π¨ΡΠΎ Π΅ ΡΠΎ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°? ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π²ΠΊΡΠΏΠ½ΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° HTTP ΡΠ΅ ΠΌΠ°Π»ΠΊΡ ΠΏΠΎΠ½ΠΈΡΠΊΠΈ ΠΎΡΠΊΠΎΠ»ΠΊΡ Π·Π° TCP. ΠΡΡΠΈ ΠΈ Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ HTTP ΡΠΎ TCP, Π½ΠΈΠ΅ Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π²ΠΌΠ΅ iperf3 Π²ΠΎ ΡΠ΅ΠΏΠ΅ΡΠΎΡ TCP Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌΠ΅ Π±Π°Π²Π½ΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ ΡΡΠΎ Π±ΠΈ Π²Π»ΠΈΡΠ°Π΅Π»ΠΎ Π½Π° ΡΠ΅ΠΏΠ΅ΡΠΎΡ HTTP. Π‘ΠΈΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ° Π΄ΠΎΠ±ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΎΠ²Π΄Π΅. ΠΡΠ±Π΅-ΡΡΡΠ΅ΡΠΎΡ ΠΈΠΌΠ° ΡΠ°ΡΠ½Π° ΠΏΡΠ΅Π΄Π½ΠΎΡΡ, Π½ΠΎ WeaveNet Π½Π΅ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄ΠΎΠ±ΡΠΎ: ΠΎΠΊΠΎΠ»Ρ 20% ΠΏΠΎΠ»ΠΎΡΠΎ ΠΎΠ΄ Π³ΠΎΠ» ΠΌΠ΅ΡΠ°Π». Cilium ΠΈ WeaveNet ΡΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΡΠ°ΠΆΠ½ΠΎ.
Π‘ΠΎ FTP, Π΄ΡΡΠ³ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° TCP, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π°Π°Ρ. Flannel ΠΈ Kube-router ΡΠ° Π·Π°Π²ΡΡΡΠ²Π°Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ°, Π½ΠΎ Calico, Canal ΠΈ Cilium Π·Π°ΠΎΡΡΠ°Π½ΡΠ²Π°Π°Ρ ΠΌΠ°Π»ΠΊΡ ΠΈ ΡΠ΅ ΠΎΠΊΠΎΠ»Ρ 10% ΠΏΠΎΠ±Π°Π²Π½ΠΈ ΠΎΠ΄ Π³ΠΎΠ»ΠΈΠΎΡ ΠΌΠ΅ΡΠ°Π». WeaveNet Π·Π°ΠΎΡΡΠ°Π½ΡΠ²Π° ΡΠΎ Π΄ΡΡΠΈ 17%, Π½ΠΎ ΡΠΈΡΡΠΈΡΠ°Π½Π°ΡΠ° WeaveNet Π΅ 40% ΠΏΡΠ΅Π΄ ΡΠΈΡΡΠΈΡΠ°Π½Π°ΡΠ° Cilium.
Π‘ΠΎ SCP Π²Π΅Π΄Π½Π°Ρ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠΎΠ»ΠΊΡ Π½Π΅ ΡΠΈΠ½ΠΈ SSH Π΅Π½ΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ°. Π Π΅ΡΠΈΡΠΈ ΡΠΈΡΠ΅ CNI ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΎΠ±ΡΠΎ, Π½ΠΎ WeaveNet ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°ΠΎΡΡΠ°Π½ΡΠ²Π°. Cilium ΠΈ WeaveNet ΡΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π°Π½ΠΎ Π½Π°ΡΠ»ΠΎΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π΄Π²ΠΎΡΠ½ΠΎΡΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ (SSH + CNI).
ΠΠ²Π΅ Π·Π±ΠΈΡΠ½Π° ΡΠ°Π±Π΅Π»Π° ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅:
ΠΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ
Π‘Π΅Π³Π° Π΄Π° ΡΠΏΠΎΡΠ΅Π΄ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ CNI ΡΡΠΎΡΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΏΡΠΈ ΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ° (Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° TCP, 10 Gbps). ΠΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅ Π·Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π³ΠΎ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΠΌΠ΅ CNI ΡΠΎ Π³ΠΎΠ» ΠΌΠ΅ΡΠ°Π» (Π·Π΅Π»Π΅Π½Π° Π»ΠΈΠ½ΠΈΡΠ°). ΠΠ° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ, Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΡΠΈΡΡ Kubernetes (Π²ΠΈΠΎΠ»Π΅ΡΠΎΠ²Π° Π»ΠΈΠ½ΠΈΡΠ°) Π±Π΅Π· CNI ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠΎΠ»ΠΊΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΡΠΎΡΠΈ CNI.
ΠΠ° ΠΏΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠ²Π΅ ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠ½Π°ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π·Π° RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ΅ (ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ Π½Π° Π±Π°ΡΠ΅ΡΠΈΡΠ΅ ΠΈ ΠΊΠ΅ΡΠΎΡ) Π²ΠΎ MB Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Π½ΠΎΡΠΎΡ.
ΠΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°
Π€Π»Π°Π½Π΅Π» ΠΈ ΠΡΠ±Π΅-ΡΡΡΠ΅Ρ ΠΏΠΎΠΊΠ°ΠΆΠ°Π° ΠΎΠ΄Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ - ΡΠ°ΠΌΠΎ 50 MB. Calico ΠΈ Canal ΠΈΠΌΠ°Π°Ρ ΠΏΠΎ 70. WeaveNet ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΡΡΠΎΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈΡΠ΅ - 130 MB, Π° Cilium ΠΊΠΎΡΠΈΡΡΠΈ Π΄ΡΡΠΈ 400.
Π‘Π΅Π³Π° Π΄Π° ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌΠ΅ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ: Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΏΡΠΎΡΠ΅Π½ΡΠΈ, ΡΡΠΊΡ ppm, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ 38 ppm Π·Π° βΠ³ΠΎΠ»ΠΎ ΠΆΠ΅Π»Π΅Π·ΠΎβ Π΅ 3,8%. ΠΠ²Π΅ Π³ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅:
ΠΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ
Calico, Canal, Flannel ΠΈ Kube-ΡΡΡΠ΅ΡΠΎΡ ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΈ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ - ΡΠ°ΠΌΠΎ 2% ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Kubernetes Π±Π΅Π· CNI. WeaveNet Π·Π°ΠΎΡΡΠ°Π½ΡΠ²Π° Π΄Π°Π»Π΅ΠΊΡ ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ 5%, ΠΏΠΎ ΡΡΠΎ ΡΠ»Π΅Π΄ΠΈ Cilium ΡΠΎ 7%.
ΠΠ²Π΅ ΡΠ΅Π·ΠΈΠΌΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ:
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄
Π’Π°Π±Π΅Π»Π° ΡΠΎ ΡΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ:
ΠΠΏΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΠ΄ ΡΠ΅ΠΏΠ΅Ρ
ΠΠ°ΠΊΠ»ΡΡΠΎΠΊ
ΠΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» ΡΠ΅ Π³ΠΎ ΠΈΡΠΊΠ°ΠΆΠ°ΠΌ ΠΌΠΎΠ΅ΡΠΎ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅. ΠΠ°ΠΏΠΎΠΌΠ½Π΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΠΎΠ²ΠΎΡ ΡΠ΅ΠΏΠ΅Ρ ΡΠ°ΠΌΠΎ ΡΠ° ΡΠ΅ΡΡΠΈΡΠ° ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠ° ΠΌΠΎΡ Π½Π° Π΅Π΄Π½Π° Π²ΡΡΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ°Π» ΠΊΠ»Π°ΡΡΠ΅Ρ (3 ΡΠ°Π·Π»ΠΈ). ΠΠ΅ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈ (<50 ΡΠ°Π·Π»ΠΈ) ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ Π²ΡΡΠΊΠΈ.
ΠΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π°ΠΌ Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΠ²Π΅ CNI Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ ΡΡΠ΅Π½Π°ΡΠΈΠΎΡΠΎ:
- ΠΠ°Π»ΠΈ ΠΈΠΌΠ°ΡΠ΅ Π²ΠΎ Π²Π°ΡΠΈΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ°Π·Π»ΠΈ ΡΠΎ ΠΌΠ°Π»ΠΊΡ ΡΠ΅ΡΡΡΡΠΈ (Π½Π΅ΠΊΠΎΠ»ΠΊΡ GB RAM, Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π΄ΡΠ°) ΠΈ Π½Π΅ Π²ΠΈ ΡΡΠ΅Π±Π°Π°Ρ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ - ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π€Π»Π°Π½Π΅Π». ΠΠ²Π° Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°ΡΠΈΡΠΏΠ»Π°ΡΠ»ΠΈΠ²ΠΈΡΠ΅ CNI. Π ΡΠΎΡ Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π΅Π½ ΡΠΎ ΡΠΈΡΠΎΠΊ ΡΠΏΠ΅ΠΊΡΠ°Ρ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ (amd64, arm, arm64, ΠΈΡΠ½.). ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΎΠ²Π° Π΅ Π΅Π΄Π½ΠΎ ΠΎΠ΄ Π΄Π²Π΅ΡΠ΅ (Π΄ΡΡΠ³ΠΎΡΠΎ Π΅ Cilium) CNI ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π΄Π° Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΠΈ MTU, ΡΠ°ΠΊΠ° ΡΡΠΎ Π½Π΅ ΠΌΠΎΡΠ° Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΈΡΡΠΎ. ΠΡΠ±Π΅-ΡΡΡΠ΅ΡΠΎΡ Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½, Π½ΠΎ Π½Π΅ Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π΅Π½ ΠΈ ΡΠ΅ ΡΡΠ΅Π±Π° ΡΠ°ΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ MTU.
- ΠΠΊΠΎ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΡΠ΅ ΡΠ° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ, Π·Π΅ΠΌΠ΅ΡΠ΅ WeaveNet. ΠΠ΅ Π·Π°Π±ΠΎΡΠ°Π²Π°ΡΡΠ΅ Π΄Π° ΡΠ° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° MTU Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ°ΠΌΠ±ΠΎ ΡΠ°ΠΌΠΊΠΈ ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π»ΠΎΠ·ΠΈΠ½ΠΊΠ° ΠΏΡΠ΅ΠΊΡ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°. ΠΠΎ, ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ Π΅ Π΄Π° Π·Π°Π±ΠΎΡΠ°Π²ΠΈΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ - ΡΠΎΠ° Π΅ ΡΠ΅Π½Π°ΡΠ° Π½Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ.
- ΠΠ° Π½ΠΎΡΠΌΠ°Π»Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΠ΅ ΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌ ΠΠΌΠ΅ΡΠΈΠΊΠ°Π½. ΠΠ²ΠΎΡ CNI Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π½ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Kubernetes (Kops, Kubespray, Rancher ΠΈΡΠ½.). ΠΠ°ΠΊΠΎ ΠΈ ΠΊΠ°Ρ WeaveNet, Π½Π΅ Π·Π°Π±ΠΎΡΠ°Π²Π°ΡΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ MTU Π²ΠΎ ConfigMap Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ°ΠΌΠ±ΠΎ ΡΠ°ΠΌΠΊΠΈ. Π’ΠΎΠ° Π΅ ΠΌΡΠ»ΡΠΈΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π° Π°Π»Π°ΡΠΊΠ° ΠΊΠΎΡΠ° Π΅ Π΅ΡΠΈΠΊΠ°ΡΠ½Π° Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ, ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ°.
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Π΅ ΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌ Π΄Π° Π³ΠΎ ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π¦ΠΈΠ»ΠΈΡΠΌ. ΠΠ²ΠΎΡ CNI ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ Π°ΠΊΡΠΈΠ²Π΅Π½ ΡΠΈΠΌ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³Ρ Π½Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ (ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π·Π°ΡΡΠ΅Π΄Π° Π½Π° ΡΠ΅ΡΡΡΡΠΈ, ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ, Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ, ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΡΠ°ΡΠ΅...) ΠΈ ΠΈΠΌΠ°Π°Ρ ΠΌΠ½ΠΎΠ³Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ.
ΠΠΈΠ·ΡΠ΅Π»Π΅Π½ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° CNI
ΠΠ·Π²ΠΎΡ: www.habr.com