
ΠΠ°ΠΆΠ½ΠΎ Π΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠ±ΠΎΠΉΠΎΠ²Π΅. Kubernetes ΠΏΠΎΠΌΠ°Π³Π° Π² ΡΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ»Π΅Π΄ΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΡΠΏΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Kubernetes ΠΌΠΎΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠΏΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΠΎΠ±ΡΠ°ΡΠ° ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π ΡΠ°Π·ΠΈ ΡΠ΅ΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΡΠ΅ Π½Π° Kubernetes Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ²ΠΎΡΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΡΠ΅ΡΡΠΎΠΉ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°.
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Ρ
Π° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΈΠ»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π°ΡΠ΅ ΡΡΡ ΡΠ±ΠΎΠΉ ΠΈΠ»ΠΈ Π·Π°ΠΌΡΡΠ·Π²Π°ΡΠ΅, ΠΎΡΠ½Π΅ΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π·Π°ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. Π Π½Π°ΠΉ-Π»ΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π½ΡΠΊΠΎΠΉ ΠΌΡ ΡΠ΅ Π½Π°Π»Π°Π³Π°ΡΠ΅ Π΄Π° ΡΠ΅ΡΠ°Π²Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΡΠ½ΠΎ ΠΏΡΠ΅Π· Π½ΠΎΡΡΠ°, ΠΏΠΎ Π½Π°ΠΉ-Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΊΠΎ Π²Π°ΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΎΡ 1-2 ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΠ°ΠΊΡΠ² ΡΠ±ΠΎΠΉ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ².
ΠΠ°ΡΠΎΠ²Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ½ΠΎ ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ ΡΠΏΠΈΡΠ°Π½Π΅. ΠΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ° Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠ»Π°Π²Ρ ΠΊΠΎΠ΄ Π·Π° ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° ΡΡΡΠ²ΡΡΠ°. Π‘ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠ°ΡΠΎ Kubernetes, ΡΠΎΠ·ΠΈ Π²ΠΈΠ΄ ΡΠ΅Π°Π³ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ±ΠΎΠΉΠΎΠ²Π΅ Π±Π΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
Kubernetes ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΠΊΡΠ» Π½Π° ΡΡΠ±ΠΈΡΠΈΡ βΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ β ΡΠΈΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ β ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡβ, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈ, ΡΠ΅ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΎΡΡΠ°Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΈ ΠΏΠΎ ΠΏΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Π΄ΠΎ ΡΠ°ΠΌΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ.

Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ Π²ΠΈ Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ½ΠΎ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅. ΠΠΊΠΎ ΡΠ΅ΡΡΡΡΡΡ Π½Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Health Check, Kubernetes ΠΏΡΠΎΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π·Π°ΠΌΡΠ½Π°. ΠΡΠΈ ΡΠΎΠ²Π° Kubernetes ΠΏΡΠ°Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄Π΅Π½Π΅ Π½Π° ΡΠ±ΠΎΠΉΠΎΠ²Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠΏΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΈΠ½ΠΈ, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠΈΡΠΎ Kubernetes ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π·Π΄ΡΠ°Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ ΡΠΈ, Kubernetes Π±Π°Π²Π½ΠΎ ΡΠ΅ ΡΠΏΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ° Π½ΠΎΠ²ΠΈ. ΠΠΊΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π²ΡΠ·Π΅Π», Kubernetes ΡΠ΅ ΡΠΏΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π». ΠΠ°ΠΊΡΠ°Ρ, Π°ΠΊΠΎ Π²ΡΠ·Π΅Π»ΡΡ ΡΠ²ΡΡΡΠΈ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΠΈ, Kubernetes ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅, Π·Π° Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈ ΡΠ΅Π·ΠΈ ΡΠ΅ΡΡΡΡΠΈ.
Π’Π°ΠΊΠ° ΡΠ΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΠΈ Π΄Π° ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·ΡΡ, Π΄Π° Π·Π°ΡΠ²ΠΎΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π²ΡΡΠ·ΠΊΠΈ, Π΄Π° Π·Π°Π²ΡΡΡΠΈ ΠΎΡΡΠ°Π²Π°ΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π΄Π° ΡΡΠΏΠ΅Π΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΏΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ SIGTERM β ΡΠΈΠ³Π½Π°Π» Π·Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠΈΠ³Π½Π°Π» Π·Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° kill Π² UNIX ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΡΠΎ. ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΉΠΊΠΈ ΡΠΎΠ²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈ.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Kubernetes ΡΠ΅ΡΠΈ Π΄Π° Π·Π°Π²ΡΡΡΠΈ ΠΏΠΎΠ΄Π°, ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΡΡΠ» Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ±ΠΈΡΠΈΡ. ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΡΠΊΠ° ΡΡΡΠΏΠΊΠ°, ΠΊΠΎΡΡΠΎ Kubernetes ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΠΌΠ° ΠΏΡΠΈ ΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄.
ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π·Π°Π²ΡΡΡΠΈΠΌ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅. Π ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠΉ ΡΠΏΠΈΡΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π½ΠΎΠ² ΡΡΠ°ΡΠΈΠΊ β ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ, Π½ΠΎ ΡΠ΅Π»ΠΈΡΡ Π½ΠΎΠ² ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ Π±ΡΠ΄Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½.

ΠΠ΅ΠΊΠ° ΠΎΠ±ΡΡΠ΄ΠΈΠΌ preStop hook β ΡΠΎΠ²Π° Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ HTTP Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π°. ΠΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° SIGTERM, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ preStop Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠΏΠΈΡΠ°Π½Π΅.

ΠΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π·Π°Π²ΡΡΡΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»Π° SIGTERM, Π½ΠΎ Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΡΠ½ΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅, preStop hook Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅ Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
Π‘Π»Π΅Π΄ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ Ρ ΡΠΊ 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 ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½ΠΈ, Π·Π°ΡΠΎΠ²Π° ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΠΏΠΎ Π²ΡΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ, Π·Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΡΠ΅ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°.

ΠΠ°Π»ΠΊΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠ° π
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ, ΡΠ΅ ΠΎΡΡΠ°Π²Π°ΡΠ΅ Ρ Π½Π°Ρ. Π₯Π°ΡΠ΅ΡΠ²Π°ΡΠ΅ Π»ΠΈ Π½Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ? ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈ? ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΠ΅ΡΠ΅ Π½ΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΡΡΡΠΊΠ° ΠΈΠ»ΠΈ Ρ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ·Π½Π°ΡΠΈ, , ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π½Π° entry-level ΡΡΡΠ²ΡΡΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Π½Π°Ρ Π·Π° ΠΠ°Ρ: (Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΈ Ρ RAID1 ΠΈ RAID10, Π΄ΠΎ 24 ΡΠ΄ΡΠ° ΠΈ Π΄ΠΎ 40GB DDR4).
Dell R730xd Π΄Π²Π° ΠΏΡΡΠΈ ΠΏΠΎ-Π΅Π²ΡΠΈΠ½ Π² Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΡΠ° Equinix Tier IV Π² ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌ? Π‘Π°ΠΌΠΎ ΠΏΡΠΈ Π½Π°Ρ Π² ΠΠΈΠ΄Π΅ΡΠ»Π°Π½Π΄ΠΈΡ! Dell R420 β 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB β ΠΎΡ $99! Π§Π΅ΡΠ΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
