МоТС Π΄Π° Π½Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ Kubernetes

МоТС Π΄Π° Π½Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ Kubernetes
ΠœΠΎΠΌΠΈΡ‡Π΅ Π½Π° скутСр. Π˜Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ Freepik, Π»ΠΎΠ³ΠΎ Π½Π° Nomad ΠΎΡ‚ Hashi Corp

Kubernetes Π΅ 300-ΠΊΠΈΠ»ΠΎΠ³Ρ€Π°ΠΌΠΎΠ²Π°Ρ‚Π° Π³ΠΎΡ€ΠΈΠ»Π° Π½Π° оркСстрацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Π’ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² някои ΠΎΡ‚ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΈ систСми Π² свСта, Π½ΠΎ Π΅ скъп.

ОсобСно скъпо Π·Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ изискват ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΈ ΡΡ‚Ρ€ΡŠΠΌΠ½Π° ΠΊΡ€ΠΈΠ²Π° Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π’ΠΎΠ²Π° Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° нашия Π΅ΠΊΠΈΠΏ ΠΎΡ‚ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈΠΌΠ°. Π’Π°ΠΊΠ° Ρ‡Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° Ρ‚ΡŠΡ€ΡΠΈΠΌ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ - ΠΈ сС Π²Π»ΡŽΠ±ΠΈΡ…ΠΌΠ΅ Номад.

Какво искаш

ΠΠ°ΡˆΠΈΡΡ‚ Π΅ΠΊΠΈΠΏ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π΅Π΄ΠΈΡ†Π° ΠΎΠ±Ρ‰ΠΈ услуги Π·Π° наблюдСниС ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° производитСлността: ΠΊΡ€Π°ΠΉΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° API Π·Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, написани Π² Go, СкспортиранС Π½Π° Prometheus, Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΆΡƒΡ€Π½Π°Π»ΠΈ ΠΊΠ°Ρ‚ΠΎ Logstash ΠΈ Ам-гъл, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ InfluxDB ΠΈΠ»ΠΈ Elasticsearch. Всяка ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ услуги Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² свой собствСн ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. НуТдаСм сС ΠΎΡ‚ проста систСма, Π·Π° Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΠΌ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ.

Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ със списък с изисквания Π·Π° оркСстрация Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ:

  • ИзпълнСниС Π½Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ услуги Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ машини.
  • ΠŸΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈΡ‚Π΅ услуги.
  • Π’Ρ€ΡŠΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ услугитС.
  • Автоматично рСстартиранС, Π°ΠΊΠΎ услугата спрС.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° инфраструктурата ΠΎΡ‚ малък Π΅ΠΊΠΈΠΏ.

Π’ допълнСниС, слСднитС Π½Π΅Ρ‰Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Ρ…ΡƒΠ±Π°Π²ΠΈ, Π½ΠΎ Π½Π΅ са Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ допълнСния:

  • ΠœΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Π½Π° машини въз основа Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Π½Π° машини с Π±ΡŠΡ€Π·ΠΈ дисковС Π·Π° Ρ‚Π΅ΠΆΠΊΠΈ I/O услуги).
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° изпълнСниС Π½Π° услуги нСзависимо ΠΎΡ‚ оркСстратора (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°).
  • ΠžΠ±Ρ‰ΠΎ място Π·Π° сподСлянС Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚Π°ΠΉΠ½ΠΈ.
  • ΠšΡ€Π°ΠΉΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

Π—Π°Ρ‰ΠΎ Kubernetes Π½Π΅ Π΅ подходящ Π·Π° нас

Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈ с Kubernetes, забСлязахмС, Ρ‡Π΅ добавямС всС ΠΏΠΎ-слоТни слоСвС Π»ΠΎΠ³ΠΈΠΊΠ°, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π·Ρ‡ΠΈΡ‚Π°Ρ…ΠΌΠ΅ Π² голяма стСпСн.

ΠšΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Kubernetes ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° услуги Ρ‡Ρ€Π΅Π· ConfigMaps. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π±ΡŠΡ€Π·ΠΎ Π΄Π° сС ΠΎΠ±ΡŠΡ€ΠΊΠ°Ρ‚Π΅, особСно ΠΊΠΎΠ³Π°Ρ‚ΠΎ обСдиняватС мноТСство ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ добавятС Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ услуги към Π³Ρ€ΡƒΠΏΠ°. Kubernetes (ΠΈΠ»ΠΈ шлСм Π² Ρ‚ΠΎΠ·ΠΈ случай) Π²ΠΈ позволява Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π΄Π° внСдряватС външни ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π·Π° Π΄Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅. Но Ρ‚ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ тясна, скрита Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ вашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Kubernetes. Helm ΠΈ ConfigMaps ΠΎΠ±Π°Ρ‡Π΅ са Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ просто Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚Π΅ конфигурацията Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Docker. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΡƒΡˆΠ°Π²Π°Ρ‰ΠΎ Π΄Π° Ρ‚Ρ€ΡŠΠ³Π½Π΅Ρ‚Π΅ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΡŠΡ‚ ΠΈ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½ΠΈ абстракции, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡŠΠΆΠ°Π»ΡΠ²Π°Ρ‚Π΅ ΠΏΠΎ-късно.

ОсвСн Ρ‚ΠΎΠ²Π° СкосистСмата Kubernetes сС Ρ€Π°Π·Π²ΠΈΠ²Π° Π±ΡŠΡ€Π·ΠΎ. ΠžΡ‚Π½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ СнСргия, Π·Π° Π΄Π° стС Π² ΠΊΡ€Π°ΠΊ с Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ инструмСнти. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - ΡΠΏΠΈΡΡŠΠΊΡŠΡ‚ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°. НС всички ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ инструмСнти са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚Π΅, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ Π²ΠΈ трябва, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ трябва Π΄Π° стС наясно с всичко. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΊΡ€ΠΈΠ²Π°Ρ‚Π° Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΅ доста ΡΡ‚Ρ€ΡŠΠΌΠ½Π°.

Кога Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Kubernetes

Π’ Π½Π°ΡˆΠ°Ρ‚Π° компания ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Kubernetes ΠΈ са доста Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΠΎΡ‚ Π½Π΅Π³ΠΎ. Π’Π΅Π·ΠΈ СкзСмпляри сС управляват ΠΎΡ‚ Google ΠΈΠ»ΠΈ Amazon, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ рСсурситС Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚.

Kubernetes ΠΈΠ΄Π²Π° с нСвСроятни характСристики, ΠΊΠΎΠΈΡ‚ΠΎ правят оркСстрацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² ΠΌΠ°Ρ‰Π°Π± ΠΏΠΎ-управляСма:

Π’ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π΅ Π΄Π°Π»ΠΈ наистина ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ всички Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Ρ‡ΠΈΡ‚Π°Ρ‚Π΅ само Π½Π° абстракции; Ρ‰Π΅ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случва ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠ°ΠΊΠ°.

ΠΠ°ΡˆΠΈΡΡ‚ Π΅ΠΊΠΈΠΏ прСдоставя ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ услуги дистанционно (ΠΏΠΎΡ€Π°Π΄ΠΈ тясната Π²Ρ€ΡŠΠ·ΠΊΠ° с основната инфраструктура), Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ искахмС Π΄Π° създавамС собствСн ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Kubernetes. ΠŸΡ€ΠΎΡΡ‚ΠΎ искахмС Π΄Π° прСдоставямС услуги.

Π‘Π°Ρ‚Π΅Ρ€ΠΈΠΈΡ‚Π΅ Π½Π΅ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ

Nomad Π΅ 20% ΠΎΡ‚ оркСстрацията, която осигурява 80% ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡ‚ΠΎ. Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ, Π΅ Π΄Π° управлява внСдряванията. Nomad сС Π³Ρ€ΠΈΠΆΠΈ Π·Π° внСдряванСто, рСстартира ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π² случай Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ... ΠΈ Ρ‚ΠΎΠ²Π° Π΅ всичко.

ЦСлият смисъл Π½Π° Nomad Π΅ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ: Π±Π΅Π· ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²Π° ΠΈΠ»ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, Ρ‚ΠΎΠ²Π° Π΅ спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ΠΎ. Π’Π΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ сС прСдоставят външно ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ сС прСдоставят.

Мисля, Ρ‡Π΅ Nomad Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΠ» идСалния компромис ΠΌΠ΅ΠΆΠ΄Ρƒ Π»Π΅ΠΊΠΎΡ‚Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ полСзност. Π”ΠΎΠ±Ρ€Π΅ Π΅ Π·Π° ΠΌΠ°Π»ΠΊΠΈ, нСзависими услуги. Ако ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ», Ρ‰Π΅ трябва Π΄Π° Π³ΠΈ ΠΎΡ‚Π³Π»Π΅Π΄Π°Ρ‚Π΅ сами ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Номад Π΅ само оркСстрант.

Най-Ρ…ΡƒΠ±Π°Π²ΠΎΡ‚ΠΎ Π½Π° Nomad Π΅, Ρ‡Π΅ Π΅ лСсно смСнСтС. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° няма Π²Ρ€ΡŠΠ·ΠΊΠ° с доставчика, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ лСсно сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚ във всяка Π΄Ρ€ΡƒΠ³Π° систСма, която управлява услуги. Π’ΠΎΠΉ просто Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» Π½Π° всяка машина Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, Ρ‚ΠΎΠ²Π° Π΅ всичко!

Номадска СкосистСма ΠΎΡ‚ слабо ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ

Π˜ΡΡ‚ΠΈΠ½ΡΠΊΠ°Ρ‚Π° сила Π½Π° Nomad Π΅ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° СкосистСма. Π’ΠΎΠΉ сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅ с Π΄Ρ€ΡƒΠ³ΠΈ - напълно Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ - ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ консул (Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° ΠΊΠ»ΡŽΡ‡-стойност) ΠΈΠ»ΠΈ свод (Ρ‚Π°ΠΉΠ½ΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°). Π’ΡŠΠ² Ρ„Π°ΠΉΠ»Π° Nomad ΠΈΠΌΠ° сСкции Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ услуги:

template {
  data = <<EOH
LOG_LEVEL="{{key "service/geo-api/log-verbosity"}}"
API_KEY="{{with secret "secret/geo-api-key"}}{{.Data.value}}{{end}}"
EOH

  destination = "secrets/file.env"
  env         = true
}

Π’ΡƒΠΊ Ρ‡Π΅Ρ‚Π΅ΠΌ ΠΊΠ»ΡŽΡ‡Π° service/geo-api/log-verbosity ΠΎΡ‚ Consul ΠΈ Π³ΠΎ ΠΈΠ·Π»ΠΎΠΆΠΈ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° срСдата ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° LOG_LEVEL. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΠΌΠ΅ ΠΈ ΠΊΠ»ΡŽΡ‡Π° secret/geo-api-key ΠΎΡ‚ Vault as API_KEY. ΠŸΡ€ΠΎΡΡ‚ΠΎ, Π½ΠΎ ΠΌΠΎΡ‰Π½ΠΎ!

ΠŸΠΎΡ€Π°Π΄ΠΈ своята простота, Nomad Π΅ лСсно Ρ€Π°Π·ΡˆΠΈΡ€ΠΈΠΌ с Π΄Ρ€ΡƒΠ³ΠΈ услуги Ρ‡Ρ€Π΅Π· API. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ Π·Π° Π·Π°Π΄Π°Ρ‡ΠΈ. ΠœΠ°Ρ€ΠΊΠΈΡ€Π°ΠΌΠ΅ всички услуги с ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ trv-metrics. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Prometheus ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ Ρ‚Π΅Π·ΠΈ услуги Ρ‡Ρ€Π΅Π· Consul ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π΄Π° провСрява ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° /metrics Π·Π° Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ. Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Ρ‚Ρ€ΡƒΠΏΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π›ΠΎΠΊΠΈ.

Има ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚:

  • Π˜Π·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° Jenkins с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΡƒΠΊΠ° ΠΈ Consul слСди ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΡ‚ΠΎ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Nomad, ΠΊΠΎΠ³Π°Ρ‚ΠΎ конфигурацията Π½Π° услугата сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ.
  • Ceph добавя Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма към Nomad.
  • Π€Π°Π±ΠΈΠΎ Π·Π° балансиранС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ.

Всичко Ρ‚ΠΎΠ²Π° позволява ΠΎΡ€Π³Π°Π½ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π° инфраструктурата Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²Π° спСциална Π²Ρ€ΡŠΠ·ΠΊΠ° с ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‡Π°.

Π‘ΠΏΡ€Π°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

Никоя систСма Π½Π΅ Π΅ ΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½Π°. НС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ въвСТданС Π½Π° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² производството. Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ липсващи Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Π°ΠΆΠΈ ΠΈ Π·Π° Kubernetes.

Π’ сравнСниС с Kubernetes общността Π½Π° Nomad Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° голяма. Kubernetes Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 75 000 Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚Π° ΠΈ 2000 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Nomad ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 14 000 ΠΊΠΎΠΌΠΈΡ‚Π° ΠΈ 300 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ. Nomad Ρ‰Π΅ ΠΈΠΌΠ° трудности Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° скоростта Π½Π° Kubernetes, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ! Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-спСциализирана систСма ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° общност ΡΡŠΡ‰ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π΅ ΠΏΠΎ-вСроятно Π²Π°ΡˆΠ°Ρ‚Π° заявка Π·Π° изтСглянС Π΄Π° бъдС забСлязана ΠΈ ΠΏΡ€ΠΈΠ΅Ρ‚Π° Π² сравнСниС с Kubernetes.

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка: НС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Kubernetes само Π·Π°Ρ‰ΠΎΡ‚ΠΎ всички останали Π³ΠΎ правят. ΠžΡ†Π΅Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ изискванията си ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠΉ инструмСнт Π΅ ΠΏΠΎ-ΠΏΠΎΠ»Π΅Π·Π΅Π½.

Ако ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΠΌΠΎΠ³Π΅Π½Π½ΠΈ услуги Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΠ°Ρ‰Π°Π±Π½Π° инфраструктура, Ρ‚ΠΎΠ³Π°Π²Π° Kubernetes Π΅ Π΄ΠΎΠ±ΡŠΡ€ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄ΠΎΠ±Π°Π²Π΅Π½Π°Ρ‚Π° слоТност ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ. Някои Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ΠΈ Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° управлявана срСда Π½Π° Kubernetes, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ Google Kubernetes Engine ΠΈΠ»ΠΈ Amazon EKS.

Ако просто Ρ‚ΡŠΡ€ΡΠΈΡ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ оркСстратор, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ лСсСн Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ΅ΠΌ, Π·Π°Ρ‰ΠΎ Π½Π΅ ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Nomad? МоТС Π΄Π° сС ΠΈΠ·Π½Π΅Π½Π°Π΄Π°Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π»Π΅Ρ‡ Ρ‰Π΅ Π²ΠΈ ΠΎΡ‚Π²Π΅Π΄Π΅ Ρ‚ΠΎΠ²Π°.

Ако Kubernetes сС сравнява с ΠΊΠΎΠ»Π°, Nomad Π±ΠΈ Π±ΠΈΠ» скутСр. Понякога ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π΅Π΄Π½ΠΎ Π½Π΅Ρ‰ΠΎ, Π° понякога Π΄Ρ€ΡƒΠ³ΠΎ. И Π΄Π²Π΅Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅.

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

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