Книга «Kubernetes за DevOps»

Книга Β«Kubernetes Π·Π° DevOpsΒ» Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅, Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ! Kubernetes Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ‚Π° ΠΎΠ±Π»Π°Ρ‡Π½Π° СкосистСма. Π’Π°Π·ΠΈ тСхнология осигурява надСТдност, мащабируСмост ΠΈ устойчивост Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Π°Ρ‚Π° виртуализация. Π”ΠΆΠΎΠ½ АрундСл ΠΈ Π”ΠΆΡŠΡΡ‚ΠΈΠ½ Домингус Ρ€Π°Π·ΠΊΠ°Π·Π²Π°Ρ‚ Π·Π° СкосистСмата Kubernetes ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ с ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π‘Ρ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ° Ρ‰Π΅ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ собствСно ΠΎΠ±Π»Π°Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ‰Π΅ ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ инфраструктура Π·Π° Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, Ρ‰Π΅ настроитС срСда Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈ Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π²ΡŠΡ€Ρ…Ρƒ слСдващитС прилоТСния.

β€’ Π©Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Kubernetes ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°: Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ спСциално ΠΎΠΏΠΈΡ‚ Π·Π° ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π°. β€’ Π©Π΅ стартиратС собствСни ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ Ρ‰Π΅ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ управлявана услуга Kubernetes ΠΎΡ‚ Amazon, Google ΠΈ Π΄Ρ€. β€’ Π©Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Kubernetes Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ТизнСния Ρ†ΠΈΠΊΡŠΠ» Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄Π° Π½Π° рСсурси. β€’ Π©Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΊΠ°Ρ‚ΠΎ Ρ†Π΅Π½Π°, производитСлност, устойчивост, мощност ΠΈ мащабируСмост. β€’ Π©Π΅ ΠΏΡ€ΠΎΡƒΡ‡ΠΈΡ‚Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, тСстванС ΠΈ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ прилоТСния. β€’ Π©Π΅ сС Π²ΡŠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ индустриални ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° осигуряванС Π½Π° бСзопасност ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ». β€’ Π©Π΅ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° DevOps Π² компанията, Π·Π° Π΄Π° Π½Π°ΠΊΠ°Ρ€Π°Ρ‚Π΅ Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° дСйстват ΠΏΠΎ-гъвкаво, Π±ΡŠΡ€Π·ΠΎ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ.

Π—Π° ΠΊΠΎΠ³ΠΎ Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΊΠ½ΠΈΠ³Π°Ρ‚Π°

ΠšΠ½ΠΈΠ³Π°Ρ‚Π° Π΅ Π½Π°ΠΉ-Π°ΠΊΡ‚ΡƒΠ°Π»Π½Π° Π·Π° слуТитСлитС Π½Π° администраторскитС ΠΎΡ‚Π΄Π΅Π»ΠΈ, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅, прилоТСнията ΠΈ услугитС, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‰ΠΈ сС ΠΈΠ»ΠΈ с ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ услуги, ΠΈΠ»ΠΈ с миграция Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ прилоТСния Π² Kubernetes ΠΈ ΠΎΠ±Π»Π°ΠΊΠ°. НС сС притСснявайтС, Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Kubernetes ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ β€” всичко Ρ‰Π΅ Π²ΠΈ Π½Π°ΡƒΡ‡ΠΈΠΌ.

ΠžΠΏΠΈΡ‚Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Kubernetes ΡΡŠΡ‰ΠΎ Ρ‰Π΅ намСрят ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° информация: Ρ‚ΡƒΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ Ρ‚Π΅ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ RBAC, Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚. НадявамС сС, Ρ‡Π΅ Π½Π° страницитС Π½Π° ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° Ρ‰Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ интСрСсно ΠΈ Π·Π° вас, нСзависимо ΠΎΡ‚ Π²Π°ΡˆΠΈΡ‚Π΅ умСния ΠΈ ΠΎΠΏΠΈΡ‚.

На ΠΊΠ°ΠΊΠ²ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ отговаря ΠΊΠ½ΠΈΠ³Π°Ρ‚Π°

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ писанСто Π½Π° ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° ΠΎΠ±ΡΡŠΠ΄ΠΈΡ…ΠΌΠ΅ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Kubernetes с hunds ΠΎΡ‚ Ρ…ΠΎΡ€Π°, Π³ΠΎΠ²ΠΎΡ€Π΅ΠΉΠΊΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ с Π»ΠΈΠ΄Π΅Ρ€ΠΈ ΠΈ СкспСрти Π² Π±Ρ€Π°Π½ΡˆΠ°, Ρ‚Π°ΠΊΠ° ΠΈ с Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ. По-Π΄ΠΎΠ»Ρƒ са ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚Π΅ Π±ΠΈΡ…Π° искали Π΄Π° видят ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ Π² Ρ‚ΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.

  • Β«Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΠΌΠΈ Π΅ Π·Π°Ρ‰ΠΎ трябва Π΄Π° отдСлям Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ‚Π°Π·ΠΈ тСхнология. Какви ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Ρ‰Π΅ ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Ρ€Π΅ΡˆΠ° Π½Π° ΠΌΠ΅Π½ ΠΈ Π΅ΠΊΠΈΠΏΠ° ΠΌΠΈ?Β»
  • Β«Kubernetes ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° интСрСсно, Π½ΠΎ с доста висок ΠΏΡ€Π°Π³ Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅. ЛСсно Π΅ Π΄Π° сС ΠΏΡ€ΠΈΠ³ΠΎΡ‚Π²ΠΈ прост ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΎΡ‚ΠΎ администриранС ΠΈ отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ плаши. Π‘ΠΈΡ…ΠΌΠ΅ искали Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΡΡŠΠ²Π΅Ρ‚ΠΈ относно Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Ρ…ΠΎΡ€Π°Ρ‚Π° управляват Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ Π² Ρ€Π΅Π°Π»Π½ΠΈ условия ΠΈ с ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ вСроятно Ρ‰Π΅ сС сблъскамС.Β»
  • «ПолСзСн Π±ΠΈ Π±ΠΈΠ» субСктивСн ΡΡŠΠ²Π΅Ρ‚. ЕкосистСмата Π½Π° Kubernetes ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈΡ‚Π΅ Π΅ΠΊΠΈΠΏΠΈ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ€. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎ няколко Π½Π°Ρ‡ΠΈΠ½Π°, ΠΊΠ°ΠΊ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° ΠΊΠΎΠΉ ΠΎΡ‚ тях Π΅ Π½Π°ΠΉ-добрият? Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΠ·Π±ΠΎΡ€Π°?Β»

И вСроятно Π½Π°ΠΉ-ваТният ΠΎΡ‚ всички Π²ΡŠΠΏΡ€ΠΎΡΠΈ:

  • «Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Kubernetes, Π±Π΅Π· Π΄Π° Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° компанията ΠΌΠΈ?Β»

Извадка. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΈ сСкрСтни ΠΎΠ±Π΅ΠΊΡ‚ΠΈ

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Kubernetes ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° конфигурация (Ρ‚.Π΅. ΠΎΡ‚ всякакви стойности ΠΈΠ»ΠΈ настройки, ΠΊΠΎΠΈΡ‚ΠΎ с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС промСнят) Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°. Към ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ стойности ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС отнасят ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° срСда, DNS адрСси Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни ΠΈ удостовСритСлни Π΄Π°Π½Π½ΠΈ Π·Π° автСнтикация.

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

Kubernetes прСдоставя няколко Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията. ΠŸΡŠΡ€Π²ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚Π΅ стойности Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата, посочСни Π² спСцификацията Π½Π° pod-ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° (Π²ΠΆ. ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π° β€žΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡ€Π΅Π΄Π°Ρ‚Π°β€œ Π½Π° стр. 192). Π’Ρ‚ΠΎΡ€ΠΎ, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² Kubernetes, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ConfigMap ΠΈ Secret.

Π’ Ρ‚Π°Π·ΠΈ Π³Π»Π°Π²Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ изслСдвамС Ρ‚Π΅Π·ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ някои практичСски ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· дСмонстрационно ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

АктуализиранС Π½Π° pod-ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ ΠΏΡ€ΠΈ промяна Π½Π° конфигурацията

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Ρ‚Π΅ си, Ρ‡Π΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Π²ΠΈ ΠΈΠΌΠ° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ ΠΈ искатС Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ някои стойности Π² нСговия ConfigMap. Ако ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Helm Ρ‡Π°Ρ€Ρ‚ (Π²ΠΈΠΆΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»Π° β€žHelm: ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° Kubernetesβ€œ Π½Π° стр. 102), ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅Ρ‚Π΅ промяната Π² конфигурацията ΠΈ Π΄Π° ΠΏΡ€Π΅Π·Π°Ρ€Π΅Π΄ΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΡ‚Π΅ pod-ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΅Π΄ΠΈΠ½ Π΅Π»Π΅Π³Π°Π½Ρ‚Π΅Π½ Ρ‚Ρ€ΠΈΠΊ. Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ слСдната анотация Π² спСцификацията Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅:

checksum/config: {{ include (print $.Template.BasePath "\/configmap.yaml") .
       | sha256sum }}

Π‘Π΅Π³Π° ΡˆΠ°Π±Π»ΠΎΠ½ΡŠΡ‚ Π½Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° сума Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ: ΠΏΡ€ΠΈ промяна Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ сумата Ρ‰Π΅ сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°. Ако ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° helm upgrade, Helm Ρ‰Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΠ΅, Ρ‡Π΅ спСцификацията Π½Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»Π° ΠΈ Ρ‰Π΅ рСстартира всички pod-ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ.

ΠšΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² Kubernetes

Π’Π΅Ρ‡Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΡŠΡ‚ ConfigMap прСдоставя гъвкав ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Но ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ прилоТСния ΠΈΠΌΠ°Ρ‚ информация, която Π΅ сСкрСтна ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π°: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈΠ»ΠΈ API-ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅. Вя ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΡΡŠΡ…Ρ€Π°Π½Π΅Π½Π° ΠΈ Π² ConfigMap, Π½ΠΎ Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΅ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ.

ВмСсто Ρ‚ΠΎΠ²Π° Kubernetes ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΎΠ±Π΅ΠΊΡ‚ ΠΎΡ‚ спСциалСн Ρ‚ΠΈΠΏ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ: Secret. По-Π΄ΠΎΠ»Ρƒ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ·ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ дСмонстрационно ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡŠΡ€Π²ΠΎ, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ манифСста Π½Π° Kubernetes Π·Π° ΠΎΠ±Π΅ΠΊΡ‚Π° Secret (Π²ΠΈΠΆΡ‚Π΅ hello-secret-env/k8s/secret.yaml):

apiVersion: v1
kind: Secret
metadata:
    name: demo-secret
stringData:
    magicWord: xyzzy

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ тайният ΠΊΠ»ΡŽΡ‡ magicWord ΠΈΠΌΠ° стойност xyzzy (en.wikipedia.org/wiki/Xyzzy_(computing)). Π”ΡƒΠΌΠ°Ρ‚Π° xyzzy Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² свСта Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈΡ‚Π΅. Подобно Π½Π° ConfigMap, Π² ΠΎΠ±Π΅ΠΊΡ‚Π° Secret ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ мноТСство ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ стойности. Π’ΡƒΠΊ Π·Π° простота ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ само Π΅Π΄Π½Π° Π΄Π²ΠΎΠΉΠΊΠ° β€žΠΊΠ»ΡŽΡ‡ β€” ΡΡ‚ΠΎΠΉΠ½ΠΎΡΡ‚β€œ.

ИзползванС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Secret ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата

ΠšΠ°ΠΊΡ‚ΠΎ ΠΈ ConfigMap, ΠΎΠ±Π΅ΠΊΡ‚ΡŠΡ‚ Secret ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» Π½Π° нСговия диск. Π’ слСдващия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‰Π΅ присвоим стойността ΠΎΡ‚ Secret Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° срСдата:

spec:
   containers:
       - name: demo
          image: cloudnatived/demo:hello-secret-env
          ports:
             - containerPort: 8888
          env:
             - name: GREETING
               valueFrom:
               secretKeyRef:
                  name: demo-secret
                  key: magicWord

Π˜Π·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² рСпозитория demo, Π·Π° Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ манифСститС:

kubectl apply -f hello-secret-env/k8s/
deployment.extensions "demo" configured
secret "demo-secret" created

ΠšΠ°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ, прСнасочСтС локалния ΠΏΠΎΡ€Ρ‚ към Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° си:

kubectl port-forward deploy/demo 9999:8888
Forwarding from 127.0.0.1:9999 -> 8888
Forwarding from [::1]:9999 -> 8888

ΠŸΡ€ΠΈ отварянС Π½Π° адрСса localhost:9999/ трябва Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ слСдното:

Π’ΡŠΠ»ΡˆΠ΅Π±Π½Π°Ρ‚Π° Π΄ΡƒΠΌΠ° Π΅ "xyzzy"

ЗаписванС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‰Π΅ ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ ΠΎΠ±Π΅ΠΊΡ‚ Secret с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΊΠ°Ρ‚ΠΎ Ρ„Π°ΠΉΠ». ΠšΠΎΠ΄ΡŠΡ‚ сС Π½Π°ΠΌΠΈΡ€Π° Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° hello-secret-file Π½Π° рСпозитория demo.

Π—Π° Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ Secret ΠΊΠ°Ρ‚ΠΎ Ρ„Π°ΠΉΠ», Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ слСдното Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅:

spec:
   containers:
       - name: demo
          image: cloudnatived/demo:hello-secret-file
          ports:
              - containerPort: 8888
          volumeMounts:
              - name: demo-secret-volume
                mountPath: "/secrets/"
                readOnly: true
   volumes:
      - name: demo-secret-volume
        secret:
           secretName: demo-secret

ΠšΠ°ΠΊΡ‚ΠΎ Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π° "БъздаванС Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ConfigMap" Π½Π° стр. 240, създавамС Ρ‚ΠΎΠΌ (Π² Ρ‚ΠΎΠ·ΠΈ случай Ρ‚ΠΎΠ²Π° Π΅ demo-secret-volume) ΠΈ Π³ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² Ρ€Π°Π·Π΄Π΅Π»Π° Π·Π° спСцификации volumeMounts. Π’ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ mountPath Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ /secrets, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Kubernetes Ρ‰Π΅ създадС Π² Ρ‚Π°Π·ΠΈ ΠΏΠ°ΠΏΠΊΠ° ΠΏΠΎ Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» Π·Π° всяка Π΄Π²ΠΎΠΉΠΊΠ° "ΠΊΠ»ΡŽΡ‡ - стойност", ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² ΠΎΠ±Π΅ΠΊΡ‚Π° Secret.

Π’ нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ…ΠΌΠ΅ само Π΅Π΄Π½Π° Π΄Π²ΠΎΠΉΠΊΠ° "ΠΊΠ»ΡŽΡ‡ - стойност" с ΠΈΠΌΠ΅Ρ‚ΠΎ magicWord, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠ°Π½ΠΈΡ„Π΅ΡΡ‚ΡŠΡ‚ Ρ‰Π΅ създадС Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» /secrets/magicWord със Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅.

Ако ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Ρ‚ΠΎΠ·ΠΈ манифСст ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠ°ΠΊΡ‚ΠΎ Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΡŠΡ‰ΠΈΡ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚:

Π’ΡŠΠ»ΡˆΠ΅Π±Π½Π°Ρ‚Π° Π΄ΡƒΠΌΠ° Π΅ "xyzzy"

Π§Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret

Π’ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Ρ€Π°Π·Π΄Π΅Π» ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° kubectl describe, Π·Π° Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ConfigMap. МоТС Π»ΠΈ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΡΡŠΡ‰ΠΎΡ‚ΠΎ с Secret?

kubectl describe secret/demo-secret
Name:          demo-secret

Namespace:      default
Labels:             
Annotations:
Type:               Opaque

Data
====
magicWord: 5   bytes

ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ самитС Π΄Π°Π½Π½ΠΈ Π½Π΅ сС ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚. ΠžΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Secret Π² Kubernetes ΠΈΠΌΠ°Ρ‚ Ρ‚ΠΈΠΏ Opaque: Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠΌ Π½Π΅ сС ΠΏΠΎΠΊΠ°Π·Π²Π° Π² ΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° kubectl describe, ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ‚Π΅ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π·Π° Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈ случайно Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π° информация.

Π—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π° вСрсия Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ YAML, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° kubectl get:

kubectl get secret/demo-secret -o yaml
apiVersion: v1
data:
   magicWord: eHl6enk=
kind: Secret
metadata:
...
type: Opaque

base64

Какво Π΅ eHl6enk=, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π° Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π° стойност? Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, Ρ‚ΠΎΠ²Π° Π΅ ΠΎΠ±Π΅ΠΊΡ‚ Secret, прСдставСн Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° base64. Base64 Π΅ схСма Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π½ΠΈΠ· ΠΎΡ‚ символи.

Въй ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π°Ρ‚Π° информация ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π±ΠΈΠ½Π°Ρ€Π½Π° ΠΈ Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ (ΠΊΠ°ΠΊΡ‚ΠΎ Π² случая с ΠΊΠ»ΡŽΡ‡Π° Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ TLS), ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Secret Π²ΠΈΠ½Π°Π³ΠΈ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ base64.

Π’Π΅ΠΊΡΡ‚ΡŠΡ‚ beHl6enk= Π΅ вСрсия Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ‚Π°ΠΉΠ½ΠΎ слово xyzzy, ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π° Π² base64. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π² Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° base64 β€”decode:

echo "eHl6enk=" | base64 --decode
xyzzy

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Kubernetes Π²ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ‚ случайно ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ‚Π΅, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²Π° Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° пространство, Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ base64 ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ.

Ако трябва Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Ρ‚Π΅ тСкст Π² base64 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° Π³ΠΎ поставитС Π² Secret), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° base64 Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ:

echo xyzzy | base64
eHl6enkK

Π”ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret

Кой ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ‡Π΅Ρ‚Π΅ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret? Π’ΠΎΠ²Π° сС опрСдСля ΠΎΡ‚ RBAC β€” ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ‰Π΅ Π³ΠΎ обсъдим Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π° 'Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Ρ€ΠΎΠ»ΠΈ' Π½Π° с. 258). Ако ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€, Π² ΠΊΠΎΠΉΡ‚ΠΎ систСмата RBAC липсва ΠΈΠ»ΠΈ Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, всички ваши ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret са Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° всички ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ (ΠΏΠΎ-късно Ρ‰Π΅ обясним, Ρ‡Π΅ Π½Π΅ Π±ΠΈ трябвало Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π½ΠΈΡ‚ΠΎ Π΅Π΄ΠΈΠ½ производствСн ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π±Π΅Π· RBAC).

Пасивно ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ

А ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ etcd, Π² която Kubernetes ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° цялата си информация? ΠœΠΎΠ³Π°Ρ‚ Π»ΠΈ Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° ΠΈΠΌΠ°Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret Ρ‡Ρ€Π΅Π· API?

Π‘ вСрсия 1.7 Kubernetes ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° пасивно ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π°Ρ‚Π° информация Π² etcd сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π½Π° диска Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ Π²ΠΈΠ΄ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½Π° Π΄ΠΎΡ€ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ пряк Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π—Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° СдинствСно Π½Π° API ΡΡŠΡ€Π²ΡŠΡ€Π° Π½Π° Kubernetes. Π’ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ пасивното ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ трябва Π΄Π° бъдС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ пасивното ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ във вашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

kubectl describe pod -n kube-system -l component=kube-apiserver |grep encryption
        --experimental-encryption-provider-config=...

Ако Π½Π΅ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅ Ρ„Π»Π°Π³Π° experimental-encryption-provider-config, пасивното ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ. ΠŸΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Google Kubernetes Engine ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ услуги Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Kubernetes Π²Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ сС ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Ρ‚ с Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ, Π·Π°Ρ‚ΠΎΠ²Π° Ρ„Π»Π°Π³ΡŠΡ‚ Ρ‰Π΅ липсва. ΠŸΠΎΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ вашия доставчик Π½Π° Kubernetes Π΄Π°Π»ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° etcd Π΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΎ.

Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ

Има рСсурси Π² Kubernetes, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½ΠΈ ΠΎΡ‚ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, особСно Π²Π°ΠΆΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚Π΅ рСсурса ΠΎΡ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° анотация, прСдоставСна ΠΎΡ‚ Helm ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π°:

kind: Secret
metadata:
    annotations:
        "helm.sh/resource-policy": keep

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Secret

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Ρ€Π°Π·Π΄Π΅Π» ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ бяха Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ ΠΎΡ‚ Π½Π΅ΡƒΠΏΡŠΠ»Π½ΠΎΠΌΠΎΡ‰Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π²Π΅Π΄Π½Π°Π³Π° слСд ΠΊΠ°Ρ‚ΠΎ бяха ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Но Π² манифСст Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Ρ‚Π΅ бяха ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ тСкст.

Никога Π½Π΅ трябва Π΄Π° поставятС ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π° информация Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са Π² систСма Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС. Как Π΄Π° администриратС ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠ°Π²Π° информация бСзопасно, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° я ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Kubernetes?

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΈΡ‚ΠΎ ΠΈ Π΄Π° Π΅ инструмСнти ΠΈΠ»ΠΈ стратСгии Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ във Π²Π°ΡˆΠΈΡ‚Π΅ прилоТСния, Π½ΠΎ всС ΠΏΠ°ΠΊ Ρ‰Π΅ трябва Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠ½Π΅ Π½Π° слСднитС Π²ΡŠΠΏΡ€ΠΎΡΠΈ.

  • КъдС Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ с висока наличност?
  • Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ прилоТСния?
  • Какво трябва Π΄Π° сС случи с Π²Π°ΡˆΠΈΡ‚Π΅ прилоТСния, ΠΊΠΎΠ³Π°Ρ‚ΠΎ замСнятС ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ?

Π—Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅

Π”ΠΆΠΎΠ½ АрундСл Π΅ консултант с 30 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΎΠΏΠΈΡ‚ Π² ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½Π°Ρ‚Π° индустрия. Π’ΠΎΠΉ Π΅ написал няколко ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ страни, консултирайтС Π³ΠΈ относно ΠΎΠ±Π»Π°Ρ‡Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° инфраструктура ΠΈ Kubernetes. Π’ свободното си Π²Ρ€Π΅ΠΌΠ΅ ΠΎΠ±ΠΈΡ‡Π° Π΄Π° сС ΡΡŠΡ€Ρ„ΠΈΡ€Π°, стрСля Π΄ΠΎΠ±Ρ€Π΅ с пистолСт ΠΈ свири Π½Π° ΠΏΠΈΠ°Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ Π°ΠΌΠ°Ρ‚ΡŒΠΎΡ€. Π–ΠΈΠ²Π΅Π΅ Π² ΠΏΡ€ΠΈΠΊΠ°Π·Π½Π° Π²ΠΈΠ»Π° Π² ΠšΠΎΡ€Π½ΡƒΠΎΠ», Англия.

Π”ΠΆΡŠΡΡ‚ΠΈΠ½ Π”ΠΎΠΌΠΈΠ½Π³ΠΎ Π΅ систСмСн администратор, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π² срСда Π½Π° DevOps с Kubernetes ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π₯арСсва ΠΌΡƒ Π΄Π° ΠΏΡ€Π΅ΠΊΠ°Ρ€Π²Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΎ, Π΄Π° ΠΏΠΈΠ΅ ΠΊΠ°Ρ„Π΅, Π΄Π° Π»ΠΎΠ²ΡƒΠ²Π° Ρ€Π°Ρ†ΠΈ ΠΈ Π΄Π° сСди ΠΏΡ€Π΅Π΄ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π°. Π–ΠΈΠ²Π΅Π΅ Π² Π‘ΠΈΠ°Ρ‚ΡŠΠ», Π’Π°ΡˆΠΈΠ½Π³Ρ‚ΠΎΠ½, Π·Π°Π΅Π΄Π½ΠΎ с прСкрасСн ΠΊΠΎΡ‚Π°Ρ€Π°ΠΊ ΠΈ ΠΎΡ‰Π΅ ΠΏΠΎ-прСкрасна ΡΡŠΠΏΡ€ΡƒΠ³Π°, която Π΅ ΠΈ нСговият Π½Π°ΠΉ-Π΄ΠΎΠ±ΡŠΡ€ приятСл АдриСн.

Β» По-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ с ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ Π½Π° сайта Π½Π° издатСля
Β» Π‘ΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅
» Извадка

Π—Π° Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΊΠ° ΠΎΡ‚ 25% с Π²Π°ΡƒΡ‡Π΅Ρ€Π° β€” Kubernetes

Π‘Π»Π΅Π΄ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½Π°Ρ‚Π° вСрсия Π½Π° ΠΊΠ½ΠΈΠ³Π°Ρ‚Π°, Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Ρ‰Π΅ бъдС ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½Π° Π½Π° ΠΈΠΌΠ΅ΠΉΠ»Π° Π²ΠΈ.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster