ΠΡΠΎΡΠ΅Ρ Π½Π° Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π·Π° Π²Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ Kubernetes
Π Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅Ρ Kubernetes, ΠΈΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π²ΡΠ·Π»ΠΈ. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈΠ»ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. Π ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° Kubernetes ΡΠΎΠ²Π° ΡΠ΅ Π½Π°ΡΠΈΡΠ°
Π’Π°Π·ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π΅ ΡΠ°ΡΡ ΠΎΡ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ 4 ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ:
- Π’Π°Π·ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ.
- ΠΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes
- ΠΠ°Π±Π°Π²Π΅Π½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΡΠΏΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡ Π±ΡΠ΄Π΅ ΠΈΠ·ΡΡΠΈΡΠ°
- ΠΠ°ΠΊ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π° Kubernetes Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° PodDisruptionBudgets
(ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ. ΠΡΠ°ΠΊΠ²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π²ΠΎΠ΄ΠΈ Π½Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ ΠΎΡ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ°ΡΠ° Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡΠ΄Π΅ΡΠ΅)
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Kubernetes ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π² ΠΏΡΠ΅ΡΡΠΎΠΉ Π·Π° Π²ΡΠ·Π»ΠΈΡΠ΅, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π²ΡΠ² Π²Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ΅ Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ Π½Π°ΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΠΈ ΡΠ΅ ΠΎΡΠ΅Π½ΠΈΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈΡΠ΅ ΡΠΈΡΠΊΠΎΠ²Π΅ ΠΎΡ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈ ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π·Π½Π°Π½ΠΈΡ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΅ΡΠ°ΠΌΠ΅ ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΡΠΈΠΊΡΠ». Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΡΠΊΠΈ Π·Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ», ΡΠΎΠ½Π΄ΠΈ Π·Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ ΠΈ Π±ΡΠ΄ΠΆΠ΅ΡΠΈ Π·Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Pod, Π·Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π½Π°ΡΠ°ΡΠ° ΡΠ΅Π» Π·Π° Π½ΡΠ»Π΅Π² ΠΏΡΠ΅ΡΡΠΎΠΉ.
ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΡΡΠ²Π°Π½Π΅, Π½Π΅ΠΊΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes ΠΎΡ Π΄Π²Π° Π²ΡΠ·Π΅Π»Π°, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π·Π°Π΄ Service
:
ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Ρ Nginx ΠΈ ΡΡΠ»ΡΠ³Π°, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π΄Π²Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ½ΠΈ Π²ΡΠ·Π΅Π»Π° Kubernetes.
ΠΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Π΄Π²Π° ΡΠ°Π±ΠΎΡΠ½ΠΈ Π²ΡΠ·Π΅Π»Π° Π² Π½Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ. ΠΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°? ΠΠ΄Π½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΈ Π²ΡΠ·Π»ΠΈ Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΈΡΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ, ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄:
- ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ, ΠΏΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° ΡΡΡ , ΡΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈ. ΠΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π°, Π°ΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΠΈΡΡΠ΅Π½ΠΈ Π·Π° Π³ΡΠ°ΡΠΈΠΎΠ·Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅? Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΠΈΠ·ΡΠ°ΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π΄Π° Π·Π°Π²ΡΡΡΠΈ.
- ΠΠΌΠΈ Π°ΠΊΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ? Π©Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ΅Π½ ΠΏΡΠ΅ΡΡΠΎΠΉ, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΡΡ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈ Π²ΡΠ·Π»ΠΈ.
ΠΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π½Π°ΡΠΈΠ½ Π·Π° Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ ΡΡΠ°ΡΠΈ Π²ΡΠ·Π»ΠΈ, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ Π½ΠΈΡΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠΌ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π²ΡΠ·Π΅Π»Π°. ΠΠ»ΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠΌ ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΠΊΡΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ° (Ρ.Π΅. Π·Π°ΠΌΠ΅Π½ΡΠΌΠ΅ VM ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ), ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡ ΡΡΠ°ΡΠΈ Π²ΡΠ·Π»ΠΈ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈ. Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΠΌ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΡΠ°ΡΠΈ Π²ΡΠ·Π»ΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΠΈΠ·Π³ΠΎΠ½ΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ ΡΡΡ
. ΠΠ° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° kubectl drain
.
ΠΡΠ΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ Π²ΡΠ·Π΅Π»
ΠΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΠΈΠ·ΡΠΎΡΠ²Π°Π½Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ Π²ΡΠ·Π΅Π». ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΡΠΎΡΠ²Π°Π½Π΅ Π²ΡΠ·Π΅Π»ΡΡ Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ Π½Π΅ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ (ΡΠ»Π°Π³ NoSchedule
). Π’ΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΡΡΡΡΠ»ΠΊΠΈ Π²ΡΡΡ
Ρ Π½Π΅Π³ΠΎ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° drain Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ Π²ΡΠ·Π΅Π»Π°, ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΡΡ Π½Π° Π²ΡΠ·Π΅Π»Π°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠΈΠ³Π½Π°Π» TERM
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² ΡΡΡΡΠ»ΠΊΠ°.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ kubectl drain
ΡΠ΅ ΡΠ²ΡΡΡΠΈ ΡΡΠ΄Π΅ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈ ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠ»ΠΊΠΈΡΠ΅, ΠΈΠΌΠ° Π΄Π²Π° Π΄ΡΡΠ³ΠΈ ΡΠ°ΠΊΡΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ Π΄ΠΎ Π½Π΅ΡΡΠΏΠ΅Ρ
Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ ΠΈΠ·ΡΠΎΡΠ²Π°Π½Π΅:
- ΠΠ°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈ Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅
TERM
ΡΠΈΠ³Π½Π°Π». ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ΅ ΡΠ° ΠΈΠ·Π³ΠΎΠ½Π΅Π½ΠΈ, Kubernetes ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠΈΠ³Π½Π°Π»TERM
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Π³ΠΈ ΠΈΠ·ΡΠ°ΠΊΠ²Π° Π΄Π° ΡΠΏΡΠ°Ρ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ, Π°ΠΊΠΎ Π½Π΅ ΡΠ° ΡΠΏΡΠ΅Π»ΠΈ, Π³ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ. ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ, Π°ΠΊΠΎ Π²Π°ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½Π΅ Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π²ΡΠ΅ ΠΏΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π°ΠΊΠΎ ΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π΅ Π² Ρ ΠΎΠ΄). - ΠΡΠ±ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ·Π»ΠΈ ΠΈΠ»ΠΈ Π°ΠΊΠΎ Π²Π°ΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΡΠ° ΡΠ°Π·Π³ΡΡΠ½Π°ΡΠΈ Π±Π΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΈΠ·ΠΎΠ±ΡΠΎ Π΄Π° Π½Π΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Ρ.
ΠΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΡΡΠΎΠΉ
ΠΠ° Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΡΠ΅ΡΡΠΎΠΉ ΠΎΡ Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π° ΠΈΠ·ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ·Π΅Π», Kubernetes ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΎΡΠΊΠ°Π·ΠΈ:
ΠΡΠ°ΡΠΈΠΎΠ·Π½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ ΠΡΠΊΠΈ Π·Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» PodDisruptionBudgets
Π ΠΎΡΡΠ°Π½Π°Π»Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Kubernetes, Π·Π° Π΄Π° ΡΠΌΠ΅ΠΊΡΠΈΠΌ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π° pod. ΠΠ° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΠΌ ΡΠ»Π΅Π΄Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΡΡΡ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡΠ°:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.15
ports:
- containerPort: 80
---
kind: Service
apiVersion: v1
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
targetPort: 80
port: 80
Π’Π°Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Deployment
, ΠΊΠΎΠΉΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° nginx pods Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΎΠΏΠΈΡΠ²Π° ΡΠ΅ΡΡΡΡΠ° Service
, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ nginx pods Π² ΠΊΠ»ΡΡΡΠ΅Ρ.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΈΠΊΡΠ»Π° Π½ΠΈΠ΅ ΡΠ΅ ΡΠ°Π·ΡΠΈΡΡΠ²Π°ΠΌΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΠ°Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Kubernetes ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΡΠ΅ΡΡΠΎΠΉ.
ΠΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° Kubernetes Π·Π° Π½ΡΠ»Π΅Π² ΠΏΡΠ΅ΡΡΠΎΠΉ Π½Π° AWS ΠΈ ΠΈΠ·Π²ΡΠ½ Π½Π΅Π³ΠΎ, ΠΏΠΎΡΠ΅ΡΠ΅ΡΠ΅
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ°ΡΠΈΠΈ Π² Π½Π°ΡΠΈΡ Π±Π»ΠΎΠ³:
ΠΡΠ»Π΅Π² ΠΏΡΠ΅ΡΡΠΎΠΉ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Kubernetes: Π·Π°ΡΠΎ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ? Tekton Pipeline - ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π½Π° Kubernetes ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° Nginx ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Kubernetes Π½Π° Hashicorp Consul ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΎΡ ClickHouse Π±Π΅Π· Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΊΡΠΌ ClickHouse Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ?
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com