Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Typhon freight hauler concept, Anton Swanepoel

МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π‘ΡƒΠ³Ρ€ΠΎΠ±ΠΎΠ², я Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² Β«Π›Π΅Ρ€ΡƒΠ° ΠœΠ΅Ρ€Π»Π΅Π½Β». Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ расскаТу, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ Helm, ΠΊΠ°ΠΊ ΠΎΠ½ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Kubernetes, Ρ‡Ρ‚ΠΎ помСнялось Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии ΠΈ ΠΊΠ°ΠΊ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ прилоТСния Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ Π±Π΅Π· простоя.

Π­Ρ‚ΠΎ конспСкт ΠΏΠΎ ΠΌΠΎΡ‚ΠΈΠ²Π°ΠΌ выступлСния Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ @Kubernetes Conference by Mail.ru Cloud Solutions β€” Ссли Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, смотритС Π²ΠΈΠ΄Π΅ΠΎ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Kubernetes Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅

Β«Π›Π΅Ρ€ΡƒΠ° ΠœΠ΅Ρ€Π»Π΅Π½Β» β€” Π»ΠΈΠ΄Π΅Ρ€ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ DIY-Ρ€ΠΈΡ‚Π΅ΠΉΠ»Π° Π² России ΠΈ Π•Π²Ρ€ΠΎΠΏΠ΅. Π’ нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ большС ста Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², 33 000 Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… сотрудников ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство людСй, ΠΏΠΎΡΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΡ… Π³ΠΈΠΏΠ΅Ρ€ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚Ρ‹ ΠΈ сайт. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всСх ΠΈΡ… счастливыми, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ стандартных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² Π² индустрии. Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ; для изоляции ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ доставки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹; Π° для оркСстрации ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Kubernetes. Π¦Π΅Π½Π° использования оркСстраторов ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅ΡˆΠ΅Π²Π΅Π΅Ρ‚: Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ растёт количСство ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Π²Π»Π°Π΄Π΅ΡŽΡ‰ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΠ΅ Kubernetes ΠΊΠ°ΠΊ сСрвис.

Всё, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Kubernetes, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ способами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΠΌΠ°Π·Π°Π² скриптами ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ДТСнкинс ΠΈ docker-compose, Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ Тизнь, Ссли Π΅ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅? ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Kubernetes ΠΈ ΡƒΠΆΠ΅ Π³ΠΎΠ΄ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅. БСйчас Ρƒ нас Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ кластСра Kubernetes, самому старому ΠΈΠ· Π½ΠΈΡ… большС Π³ΠΎΠ΄Π°, Π² Π½Π΅ΠΌ порядка двухсот ΠΏΠΎΠ΄ΠΎΠ².

ΠŸΡ€ΠΎΠΊΠ»ΡΡ‚ΠΈΠ΅ большого количСства YAML-Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Kubernetes

Для запуска микросСрвиса Π² Kubernetes создадим ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅ ΠΏΡΡ‚ΡŒ YAML-Ρ„Π°ΠΉΠ»ΠΎΠ²: для Deployment, Service, Ingress, ConfigMap, Secrets β€” ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ Π² кластСр. Для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ прилоТСния напишСм Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ ямликов, с Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ β€” Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ПомноТим количСство Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π° количСство ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ, ΡƒΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ сотни Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈ это Π΅Ρ‰Ρ‘ Π½Π΅ учитывая динамичСскиС окруТСния.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Adam Reese, core maintainer Helm, Π²Π²Π΅Π» понятиС Β«Π¦ΠΈΠΊΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² KubernetesΒ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выглядит Ρ‚Π°ΠΊ:

  1. Copy YAML β€” ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ YAML-Ρ„Π°ΠΉΠ».
  2. Paste YAML β€” Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.
  3. Fix Indents β€” ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ отступы.
  4. Repeat β€” ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ, Π½ΠΎ приходится ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ YAML-Ρ„Π°ΠΉΠ»Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ этот Ρ†ΠΈΠΊΠ» ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ Helm.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Helm

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Helm β€” ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для установки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MongoDB Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт ΠΈ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΈ, достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ helm install stable/mongodb.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Helm β€” ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹. ВСрнСмся ΠΊ ситуации с YAML-Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Kubernetes. ΠŸΡ€ΠΎΡ‰Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» YAML, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ placeholder-Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Helm подставит значСния. Π’ΠΎ Π΅ΡΡ‚ΡŒ вмСсто большого Π½Π°Π±ΠΎΡ€Π° ямликов Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚ΠΎΠ² (шаблонов), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ подставятся Π½ΡƒΠΆΠ½Ρ‹Π΅ значСния.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Helm β€” мастСр ΠΏΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ прилоТСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Ρ‚ΡŒ.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Helm для дСплоя собствСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Установим Helm ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, слСдуя ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ инструкции. Π—Π°Ρ‚Π΅ΠΌ создадим Π½Π°Π±ΠΎΡ€ YAML-Ρ„Π°ΠΉΠ»ΠΎΠ². ВмСсто указания ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ оставим плСйсхолдСры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Helm Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Набор Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² называСтся Helm Ρ‡Π°Ρ€Ρ‚. Π’ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Helm Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ трСмя способами:

  • ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΎΡ‡ΠΊΡƒ с шаблонами;
  • ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² .tar Π°Ρ€Ρ…ΠΈΠ² ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ;
  • ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ шаблон Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ссылку Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Helm ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

Π•Ρ‰Ρ‘ Π½ΡƒΠΆΠ΅Π½ Ρ„Π°ΠΉΠ» со значСниями β€” values.yaml. Π”Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² шаблон. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈ Π΅Π³ΠΎ.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии Helm Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” Tiller. Оно висит снаруТи Kubernetes ΠΈ ΠΆΠ΄Ρ‘Ρ‚ запросы ΠΎΡ‚ Helm-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ подставляСт Π½ΡƒΠΆΠ½Ρ‹Π΅ значСния Π² шаблон ΠΈ отправляСт Π² Kubernetes.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Helm 3 устроСн ΠΏΡ€ΠΎΡ‰Π΅: вмСсто ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ шаблонов Π½Π° сСрвСрС, информация Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ обрабатываСтся Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π° сторонС Helm-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ отправляСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Kubernetes API. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ кластСра ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ схСму Π²Ρ‹ΠΊΠ°Ρ‚Π°.

Как всё это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

ЗапускаСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ helm install. Π£ΠΊΠ°ΠΆΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π΅Π»ΠΈΠ·Π° прилоТСния, Π΄Π°Π΄ΠΈΠΌ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ values.yaml. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π»Π΅ΠΆΠΈΡ‚ Ρ‡Π°Ρ€Ρ‚ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‡Π°Ρ€Ρ‚Π°. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это Β«lmruΒ» ΠΈ Β«bestchartΒ» соотвСтствСнно.

helm install --name bestapp --values values.yaml lmru/bestchart

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹, ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ вмСсто install Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ upgrade. Для простоты вмСсто Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ upgrade с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ --install. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ исполнСнии Helm ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° установку Ρ€Π΅Π»ΠΈΠ·Π°, Π° Π² дальнСйшСм Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ.

helm upgrade --install bestapp --values values.yaml lmru/bestchart

ΠŸΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ дСплоя Π½ΠΎΠ²Ρ‹Ρ… вСрсий прилоТСния с Helm

Π’ этом мСстС рассказа я ΠΈΠ³Ρ€Π°ΡŽ с Π·Π°Π»ΠΎΠΌ Π² Β«ΠšΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π΅Ρ€ΠΎΠΌΒ», ΠΈ ΠΌΡ‹ выясняСм, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Helm ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ.

Когда я ΠΈΠ·ΡƒΡ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Ρƒ Helm, мСня ΡƒΠ΄ΠΈΠ²ΠΈΠ»ΠΎ странноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ обновлСния вСрсий Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Код прилоТСния ΠΎΠ±Π½ΠΎΠ²ΠΈΠ», Π² Π΄ΠΎΠΊΠ΅Ρ€-рСдТистри Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ – ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. НиТС нСсколько Π½Π΅ совсСм ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… способов обновлСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜Π·ΡƒΡ‡Π°Ρ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство инструмСнта ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ повСдСния.

Бпособ 1. НС ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго запуска

Как гласит ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт Helm, Β«Kubernetes Ρ‡Π°Ρ€Ρ‚Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ большими ΠΈ слоТными, поэтому Helm стараСтся лишний Ρ€Π°Π· Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒΒ». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ latest-Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠ±Ρ€Π°Π·Π° прилоТСния Π² docker registry ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ helm upgrade, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚. Helm Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ помСнялось ΠΈ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ Π² Kubernetes ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ прилоТСния Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

Π—Π΄Π΅ΡΡŒ ΠΈ дальшС Ρ‚Π΅Π³ latest ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ этого Ρ‚Π΅Π³Π° Kubernetes Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· ΠΈΠ· docker registry, Π²Π½Π΅ зависимости ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° imagePullPolicy. ИспользованиС latest Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты.

Бпособ 2. ΠžΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ LABEL Π² image

Как написано Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Β«Helm Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ΠΎ помСнялось с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго Ρ€Π΅Π»ΠΈΠ·Π°Β». Π›ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ для этого покаТСтся ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ LABEL Π² самом Π΄ΠΎΠΊΠ΅Ρ€-ΠΎΠ±Ρ€Π°Π·Π΅. Однако Helm Π½Π΅ заглядываСт Π² ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ понятия ΠΎ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ измСнСниях Π² Π½ΠΈΡ…. БоотвСтствСнно, ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ Π² ΠΎΠ±Ρ€Π°Π·Π΅ Helm ΠΎ Π½ΠΈΡ… Π½Π΅ ΡƒΠ·Π½Π°Π΅Ρ‚, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° обновлСния прилоТСния Π² Kubernetes Π½Π΅ поступит.

Бпособ 3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ --force

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌΡΡ ΠΊ ΠΌΠ°Π½ΡƒΠ°Π»Π°ΠΌ ΠΈ ΠΏΠΎΠΈΡ‰Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ΠΈΠΊ. Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго ΠΏΠΎ смыслу ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ»ΡŽΡ‡ --force. НСсмотря Π½Π° говорящСС Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ отличаСтся ΠΎΡ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ. ВмСсто форсированного обновлСния прилоТСния, Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” восстановлСниС находящСгося Π² статусС FAILED Ρ€Π΅Π»ΠΈΠ·Π°. Если Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠ»ΡŽΡ‡, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ helm delete && helm install --replace. ВмСсто этого прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ --force, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этих ΠΊΠΎΠΌΠ°Π½Π΄. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² этом ΠΏΡƒΠ»Π»-рСквСстС. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Helm всё-Ρ‚Π°ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния, ΠΊ соТалСнию, этот ΠΊΠ»ΡŽΡ‡ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚.

Бпособ 4. Π˜Π·ΠΌΠ΅Π½ΡΡ‚ΡŒ labels Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Kubernetes

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
ОбновлСниС label Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² кластСрС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ kubectl edit β€” плохая идСя. Π­Ρ‚ΠΎ дСйствиС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ нСконсистСнтности ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡΡŒ Π½Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ. ПовСдСниС Helm ΠΏΡ€ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅ Π² этом случаС отличаСтся ΠΎΡ‚ Π΅Π³ΠΎ вСрсии: Helm 2 Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Π° Helm 3 Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡ‚ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния. Для понимания ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Helm.

Как устроСн Helm

Для опрСдСлСния, измСнилось Π»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго Ρ€Π΅Π»ΠΈΠ·Π°, Helm ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ:

  • Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² Kubernetes;
  • Π½ΠΎΠ²Ρ‹ΠΌ values.yaml ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‡Π°Ρ€Ρ‚ΠΎΠΌ;
  • Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Helm ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°Ρ….

Для самых Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…: Π³Π΄Π΅ Helm Ρ…Ρ€Π°Π½ΠΈΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°Ρ…?Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ helm history, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вСрсиях, установлСнных с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Helm.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Π•Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ подробная информация ΠΎΠ± ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… ΠΈ значСниях. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Ρ‘ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ:

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии Helm эта информация Π»Π΅ΠΆΠΈΡ‚ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ нСймспСйсС, Π³Π΄Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Tiller (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” kube-system), Π² ConfigMap, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Β«OWNER=TILLERΒ»:

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ появлСния Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии Helm информация ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Π»Π° Π² сСкрСты, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ нСймспСйс, Π³Π΄Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Благодаря этому стало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ€Π°Π·Π½Ρ‹Ρ… нСймспСйсах с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π»ΠΈΠ·Π°. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии это Π±Ρ‹Π»Π° сильная головная боль, ΠΊΠΎΠ³Π΄Π° нСймспСйсы ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° Π²Π»ΠΈΡΡ‚ΡŒ.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Helm, ΠΊΠΎΠ³Π΄Π° пытаСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° источника ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ прСдоставили сСйчас, ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°Ρ…, которая Π»Π΅ΠΆΠΈΡ‚ Π² ConfigMap.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
Π’Ρ€Π΅Ρ‚ΠΈΠΉ Helm ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ three-way merge: Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ‚ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Ρ‰Ρ‘ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ прямо сСйчас Π² Kubernetes.

Устройство Helm ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ
По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ старая вСрсия Helm Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ прилоТСния Π² кластСрС, Π° Π²ΠΎΡ‚ Helm 3 ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ измСнСния ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ.

Бпособ 5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ —recreate-pods

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π° --recreate-pods ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π° --force. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ пСрСзапустятся ΠΈ, согласно ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ imagePullPolicy: Always для Ρ‚Π΅Π³Π° latest (ΠΎΠ± этом Π² сноскС Π²Ρ‹ΡˆΠ΅), Kubernetes скачаСт ΠΈ запустит Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠ±Ρ€Π°Π·Π°. Π”Π΅Π»Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ это Π½Π΅ самым Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π½Π΅ учитывая StrategyType Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ‚Π°, Ρ€Π΅Π·ΠΊΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ всС старыС инстансы прилоТСния ΠΈ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅. Π’ΠΎ врСмя пСрСзапуска систСма Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒ.

Π’ самом Kubernetes похоТая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚ΠΎΠΆΠ΅ сущСствовала ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя. И Π²ΠΎΡ‚, спустя 4 Π³ΠΎΠ΄Π° послС открытия Issue, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ исправили, ΠΈ начиная с 1.15 вСрсии Kubernetes появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ rolling-restart ΠΏΠΎΠ΄ΠΎΠ².

Helm ΠΆΠ΅ просто Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС прилоТСния ΠΈ запускаСт рядом Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹. Π’ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ Ρ‚Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ нСльзя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ простой прилоТСния. Π’Π°ΠΊΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½ΡƒΠΆΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² stage-окруТСниях.

Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Helm?

Π‘ΡƒΠ΄Π΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния, отправляСмыС Π² Helm. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это значСния, подставляСмыС Π½Π° мСсто Ρ‚Π΅Π³Π° ΠΎΠ±Ρ€Π°Π·Π°. Π’ случаС latest, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для Π½Π΅ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ, Π² Ρ€ΠΎΠ»ΠΈ измСняСмой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ выступаСт аннотация, которая для самого Kubernetes бСсполСзна, Π° для Helm Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ сигналом ΠΊ нСобходимости обновлСния прилоТСния. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ заполнСния значСния Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ:

  1. Π Π°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” {{ randAlphaNum 6 }}.
    Π•ΡΡ‚ΡŒ нюанс: послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСплоя с использованиСм Ρ‡Π°Ρ€Ρ‚Π° с Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ, ΠΈ Helm Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ измСнСния. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, всСгда Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ помСняли Π΅Π³ΠΎ Π²Π΅Ρ€ΡΠΈΡŽ. Π­Ρ‚ΠΎ Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ простоя Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Π½ΠΎ всё ΠΆΠ΅ нСприятно.
  2. Π’ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя β€” {{ .Release.Date }}.
    Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с постоянно ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
  3. Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы. Π­Ρ‚ΠΎ SHA ΠΎΠ±Ρ€Π°Π·Π° Π»ΠΈΠ±ΠΎ SHA послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² Π³ΠΈΡ‚Π΅ β€” {{ .Values.sha }}.
    Π˜Ρ… Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π² Helm ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π° Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ сторонС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ДТСнкинсС. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ помСнялось, Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма помСняСтся. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Helm Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ.

ΠŸΠΎΠ΄Ρ‹Ρ‚ΠΎΠΆΠΈΠΌ наши ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ

  • Helm Π΄Π΅Π»Π°Π΅Ρ‚ измСнСния Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½Π²Π°Π·ΠΈΠ²Π½Ρ‹ΠΌ способом, поэтому любоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±Ρ€Π°Π·Π° прилоТСния Π² Docker Registry Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ обновлСнию: послС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚.
  • ΠšΠ»ΡŽΡ‡ --force ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для восстановлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΈ Π½Π΅ связан с ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ.
  • ΠšΠ»ΡŽΡ‡ --recreate-pods ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ прилоТСния, Π½ΠΎ сдСлаСт это Π²Π°Π½Π΄Π°Π»ΡŒΠ½Ρ‹ΠΌ способом: Ρ€Π΅Π·ΠΊΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ всС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹. ΠžΡ‚ этого ΠΏΠΎΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, Π½Π° ΠΏΡ€ΠΎΠ΄Π΅ Ρ‚Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ стоит.
  • ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² кластСр Kubernetes с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ kubectl edit Π½Π΅ Π½Π°Π΄ΠΎ: Π½Π°Ρ€ΡƒΡˆΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ, Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии Helm.
  • Π‘ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ вСрсии Helm появилось ΠΌΠ½ΠΎΠ³ΠΎ нюансов. Issues Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Helm описаны понятным языком, ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² дСталях.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ измСняСмой Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π² Ρ‡Π°Ρ€Ρ‚ сдСлаСт Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Ρ‹ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π±Π΅Π· простоя.

ΠœΡ‹ΡΠ»ΡŒ ΠΈΠ· разряда Β«ΠΌΠΈΡ€ Π²ΠΎ всём ΠΌΠΈΡ€Π΅Β», Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π²ΠΎ всСх сфСрах ΠΆΠΈΠ·Π½ΠΈ: Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ, Π° Π½Π΅ послС. Волько владСя ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, получится ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Π΅ систСмы ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ счастливыми.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ссылки ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅:

  1. Знакомство с Helm 3
  2. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт Helm
  3. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Helm Π½Π° GitHub
  4. 25 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов Kubernetes: Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ·Π²ΡƒΡ‡Π°Π» Π½Π° @Kubernetes Conference by Mail.ru Cloud Solutions. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… выступлСний ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° анонсы мСроприятий Π² Telegram Π’ΠΎΠΊΡ€ΡƒΠ³ Kubernetes Π² Mail.ru Group.

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