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