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

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

ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ 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 ΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ forcibly removed. Π ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ 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
