ΠΠ°ΠΆΠ½ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ Π² ΡΠ°Π±ΠΎΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ±ΠΎΠ΅Π². Kubernetes ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΡΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡ Π·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π²ΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Kubernetes ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΎΠ±ΡΡΡ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠΎΡΡ Kubernetes Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΠΈΠ»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
. ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π²Π°Π»ΠΎ ΡΠ±ΠΎΠΉ ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠ°Π»ΠΎ, ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎΠ±Ρ ΡΠ½ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π·Π°Π΄Π°ΡΡ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Ρ
ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΡΡΡΠ½ΡΡ Π½ΠΎΡΡΡ, Π² ΡΠ°ΠΌΠΎΠ΅ Π½Π΅ΡΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π²Π°ΠΆΠ½ΡΡ Π·Π°Π΄Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ Π²ΡΠ΅Π³ΠΎ 1-2 ΡΠ°Π±ΠΎΡΠΈΡ
ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠ°ΠΊΠΎΠΉ ΡΠ±ΠΎΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ Π±ΡΠ» ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ.
ΠΠΎΡΡΠΎΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ Π΅Π³ΠΎ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π°Π»Π° ΡΠ±ΠΎΠΉ, ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π·Π°Ρ
Π²Π°ΡΡΠ²Π°Π΅Ρ exit-ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ. Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Kubernetes, ΡΡΠΎΡ Π²ΠΈΠ΄ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ±ΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ» ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
Kubernetes ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ΅ΡΠ»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Β«Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ β ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΎΡΠ»ΠΈΡΠΈΠΉ β ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΒ», ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ΅ΡΡΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΠΎ ΠΏΡΡΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΊ ΡΠ°ΠΌΠΈΠΌ ΡΠ·Π»Π°ΠΌ.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠ»ΠΈ ΡΠ΅ΡΡΡΡ Π½Π΅ ΠΏΡΠΎΡΠ΅Π» ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Health Check, Kubernetes ΠΏΡΠΎΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π΅ΠΌΡ Π·Π°ΠΌΠ΅Π½Ρ. ΠΡΠΈ ΡΡΠΎΠΌ Kubernetes Π΄Π΅Π»Π°Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΠ±ΠΎΡΠΌΠΈ Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠΏΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Kubernetes ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅, Kubernetes Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ΄Ρ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Ρ Π½ΠΎΠ²ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠ·Π΅Π», Kubernetes ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅Ρ
ΠΏΠΎΠ΄ΠΎΠ² Π² ΡΡΠΎΠΌ ΡΠ·Π»Π΅. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ Ρ ΡΠ·Π»Π° Π·Π°ΠΊΠΎΠ½ΡΠ°ΡΡΡ ΡΠ΅ΡΡΡΡΡ, Kubernetes ΠΎΡΠΊΠ»ΡΡΠΈΡ Π²ΡΠ΅ ΠΏΠΎΠ΄Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΡΠΈ ΡΠ΅ΡΡΡΡΡ.
ΠΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²Π»ΠΈΡΠ½ΠΈΠ΅ΠΌ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ, Π·Π°ΠΊΡΡΡΡ Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΎΡΡΠ°Π²ΡΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΡΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ΠΎΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ SIGTERM β ΡΠΈΠ³Π½Π°Π» Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΡΡ kill Π² ΠΠ‘ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Unix. ΠΠΎΠ»ΡΡΠΈΠ² ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡΡΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Kubernetes ΡΠ΅ΡΠΈΠ» Π·Π°Π²Π΅ΡΡΠΈΡΡ pod, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ Kubernetes ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ΄ΠΎΠ². Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ°ΡΠΈΠΊ β ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π² ΠΏΠΎΠ΄Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°ΡΡΠΎΠ½ΡΡΡ, Π½ΠΎ Π²Π΅ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ°ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Ρ
ΡΠΊ preStop β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ HTTP-Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ Π² ΠΏΠΎΠ΄Π΅. ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ SIGTERM Π²ΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ preStop Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π° SIGTERM Π·Π°Π²Π΅ΡΡΠ°ΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ, Ρ
ΡΠΊ preStop ΡΠ»ΡΠΆΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²ΡΠ·Π²Π°ΡΡ ΠΈΠ·ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Ρ ΡΠΊΠ° Kubernetes ΠΏΠΎΡΠ»Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ Π² ΠΏΠΎΠ΄Π΅ ΡΠΈΠ³Π½Π°Π» SIGTERM, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°ΡΡ ΠΈΠΌ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠΊΠΎΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΠΎΠ»ΡΡΠΈΠ² ΡΡΠΎΡ ΡΠΈΠ³Π½Π°Π», Π²Π°Ρ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π»ΡΠ±ΡΡ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ , ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊ WebSocket, ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Ρ ΡΠΊ preStop, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΡΡΠ»Π°Π΅ΡΠ΅ Π΅ΠΌΡ ΡΠΈΠ³Π½Π°Π» SIGTERM, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ΅Π±Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²Π΅Π΄Π΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π°, Π½Π΅ ΡΡΠ°Π»ΠΈ Π΄Π»Ρ Π²Π°Ρ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡΡΡ.
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Kubernetes Π±ΡΠ΄Π΅Ρ ΠΆΠ΄Π°ΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ terminationGracePeriodSecond, ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π° SIGTERM.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 30 ΡΠ΅ΠΊΡΠ½Π΄. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ Π΄Π»ΠΈΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ preStop hook ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ SIGTERM. Kubernetes Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ preStop hook ΠΈ SIGTERM β Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° TerminationGracePeriod, Kubernetes Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎΠ±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
Π±ΡΠ»ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π°, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 30Ρ, ΡΠ²Π΅Π»ΠΈΡΡΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π² YAML. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ½ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 60Ρ.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ β Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ terminationGracePeriod, ΠΎΠ½ΠΈ ΠΏΠΎΡΠ»ΡΡ ΡΠΈΠ³Π½Π°Π» SIGKILL ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Ρ. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Kubernetes ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠΈΡΡΠΈΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΠ΄Π°.
Kubernetes ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΡ π
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΠΎΡΡΠ°ΡΡΠ΅ΡΡ Ρ Π½Π°ΠΌΠΈ. ΠΠ°ΠΌ Π½ΡΠ°Π²ΡΡΡΡ Π½Π°ΡΠΈ ΡΡΠ°ΡΡΠΈ? Π₯ΠΎΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²? ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΡΠ΅ Π½Π°Ρ, ΠΎΡΠΎΡΠΌΠΈΠ² Π·Π°ΠΊΠ°Π· ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π² Π·Π½Π°ΠΊΠΎΠΌΡΠΌ,
Dell R730xd Π² 2 ΡΠ°Π·Π° Π΄Π΅ΡΠ΅Π²Π»Π΅ Π² Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ΅ Equinix Tier IV Π² ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌΠ΅? Π’ΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com