НадграТданС Π½Π° Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π±Π΅Π· прСстой

НадграТданС Π½Π° Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π±Π΅Π· прСстой

ΠŸΡ€ΠΎΡ†Π΅Ρ Π½Π° Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π·Π° вашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Kubernetes

Π’ Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Kubernetes, ΠΈΠΌΠ° Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ възли. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ядрото ΠΈΠ»ΠΈ внСдряванС Π½Π° Π½ΠΎΠ²ΠΈ изобраТСния Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина. Π’ тСрминологията Π½Π° Kubernetes Ρ‚ΠΎΠ²Π° сС Π½Π°Ρ€ΠΈΡ‡Π° β€žΠ”ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅β€œ.

Π’Π°Π·ΠΈ публикация Π΅ част ΠΎΡ‚ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ 4 ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ:

  1. Π’Π°Π·ΠΈ публикация.
  2. ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π½Π° Kubernetes
  3. Π—Π°Π±Π°Π²Π΅Π½ΠΎ прСкратяванС Π½Π° Π³Ρ€ΡƒΠΏΠ°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ тя бъдС ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚Π°
  4. Как Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Π½Π° Kubernetes с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° PodDisruptionBudgets

(ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ. ΠžΡ‡Π°ΠΊΠ²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ΠΈ Π½Π° останалитС статии ΠΎΡ‚ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π°Ρ‚Π° Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡŠΠ΄Π΅Ρ‰Π΅)

Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ опишСм всички инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Kubernetes прСдоставя Π·Π° постиганС Π½Π° Π½ΡƒΠ»Π΅Π² прСстой Π·Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ във вашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Ρ‰Π΅ Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ Π½Π°ΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Ρ‰Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΈ Ρ‰Π΅ ΠΎΡ†Π΅Π½ΠΈΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ рисковС ΠΎΡ‚ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ Ρ‰Π΅ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ знания Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° всСки ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ срСщамС ΠΏΡ€Π΅Π· цСлия Ρ†ΠΈΠΊΡŠΠ». Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Π΅ конфигурация, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΡƒΠΊΠΈ Π·Π° ТизнСния Ρ†ΠΈΠΊΡŠΠ», сонди Π·Π° готовност ΠΈ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ΠΈ Π·Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° Pod, Π·Π° Π΄Π° постигнС Π½Π°ΡˆΠ°Ρ‚Π° Ρ†Π΅Π» Π·Π° Π½ΡƒΠ»Π΅Π² прСстой.

Π—Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡŠΡ‚ΡƒΠ²Π°Π½Π΅, Π½Π΅ΠΊΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π½Π° Kubernetes ΠΎΡ‚ Π΄Π²Π° възСла, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС изпълнява ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π·Π°Π΄ Service:

НадграТданС Π½Π° Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π±Π΅Π· прСстой

НСка Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ с Nginx ΠΈ услуга, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Π²Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ възСла Kubernetes.

ИскамС Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ вСрсията Π½Π° ядрото Π½Π° Π΄Π²Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ възСла Π² нашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€. Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°? Π•Π΄Π½ΠΎ просто Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄Π° стартиратС Π½ΠΎΠ²ΠΈ възли с Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π°Ρ‚Π° конфигурация ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ старитС възли, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ стартиратС Π½ΠΎΠ²ΠΈΡ‚Π΅. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‰Π΅ ΠΈΠΌΠ° няколко ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄:

  • ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ старитС възли, ΠΏΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° тях, ΡΡŠΡ‰ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ. Какво става, Π°ΠΊΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ изчистСни Π·Π° Π³Ρ€Π°Ρ†ΠΈΠΎΠ·Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅? БистСмата Π·Π° виртуализация, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΠΈΠ·Ρ‡Π°ΠΊΠ° процСса Π½Π° почистванС Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈ.
  • Ами Π°ΠΊΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ всички възли Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ? Π©Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π΅Π½ прСстой, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ сС прСмСстят към Π½ΠΎΠ²ΠΈ възли.

ИмамС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π·Π° Π΅Π»Π΅Π³Π°Π½Ρ‚Π½ΠΎ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ‚ стари възли, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ Π½ΠΈΡ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ процСси Π½Π΅ сС изпълнява, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² възСла. Или ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ пълна подмяна Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, ΠΊΠ°ΠΊΡ‚ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° (Ρ‚.Π΅. замСнямС VM изобраТСния), искамС Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ прилоТСния ΠΎΡ‚ стари възли към Π½ΠΎΠ²ΠΈ. И Π² Π΄Π²Π°Ρ‚Π° случая искамС Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΠΌ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π½Π° стари възли ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° ΠΈΠ·Π³ΠΎΠ½ΠΈΠΌ всички Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ‚ тях. Π—Π° постиганС Π½Π° Ρ‚Π΅Π·ΠΈ Ρ†Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° kubectl drain.

ΠŸΡ€Π΅Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° всички ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ‚ възСл

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ‚Π° Π·Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π²Π°Π½Π΅ Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π΅Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ всички ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ‚ възСл. По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π²Π°Π½Π΅ Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π΅ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ ΠΊΠ°Ρ‚ΠΎ Π½Π΅ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ (Ρ„Π»Π°Π³ NoSchedule). Π’ΠΎΠ²Π° прСдотвратява появата Π½Π° Π½ΠΎΠ²ΠΈ ΡˆΡƒΡˆΡƒΠ»ΠΊΠΈ Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° drain Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΎΡ‚ възСла, ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° работят Π½Π° възСла, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° сигнал TERM ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² ΡˆΡƒΡˆΡƒΠ»ΠΊΠ°.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ kubectl drain Ρ‰Π΅ ΡΠ²ΡŠΡ€ΡˆΠΈ чудСсна Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΈ ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡˆΡƒΡˆΡƒΠ»ΠΊΠΈΡ‚Π΅, ΠΈΠΌΠ° Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ нСуспСх Π½Π° опСрацията ΠΏΠΎ ΠΈΠ·Ρ‚ΠΎΡ‡Π²Π°Π½Π΅:

  • Π’Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ трябва Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈ Π΅Π»Π΅Π³Π°Π½Ρ‚Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ TERM сигнал. ΠšΠΎΠ³Π°Ρ‚ΠΎ капсулитС са ΠΈΠ·Π³ΠΎΠ½Π΅Π½ΠΈ, Kubernetes ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° сигнал TERM ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π³ΠΈ ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° Π΄Π° спрат Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ, Π°ΠΊΠΎ Π½Π΅ са спрСли, Π³ΠΈ прСкратява ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ. Π’ΡŠΠ² всСки случай, Π°ΠΊΠΎ Π²Π°ΡˆΠΈΡΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π΅ Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ° сигнала ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, всС ΠΏΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Π°ΠΊΠΎ Ρ‚Π΅ работят Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, транзакция Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π΅ Π² Ρ…ΠΎΠ΄).
  • Π“ΡƒΠ±ΠΈΡ‚Π΅ всички ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. МоТС Π΄Π° Π½Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС стартират Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π½Π° Π½ΠΎΠ²ΠΈ възли ΠΈΠ»ΠΈ Π°ΠΊΠΎ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ са Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚ΠΈ Π±Π΅Π· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ, Ρ‚Π΅ ΠΌΠΎΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π΄Π° Π½Π΅ сС рСстартират.

ИзбягванС Π½Π° прСстой

Π—Π° Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° прСстой ΠΎΡ‚ Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ опСрация Π·Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π²Π°Π½Π΅ Π½Π° възСл, Kubernetes прСдоставя слСднитС ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΎΡ‚ΠΊΠ°Π·ΠΈ:

Π’ останалата част ΠΎΡ‚ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π°Ρ‚Π° Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° 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 ΠΈ извън Π½Π΅Π³ΠΎ, посСтСтС Gruntwork.io.

ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ статии Π² нашия Π±Π»ΠΎΠ³:

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€