Π’Ρ€ΠΈ Π½ΠΈΠ²Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ

Π’Ρ€ΠΈ Π½ΠΈΠ²Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ
Π—Π° Π΄Π° ΠΎΠ²Π»Π°Π΄Π΅Π΅Ρ‚Π΅ напълно Kubernetes, трябва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ рСсурси: спорСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° систСмата, Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ основнитС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Kubernetes. ΠŸΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ…ΠΌΠ΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ Π·Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ ΠΈ прСоразмСряванС Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ.

статия Kubernetes Autoscaling 101: Автоматично ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ, Π₯ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ ΠΈ Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ ΠΏΡ€Π΅Π²Π΅Π΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, която Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Kubernetes aaS ΠΎΡ‚ Mail.ru.

Π—Π°Ρ‰ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° мислим Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅

Kubernetes Π΅ инструмСнт Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ оркСстрация Π½Π° рСсурси. Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ…ΡƒΠ±Π°Π²ΠΎ Π΅ Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‚Π΅ със страхотнитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° внСдряванС, наблюдСниС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ (ΠΏΠΎΠ΄ Π΅ Π³Ρ€ΡƒΠΏΠ° ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π² ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° заявка).

Врябва ΠΎΠ±Π°Ρ‡Π΅ Π΄Π° помислитС ΠΈ Π²ΡŠΡ€Ρ…Ρƒ слСднитС Π²ΡŠΠΏΡ€ΠΎΡΠΈ:

  1. Как Π΄Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ прилоТСния?
  2. Как Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π² Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅?
  3. Как Π΄Π° Ρ€Π΅Π°Π³ΠΈΡ€Π°ΠΌΠ΅ Π½Π° постояннитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π° ΠΈ натоварванията ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅?

НастройванСто Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Kubernetes Π·Π° балансиранС Π½Π° рСсурситС ΠΈ производитСлността ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС слоТна Π·Π°Π΄Π°Ρ‡Π° ΠΈ изисква СкспСртни познания Π·Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Kubernetes. НатоварванСто Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ услуги ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π°Ρ€ΠΈΡ€Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅Π½ ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ час, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° мислитС Π·Π° балансиранСто ΠΊΠ°Ρ‚ΠΎ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ процСс.

Нива Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Kubernetes

Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ изисква координация ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π° слоя:

  1. Π‘Π»ΠΎΠΉ Π½Π° Π³Ρ€ΡƒΠΏΠ°, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π΅Π½ (Horizontal Pod Autoscaler, HPA) ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π΅Π½ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΌΠ°Ρ‰Π°Π±Π΅Ρ€ (Vertical Pod Autoscaler, VPA). Π’ΠΎΠ²Π° Π΅ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ рСсурси Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.
  2. Нивото Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС управлява ΠΎΡ‚ систСмата Cluster Autoscaler (CA), ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° ΠΈΠ»ΠΈ намалява броя Π½Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

Π₯ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π΅Π½ автоскалСр (HPA)

ΠšΠ°ΠΊΡ‚ΠΎ подсказва ΠΈΠΌΠ΅Ρ‚ΠΎ, HPA ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π° броя Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄. ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ devops ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° процСсора ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈ Π·Π° промяна Π½Π° броя Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΠΎΠ±Π°Ρ‡Π΅ систСмата Π΄Π° сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π° въз основа Π½Π° пСрсонализирани ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Ρ‚Π΅Ρ…Π΅Π½ ΡΡŠΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ външни ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.

Π‘Ρ…Π΅ΠΌΠ° Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° HPA:

  1. HPA Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ провСрява ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΈΡ‚Π΅ стойности, посочСни ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° инсталацията, Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ 30 сСкунди.
  2. HPA сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ броя Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅, Π°ΠΊΠΎ сС достигнС посочСният ΠΏΡ€Π°Π³.
  3. HPA Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° броя Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π·Π° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅/рСпликация.
  4. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π·Π° внСдряванС/рСпликация внСдрява всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

Π’Ρ€ΠΈ Π½ΠΈΠ²Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ
HPA задСйства процСса Π½Π° внСдряванС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС достигнС ΠΏΡ€Π°Π³ΡŠΡ‚ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅

Π˜ΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ слСдното, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ HPA:

  • Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΡŠΡ‚ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° HPA ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ 30 сСкунди. ΠŸΠΎΡΡ‚Π°Π²Ρ сС със Π·Π½Π°ΠΌΠ΅Ρ‚ΠΎ horizontal-pod-autoscaler-sync-period Π² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°.
  • ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»Π½Π°Ρ‚Π° Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ 10%.
  • Π‘Π»Π΅Π΄ послСдното ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° HPA ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π΄Π° сС стабилизират Π² ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€ΠΈ ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. Π’ΠΎΠ·ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» сС Π·Π°Π΄Π°Π²Π° ΠΎΡ‚ Ρ„Π»Π°Π³Π° horizontal-pod-autoscaler-upscale-delay.
  • Π‘Π»Π΅Π΄ послСдното намаляванС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° HPA ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° ΠΏΠ΅Ρ‚ ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, Π·Π° Π΄Π° сС стабилизира. Π’ΠΎΠ·ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» сС Π·Π°Π΄Π°Π²Π° ΠΎΡ‚ Ρ„Π»Π°Π³Π° horizontal-pod-autoscaler-downscale-delay.
  • HPA Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ с ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π·Π° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅, Π° Π½Π΅ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ Π·Π° рСпликация. Π₯ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π½Π΅ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎ с Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π°Ρ‚Π° актуализация, която Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° рСпликация. ΠŸΡ€ΠΈ внСдряванСто броят Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅ зависи пряко ΠΎΡ‚ ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π·Π° внСдряванС.

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° подс

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ (VPA) разпрСдСля ΠΏΠΎΠ²Π΅Ρ‡Π΅ (ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ) процСсорно Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΠΎ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ със ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΈΠ»ΠΈ Π±Π΅Π· ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π³Π»Π°Π²Π½ΠΎ Π·Π° услуги със ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ VPA Π·Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±Π΅Π· ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π°ΠΊΠΎ искатС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ количСството Π½Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ‚Π΅ рСсурси.

VPA ΡΡŠΡ‰ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€Π° Π½Π° OOM (ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ°Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, липса Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚) ΡΡŠΠ±ΠΈΡ‚ΠΈΡ. НСобходимо Π΅ рСстартиранС Π½Π° pods, Π·Π° Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ процСсорното Π²Ρ€Π΅ΠΌΠ΅ ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС рСстартира, VPA Π·Π°Ρ‡ΠΈΡ‚Π° Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° подс, ΠŸΠŸΠ‘), Π·Π° Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ нСобходимия Π±Ρ€ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ‚Π΅ ΠΈ максималнитС рСсурси Π·Π° всСки ΠΌΠΎΠ΄ΡƒΠ». Π’Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ максималното количСство Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Π΄ΠΎ Π»ΠΈΠΌΠΈΡ‚ ΠΎΡ‚ 8 GB. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π°ΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ възли ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° разпрСдСлят ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 8 GB ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΈ спСцификации ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° са описани Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° wiki Π½Π° VPA.

ОсвСн Ρ‚ΠΎΠ²Π° VPA ΠΈΠΌΠ° интСрСсна функция Π·Π° ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ (VPA Recommender). Π’ΠΎΠΉ слСди ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° рСсурситС ΠΈ OOM ΡΡŠΠ±ΠΈΡ‚ΠΈΡΡ‚Π° Π½Π° всички ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π·Π° Π΄Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈ Π½ΠΎΠ²ΠΈ стойности Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° процСсора въз основа Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° историчСски ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Има ΠΈ API, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ Π½Π° pod ΠΈ Π²Ρ€ΡŠΡ‰Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ стойности Π½Π° рСсурса.

Π‘Ρ‚Ρ€ΡƒΠ²Π° си Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ VPA Recommender Π½Π΅ слСди β€žΠ»ΠΈΠΌΠΈΡ‚Π°β€œ Π½Π° рСсурситС. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΊΠ°Ρ€Π° ΠΌΠΎΠ΄ΡƒΠ»Π° Π΄Π° ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡ€Π° рСсурситС Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅. По-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ пространство ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈΠ»ΠΈ процСсор.

VPA Ρ€Π°Π±ΠΎΡ‚Π΅Π½ процСс Π½Π° високо Π½ΠΈΠ²ΠΎ:

  1. VPA Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ провСрява ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΈΡ‚Π΅ стойности, посочСни ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° инсталацията, Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ 10 сСкунди.
  2. Ако зададСният ΠΏΡ€Π°Π³ бъдС достигнат, VPA сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ количСство рСсурси.
  3. VPA Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° броя Π½Π° рСсурситС Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π·Π° внСдряванС/рСпликация.
  4. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ сС рСстартират, всички Π½ΠΎΠ²ΠΈ рСсурси сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ към ΡΡŠΠ·Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ СкзСмпляри.

Π’Ρ€ΠΈ Π½ΠΈΠ²Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ
VPA добавя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡ‚ΠΎ количСство рСсурси

Π˜ΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ слСднитС Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ VPA:

  • ΠœΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ изисква Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ рСстартиранС Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π°. Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ нСстабилна Ρ€Π°Π±ΠΎΡ‚Π° слСд ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Π—Π° надСТдност ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ сС рСстартират ΠΈ разпрСдСлят ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ въз основа Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ рСсурси.
  • VPA ΠΈ HPA всС ΠΎΡ‰Π΅ Π½Π΅ са ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΈ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Ако ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΈ Π΄Π²Π°Ρ‚Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€, ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ настройкитС Π½Π΅ позволяват Ρ‚Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ.
  • VPA Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π° заявкитС Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π·Π° рСсурси въз основа само Π½Π° ΠΌΠΈΠ½Π°Π»ΠΎ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° рСсурси. НС поставя ограничСния Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° рСсурси. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ Π΄Π° ΠΎΡ‚Π½Π΅ΠΌΠ°Ρ‚ всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси, Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π½Π°ΠΊΠ°Ρ€Π° Kubernetes Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄.
  • VPA всС ΠΎΡ‰Π΅ Π΅ Π² Ρ€Π°Π½Π΅Π½ Π΅Ρ‚Π°ΠΏ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. Π‘ΡŠΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΈ, Ρ‡Π΅ систСмата ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Ρ‚ΡŠΡ€ΠΏΠΈ някои ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡŠΠ΄Π΅Ρ‰Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π·Π° извСстни ограничСния ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. И Ρ‚Π°ΠΊΠ°, ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ са Π΄Π° сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° VPA ΠΈ HPA, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ внСдряванСто Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π°Π΅Π΄Π½ΠΎ с ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π·Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π·Π° тях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ спСциалСн Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ β€žΠΈΠ·ΠΈΡΠΊΠ²Π° VPAβ€œ).

Автоматично ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€

Cluster Autoscaler (CA) промСня броя Π½Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ въз основа Π½Π° броя Π½Π° Ρ‡Π°ΠΊΠ°Ρ‰ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅. БистСмата ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ провСрява Π·Π° Ρ‡Π°ΠΊΠ°Ρ‰ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ - ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, Π°ΠΊΠΎ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси ΠΈ Π°ΠΊΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΡŠΡ‚ Π½Π΅ Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»Ρ установСнитС ограничСния. CA взаимодСйства с доставчика Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Π° услуга, иска Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ възли ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΈΠ»ΠΈ освобоТдава Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ. ΠŸΡŠΡ€Π²Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Π° вСрсия Π½Π° CA бСшС прСдставСна Π² Kubernetes 1.8.

Π Π°Π±ΠΎΡ‚Π΅Π½ процСс Π½Π° CA Π½Π° високо Π½ΠΈΠ²ΠΎ:

  1. CA провСрява Π·Π° Ρ‡Π°ΠΊΠ°Ρ‰ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ 10 сСкунди.
  2. Ако Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ са Π² Ρ‡Π°ΠΊΠ°Ρ‰ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΡŠΡ‚ няма Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π½Π°Π»ΠΈΡ‡Π½ΠΈ рСсурси, Π·Π° Π΄Π° Π³ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΠΈ, Ρ‚ΠΎΠΉ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° осигури Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ възли.
  3. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄ΠΎΡΡ‚Π°Π²Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° ΠΎΠ±Π»Π°ΠΊ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΠΈ нСобходимия възСл, Ρ‚ΠΎΠΉ сС ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΡΠ²Π° към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΈ Π΅ Π³ΠΎΡ‚ΠΎΠ² Π΄Π° обслуТва ΠΏΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅.
  4. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° Kubernetes разпрСдСля Ρ‡Π°ΠΊΠ°Ρ‰ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ към новия възСл. Ако слСд Ρ‚ΠΎΠ²Π° някои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ всС ΠΎΡ‰Π΅ останат Π² Ρ‡Π°ΠΊΠ°Ρ‰ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ сС повтаря - ΠΈ към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° сС добавят Π½ΠΎΠ²ΠΈ възли.

Π’Ρ€ΠΈ Π½ΠΈΠ²Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ
Автоматично осигуряванС Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ възли Π² ΠΎΠ±Π»Π°ΠΊΠ°

Π˜ΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ слСдното, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ CA:

  • CA Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ всички ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΈΠΌΠ°Ρ‚ място Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°, нСзависимо ΠΎΡ‚ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° процСсора. Π’ допълнСниС, Ρ‚ΠΎΠΉ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ няма Π½Π΅Π½ΡƒΠΆΠ½ΠΈ възли Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.
  • CA рСгистрира нСобходимостта ΠΎΡ‚ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ слСд ΠΎΠΊΠΎΠ»ΠΎ 30 сСкунди.
  • Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½ възСл станС излишСн, CA ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π° систСмата.
  • БистСмата Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ ΠΈΠΌΠ° концСпцията Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΠΈ. Π’ΠΎΠ²Π° са Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стратСгии Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π³Ρ€ΡƒΠΏΠ° възли, към ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ сС добавят Π½ΠΎΠ²ΠΈ.
  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ опцията ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΎ cluster-autoscaler.kubernetes.io/safe-to-evict (true). Ако инсталиратС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ тях са Ρ€Π°Π·ΠΏΡ€ΡŠΡΠ½Π°Ρ‚ΠΈ във всички възли, Π΄ΠΎ голяма стСпСн Ρ‰Π΅ Π·Π°Π³ΡƒΠ±ΠΈΡ‚Π΅ способността Π΄Π° намаляватС ΠΌΠ°Ρ‰Π°Π±Π° Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.
  • ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° PodDisruptionBudgetsΠ·Π° Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ пълСн срив Π½Π° част ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π²ΠΈ.

Как систСмитС Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Kubernetes взаимодСйстват Π΅Π΄Π½Π° с Π΄Ρ€ΡƒΠ³Π°

Π—Π° ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½Π° хармония Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ трябва Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° Π½ΠΈΠ²ΠΎ Π³Ρ€ΡƒΠΏΠ° (HPA/VPA), Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€. Π’Π΅ са относитСлно лСсни Π·Π° взаимодСйствиС ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си:

  1. HPA ΠΈΠ»ΠΈ VPA Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° pod ΠΈΠ»ΠΈ рСсурси, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ към ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ pod.
  2. Ако няма Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ възли Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎ, CA забСлязва, Ρ‡Π΅ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π² Ρ‡Π°ΠΊΠ°Ρ‰ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.
  3. CA разпрСдСля Π½ΠΎΠ²ΠΈ възли.
  4. ΠœΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ сС разпрСдСлят към Π½ΠΎΠ²ΠΈ възли.

Π’Ρ€ΠΈ Π½ΠΈΠ²Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π² Kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ
Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° систСма Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Kubernetes

ЧСсто срСщани Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Kubernetes

Има няколко чСсто срСщани ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, с ΠΊΠΎΠΈΡ‚ΠΎ devops сС сблъсква, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅.

HPA ΠΈ VPA зависят ΠΎΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ някои историчСски Π΄Π°Π½Π½ΠΈ. Ако Π½Π΅ Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ рСсурси, ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ свити ΠΈ няма Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Π’ Ρ‚ΠΎΠ·ΠΈ случай Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½ΠΈΠΊΠΎΠ³Π° няма Π΄Π° сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΈ.

Π‘Π°ΠΌΠ°Ρ‚Π° опСрация ΠΏΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π΅ чувствитСлна към Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. ИскамС ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΡŠΡ‚ Π΄Π° сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Ρ‚ Π±ΡŠΡ€Π·ΠΎ, ΠΏΡ€Π΅Π΄ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Ρ‚ някакви ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ трябва Π΄Π° сС Π²Π·Π΅ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ срСдното Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€.

ИдСалСн сцСнарий - 4 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ:

  1. 30 сСкунди. АктуализиранС Π½Π° Ρ†Π΅Π»Π΅Π²ΠΈΡ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ: 30-60 сСкунди.
  2. 30 сСкунди. HPA провСрява ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΈΡ‚Π΅ стойности: 30 сСкунди.
  3. По-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 2 сСкунди. ΠŸΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ са създадСни ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅: 1 сСкунда.
  4. По-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 2 сСкунди. CA Π²ΠΈΠΆΠ΄Π° Ρ‡Π°ΠΊΠ°Ρ‰ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° повиквания Π΄ΠΎ възли Π·Π° прСдоставянС: 1 сСкунда.
  5. 3 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. Π”ΠΎΡΡ‚Π°Π²Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° ΠΎΠ±Π»Π°ΠΊ разпрСдСля възли. K8 ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Ρ‚, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ са Π³ΠΎΡ‚ΠΎΠ²ΠΈ: Π΄ΠΎ 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ (зависи ΠΎΡ‚ няколко Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°).

Най-лош (ΠΏΠΎ-рСалистичСн) сцСнарий - 12 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ:

  1. 30 сСкунди. АктуализирайтС Ρ†Π΅Π»Π΅Π²ΠΈΡ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.
  2. 30 сСкунди. HPA провСрява ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΈΡ‚Π΅ стойности.
  3. По-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 2 сСкунди. ΠŸΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ са създадСни ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ към Ρ‡Π°ΠΊΠ°Ρ‰ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.
  4. По-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 2 сСкунди. CA Π²ΠΈΠΆΠ΄Π° Ρ‡Π°ΠΊΠ°Ρ‰ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° повиквания Π·Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° възли.
  5. 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. Π”ΠΎΡΡ‚Π°Π²Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° ΠΎΠ±Π»Π°ΠΊ разпрСдСля възли. K8 Ρ‡Π°ΠΊΠ°Ρ‚ Π΄ΠΎΠΊΠ°Ρ‚ΠΎ станат Π³ΠΎΡ‚ΠΎΠ²ΠΈ. Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ зависи ΠΎΡ‚ няколко Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°, ΠΊΠ°Ρ‚ΠΎ латСнтност Π½Π° доставчика, латСнтност Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° инструмСнта Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°.

НС Π±ΡŠΡ€ΠΊΠ°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ доставчици с нашия CA. ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Kubernetes, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π½Π° доставчика Π½Π° ΠΎΠ±Π»Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ въз основа Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° възли. Π’ΠΎΠΉ Π½Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случва с Π²Π°ΡˆΠΈΡ‚Π΅ капсули ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π΅Π·ΠΈ систСми работят ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ.

Как Π΄Π° управляватС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² Kubernetes

  1. Kubernetes Π΅ инструмСнт Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ оркСстрация Π½Π° рСсурси. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ рСсурси са ΠΊΠ»ΡŽΡ‡ΠΎΠ² ΠΊΡ€Π°ΠΉΡŠΠ³ΡŠΠ»Π΅Π½ камък Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Kubernetes.
  2. НаучСтС Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π·Π°Π΄ скалируСмостта Π½Π° ΠΏΠΎΠ΄ с HPA ΠΈ VPA.
  3. CA трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само Π°ΠΊΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ Π΄ΠΎΠ±Ρ€Π΅ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ капсули ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.
  4. Π—Π° Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ настройката Π½Π° вашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€, трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ систСми Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ работят Π·Π°Π΅Π΄Π½ΠΎ.
  5. ΠšΠΎΠ³Π°Ρ‚ΠΎ оцСняватС Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π½Π°ΠΉ-лошия ΠΈ Π½Π°ΠΉ-добрия сцСнарии.

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

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