ΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° (βconntrackβ) Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π’Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΄Π° ΡΠ»Π΅Π΄ΠΈ Π²ΡΠΈΡΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΡΠΈ ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΡΠ°Π²ΡΡ Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΠΎΠΊ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π·Π°Π΅Π΄Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ.
Conntrack Π΅ Π²Π°ΠΆΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π½ΡΠΊΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ»ΡΡΠ°ΠΈ:
- NAT ΡΠ°Π·ΡΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ conntrack, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΅ΡΠΈΡΠ° Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΏΠΎΡΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ pod ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ»ΡΠ³Π° Π½Π° Kubernetes, kube-proxy load balancer ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° NAT, Π·Π° Π΄Π° Π½Π°ΡΠΎΡΠΈ ΡΡΠ°ΡΠΈΠΊ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ pod Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Conntrack Π·Π°ΠΏΠΈΡΠ²Π°, ΡΠ΅ Π·Π° Π΄Π°Π΄Π΅Π½Π° Π²ΡΡΠ·ΠΊΠ° Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΊΡΠΌ IP ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π΄ΠΎ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ pod ΠΈ ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Π²ΡΡΠ½Π°ΡΠΈ ΠΎΡ backend pod, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ NATed ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊΡΠΌ pod, ΠΎΡ ΠΊΠΎΠΉΡΠΎ Π΅ Π΄ΠΎΡΠ»Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°.
- ΠΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠ΅Π½ΠΈ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ Calico, ΡΠ°Π·ΡΠΈΡΠ°Ρ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ connecttrack Π·Π° ΡΡΠ°ΡΠΈΠΊ Π½Π° βΠΎΡΠ³ΠΎΠ²ΠΎΡβ Π² Π±Π΅Π»ΠΈΡ ΡΠΏΠΈΡΡΠΊ. Π’ΠΎΠ²Π° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΊΠ°Π·Π²Π° βΡΠ°Π·ΡΠ΅ΡΠ΅ΡΠ΅ Π½Π° ΠΌΠΎΡ ΠΌΠΎΠ΄ΡΠ» Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ IP Π°Π΄ΡΠ΅Ρβ, Π±Π΅Π· Π΄Π° ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ. (ΠΠ΅Π· ΡΠΎΠ²Π° ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ βΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΊΡΠΌ ΠΌΠΎΡ ΠΏΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΊΠΈ IPβ.)
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° conntrack ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (ΡΡΠ΅Π· Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅), ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΎ ΠΏΡΡΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π² ΠΏΠΎΡΠΎΠΊΠ°
ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈ Ρ Π½Π΅Π³ΠΎ. ΠΠΈΠΆΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡΠ° "
Conntrack ΠΎΠ±Π°ΡΠ΅ ΠΈΠΌΠ° ΡΠ²ΠΎΠΈΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ...
Π ΡΠ°ΠΊΠ°, ΠΊΡΠ΄Π΅ ΡΠ΅ ΠΎΠ±ΡΡΠΊΠ° Π²ΡΠΈΡΠΊΠΎ?
Π’Π°Π±Π»ΠΈΡΠ°ΡΠ° conntrack ΠΈΠΌΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π°ΠΊΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΈ, Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Ρ. Π ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΠΈΠΌΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΌΡΡΡΠΎ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ²Π° Π½ΠΈΠΊΠΎΠ³Π° Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π΅ Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΌΠ° ΠΎΠ±Π°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π² ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΎΠ±ΠΌΠΈΡΠ»ΠΈΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° conntrack:
- ΠΠ°ΠΉ-ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΈΡΡ ΡΠ»ΡΡΠ°ΠΉ Π΅, Π°ΠΊΠΎ ΡΡΡΠ²ΡΡΡΡ Π²ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° conntrack ΡΠ°Π±Π»ΠΈΡΠ° Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π° Π·Π° 128k Π·Π°ΠΏΠΈΡΠ°, Π½ΠΎ ΠΈΠΌΠ°ΡΠ΅ >128k Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ, ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΠΊΠ½Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ!
- ΠΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ: Π°ΠΊΠΎ Π²Π°ΡΠΈΡΡ ΡΡΡΠ²ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠΎΡΠΈ Π°ΠΊΠΎ Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΡΠ° ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΠΉΠ½ΠΈ, ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Π΄Π° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΠΎΡ Linux Π·Π° ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ (120s ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° conntrack Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π° Π·Π° 128k Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈΡΠ΅ 1100 Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΡΠ΅ ΡΠ΅ Π½Π°Π΄Π²ΠΈΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° conntrack, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΠΉΠ½ΠΈ (128k/120s = 1092 Π²ΡΡΠ·ΠΊΠΈ/ Ρ).
ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΈΡΠΎΠ²ΠΈ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Ρ Π² ΡΠ΅Π·ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΡΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ, ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° conntrack Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ Π°ΡΠ°ΠΊΠ° Π·Π° ΠΎΡΠΊΠ°Π· Π½Π° ΡΡΠ»ΡΠ³Π° (DOS). Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ conntrack ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π΅ Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΡΠΎ ΡΡΡΠ½ΠΎ ΠΌΡΡΡΠΎ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° conntrack ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ, Π·Π° Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ - ΡΡΠ΅Π· ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π½Π° conntrack (Π½ΠΎ Π°ΠΊΠΎ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ, ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΠΊΠ½Π΅ΡΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ). ΠΠ° Π΄ΡΡΠ³ΠΈ ΡΠ»ΡΡΠ°ΠΈ ΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ conntrack Π·Π° Π°Π³ΡΠ΅ΡΠΈΠ²Π΅Π½ ΡΡΠ°ΡΠΈΠΊ.
Π Π΅Π°Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠ΅ΠΊΠ° Π΄Π°Π΄Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ: Π΅Π΄ΠΈΠ½ Π³ΠΎΠ»ΡΠΌ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ Π½Π° SaaS, Ρ ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅, ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ memcached ΡΡΡΠ²ΡΡΠ° Π½Π° Ρ ΠΎΡΡΠΎΠ²Π΅ (Π½Π΅ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ), Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ 50K+ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΎΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
Π’Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°Ρ Π° Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° conntrack, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°ΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½Π°, ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° RAM ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ (ΠΎΡ ΠΏΠΎΡΡΠ΄ΡΠΊΠ° Π½Π° GBytes!), Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π±ΡΡ Π° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΊΡΡΠΈ, ΡΠ΅ conntrack Π½Π΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΎΠ±ΠΈΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠΈ ΠΏΠΎΠ»Π·Π° ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° (Π½Π°ΠΌΠ°Π»Π΅Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° CPU ΠΈΠ»ΠΈ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ).
Π’Π΅ ΡΠ΅ ΠΎΠ±ΡΡΠ½Π°Ρ Π° ΠΊΡΠΌ Calico ΠΊΠ°ΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°. ΠΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π° Calico Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ conntrack Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΠ°ΡΠΈΠΊ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΡΠΈΡΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° doNotTrack). Π’ΠΎΠ²Π° ΠΈΠΌ Π΄Π°Π΄Π΅ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅Ρ Π°, ΠΏΠ»ΡΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ ΠΎΡ Calico.
ΠΠ°ΠΊΠ²ΠΈ Π΄ΡΠ»ΠΆΠΈΠ½ΠΈ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΌΠΈΠ½Π΅ΡΠ΅, Π·Π° Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΡΠ΅ conntrack?
- ΠΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° Π½Π΅-ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ° ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ. Π ΡΠ»ΡΡΠ°Ρ Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π½Π° SaaS: ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Ρ Π° Π² Π·Π°ΡΠΈΡΠ΅Π½Π°ΡΠ° Π·ΠΎΠ½Π° ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΠΏΠΎΡΡΠ°Π²ΡΡ Π² Π±Π΅Π»ΠΈΡ ΡΠΏΠΈΡΡΠΊ ΡΡΠ°ΡΠΈΠΊΠ° ΠΎΡ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π° ΠΊΠΎΠΈΡΠΎ Π±Π΅ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ memcached.
- ΠΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° Π½Π΅-ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΡΠΎΠΊΠ°ΡΠ° Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π°ΠΊΠΎ memcached ΡΡΡΠ²ΡΡΡΡ Π΅ Ρ Π°ΠΊΠ½Π°Ρ, ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ ΠΊΠΎΠΉΡΠΎ ΠΈ Π΄Π° Π΅ ΠΎΡ memcached ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅, ΡΡΠΈΠ³Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΏΠΎΡΡ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΡΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° Π²Π°ΡΠΈΡΠ΅ memcached ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΡΠΎΠ³Π°Π²Π° ΡΠ΅Π·ΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΠ°ΠΊ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
- ΠΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΡΠΌ Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π½ΠΎΡΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΠ°ΠΌΠΎ ΠΊΡΠΌ ΠΏΡΡΠ²ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ Π² ΠΏΠΎΡΠΎΠΊΠ°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π·Π° ΠΏΠ°ΠΊΠ΅Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ. ΠΠΎ Π·Π° ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΠΉΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΡΠΎΠ·ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ ΡΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡΠ° ΠΎΡ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° conntrack. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° SaaS Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ, Π±ΡΠΎΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π·Π° Π²ΡΡΠΊΠ° Π²ΡΡΠ·ΠΊΠ° Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΡΠΊ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΏΡΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΊΡΠΌ Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π±Π΅ΡΠ΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π°.
ΠΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ
ΠΡΠΎΠ²Π΅Π΄ΠΎΡ
ΠΌΠ΅ ΡΠ΅ΡΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ pod Ρ memcached ΡΡΡΠ²ΡΡ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ memcached ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ pods, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ Π²ΡΠ·Π»ΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. Π‘ΡΡΠ²ΡΡΡΡ Ρ memcached server pod ΠΈΠΌΠ°ΡΠ΅ 8 ΡΠ΄ΡΠ° ΠΈ 512k Π·Π°ΠΏΠΈΡΠ° Π² conntrack ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° (ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° Ρ
ΠΎΡΡΠ°).
ΠΠ·ΠΌΠ΅ΡΠΈΡ
ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ: Π»ΠΈΠΏΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°; Ρ ΡΠ΅Π΄ΠΎΠ²Π½Π° ΠΏΠΎΠ»ΠΈΡΠ° Calico; ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° Π½Π΅-ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Calico.
ΠΠ° ΠΏΡΡΠ²ΠΈΡ ΡΠ΅ΡΡ Π·Π°Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ Π±ΡΠΎΡ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π½Π° 4.000 Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌ Π²ΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π² ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΡΠΌΠ°ΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, Π½ΠΎ Π½Π΅-ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΠΉΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Ρ ΠΎΠΊΠΎΠ»ΠΎ 20%:
ΠΡΠ² Π²ΡΠΎΡΠΈΡ ΡΠ΅ΡΡ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ, ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΊΠΎΠΈΡΠΎ Π½Π°ΡΠΈΡΡ memcached ΡΡΡΠ²ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ. ΠΠ°ΠΊΡΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°ΡΠ΅, ΡΠ»ΡΡΠ°ΠΈΡΠ΅ βΠ±Π΅Π· ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°β ΠΈ βΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°β Π΄ΠΎΡΡΠΈΠ³Π½Π°Ρ Π° Π»ΠΈΠΌΠΈΡΠ° Π½Π° conntrack ΠΎΡ Π½Π°Π΄ 4,000 Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° (512k / 120s = 4,369 Π²ΡΡΠ·ΠΊΠΈ/s). Π‘ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π±Π΅Π· ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡ Π° 60,000 XNUMX Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π‘ΠΈΠ³ΡΡΠ½ΠΈ ΡΠΌΠ΅, ΡΠ΅ Π±ΠΈΡ ΠΌΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠΌ ΡΠΎΠ·ΠΈ Π±ΡΠΎΠΉ, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Π½ΠΎ ΡΠΌΡΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΠ΅Π·ΠΈ ΡΠΈΡΠ»Π° Π²Π΅ΡΠ΅ ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ, Π·Π° Π΄Π° ΠΈΠ»ΡΡΡΡΠΈΡΠ°Ρ ΡΠΌΠΈΡΡΠ»Π° Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ!
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Conntrack Π΅ Π²Π°ΠΆΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ. Π’ΠΎΠΉ ΡΠΈ Π²ΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠ΅ΡΡΠ΅ΠΊΡΠ½ΠΎ. Π§Π΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π² Π½ΡΠΊΠΎΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π·Π°Π΄ΡΡΡΡΠ²Π°Π½ΠΈΡΡΠ°, Π΄ΡΠ»ΠΆΠ°ΡΠΈ ΡΠ΅ Π½Π° conntrack, ΠΏΡΠ΅Π²ΠΈΡΠ°Π²Π°Ρ Π½ΠΎΡΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ. Π ΡΠΎΠ·ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π½Π° Calico ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° conntrack, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. ΠΠ° ΡΠ΅Π»ΠΈΡ ΠΎΡΡΠ°Π½Π°Π» ΡΡΠ°ΡΠΈΠΊ conntrack ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π²Π°Ρ ΠΏΡΠΈΡΡΠ΅Π»!
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ°ΡΠΈΠΈ Π² Π½Π°ΡΠΈΡ Π±Π»ΠΎΠ³:
ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° Nginx ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Kubernetes Π½Π° Hashicorp Consul ΠΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π² Kubernetes ΠΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΠΈ ΡΠ΅Π± ΠΏΡΠΎΠ΅ΠΊΡΠΈ Telegram Π±ΠΎΡ Π·Π° Redmine. ΠΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΆΠΈΠ²ΠΎΡΠ° ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡΠ΅
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com