- PVSM.RU - https://www.pvsm.ru -
Прим. перев.: Повышенный интерес к «пакетному менеджеру Kubernetes» — Helm, — что наблюдается в последнее время, легко объяснить. В активной стадии — причём уже не только разработки, но и релизов — находится долгожданное крупное обновление Helm v3, о котором мы уже писали [1]. Его последняя бета-версия — третья по счёту [2] — вышла в начале сентября. А совсем недавно прошло довольно крупное (для столь специализированного Open Source- проекта) мероприятие, впечатлениями с которого и делятся его посетители из компании CloudARK, предлагающей iPaaS (integration platform as a service) для Kubernetes.

Оригинальное фото взято [3] из Flickr-аккаунта CNCF
На прошлой неделе в Амстердаме прошел Helm Summit [4]. На нем собрались около 150 энтузиастов, представляющих различных пользователей и поставщиков услуг по Kubernetes. Вот пять ключевых моментов с этого мероприятия.
В саммите принимали участие некоторые из ключевых членов основной команды разработчиков Helm. Из их выступлений и общения в кулуарах стало понятно, что Helm 3.0 станет важной вехой для проекта. Многие из вас, вероятно, уже слышали, что в третьей версии не будет Tiller — серверного компонента Helm. (Прим. перев.: Подробнее об этом можно почитать в этой статье [1].) В Helm 3.0 появятся и другие важные нововведения — например, более пристальный контроль безопасности и лучшая поддержка Custom Resource Definitions (CRDs). Вот три ключевых аспекта, которые особенно запомнились:
crd-install, определенный как аннотация. Однако не все разработчики CRD и операторов его используют. Это делает чарты Helm уязвимыми перед ошибками установки, поскольку для правильной установки чартов необходимо, чтобы CRD ставились перед манифестами Custom Resource. В Helm 3.0 поддержка CRD выйдет на новый уровень. В каталоге chаrts появится подкаталог crd. Пользователю будет достаточно сложить все YAML-файлы CRD в эту директорию. Helm обработает ее перед установкой остальных частей чарта. Подобный порядок действий будет гарантировать установку CRD перед установкой манифестов Custom Resource.Несколько сессий были посвящены проблемам хранения Helm-чартов. Эти сессии вел Josh Dolitsky [5] — автор ChartMuseum [6]. Он представил проблему, существующие решения и рассказал об общих веяниях в этом пространстве. Основной вывод состоит в том, что работа с различными артефактами, с которыми приходится иметь дело в подходе cloud-native (образами Docker, чартами Helm, патч-файлами Kustomize), должна вестись единообразно.
Обеспечить хранение всех этих артефактов в едином реестре призван проект ORAS [7] — OCI Registry as Storage. Для пользователей Kubernetes это определенно шаг в правильном направлении, поскольку он позволит консолидировать различные артефакты в одном реестре, попутно обеспечив поддержку таких вещей, как разделение реестра, контроль доступа и т.п.
Несколько докладчиков затронули в своих выступлениях тему пользовательских контроллеров и операторов. В выступлении CloudARK [8] основное внимание было уделено лучшим практикам при создании Helm-чартов для операторов. Команда Red Hat [9] рассказала об операторах и Operator Hub [10].
Представители Workday [11], Weaveworks [12] и University of Notre Dame [12] в своих выступлениях обсудили «родной для Kubernetes» подход к непрерывному согласованию релизов на основе Helm-чартов в кластере с помощью процесса, называемого GitOps. (Прим. перев.: Подробнее о GitOps читайте здесь [13].)
Ключевым выводом всех этих выступлений стало то, что Helm и операторы хорошо дополняют друг друга. В то время как первый (Helm) фокусируется на шаблонизации и простоте управления артефактами, вторые (операторы) концентрируются на управлении задачами Day-2 (т.е. на стадии жизненного цикла системы, когда та начинает приносить плоды ее создателям — прим. перев.) для стороннего программного обеспечения, такого как реляционные/нереляционные базы данных, работающие в кластере Kubernetes.
Когда речь заходит о крупных корпоративных приложениях, одного Helm-чарта недостаточно. Требуются несколько чартов. Презентация GitLab [14] стала настоящим открытием в этом смысле. У них множество чартов, при этом средний размер чарта также достаточно велик (несколько тысяч строк). Управление всеми этими чартами само по себе является непростой задачей.
Было два интересных выступления, посвященных различным аспектам этой проблемы. В одном команда IBM [15] представила свой внутренний инструмент, упрощающий поиск Helm-чартов по различным критериям. Они сосредоточились на решении проблемы DevOps-инженеров, вынужденных отбирать и устанавливать чарты в своих кластерах. В другом — команда Replicated [16] рассказала о попытке решить проблему управления правками Helm-чартов без создания копий или форков. Суть их подхода в том, чтобы отделить базовый Helm-чарт, а пользовательские Helm-чарты создавать, позаимствовав идею kustomize с патч-файлами. В будущем мы можем стать свидетелями бурной деятельности в этом направлении по мере того, как различные провайдеры будут концентрироваться на различных аспектах Helm-чартов, влияющих на управление ими. Например, мы в CloudARK фокусируемся [17] на Helm-чартах операторов, которые получают специальные аннотации platform-as-code для облегчения обнаружения и повышения простоты использования Custom Resources.
Разработчики Helm'а и ключевые члены сообщества оказались весьма приветливыми людьми. Они были открыты и доступны для любых обсуждений и вопросов, таких как сроки выхода, мысли о Helm'е и kustomize'е, совместное проведение мероприятий с KubeCon и т.п.
Также они рассказали о процессе участия в разработке Helm'а. Он не показался слишком сложным. Проект Helm пока еще не принял процесс KEP (Kubernetes Enhancement Proposal). Впрочем, это может измениться после того, как завершится стадия его инкубации.
Наше выступление [18] на саммите было посвящено принципам и лучшим практикам создания Helm-чартов для операторов. Мы предлагаем iPaaS, который позволяет DevOps-командам собирать свои собственные стеки платформы Kubernetes без какой-либо привязки с провайдеру Kubernetes или проприетарным интерфейсам. Необходимые CRD/операторы упаковываются в виде Helm-чартов с особым акцентом на совместимость Custom Resources от различных операторов.
Выступление базировалось на уроках, полученных в процессе самостоятельной разработки нескольких операторов и анализе более чем ста общедоступных операторов с целью получить настраиваемый платформенный слой Kubernetes Native, готовый для корпоративного использования.

Место проведения конференции может похвастаться живописным видом на один из многочисленных каналов Амстердама.
Helm стоит на пороге превращения в CNCF-проект высшего уровня. За последние несколько лет он стал более зрелым, обрел крепкое сообщество и высокую популярность. Если вы еще не используете его — попробуйте. Он предлагает один из простейших способов шаблонизации и управления артефактами Kubernetes. У тех же, кто его уже активно использует, Helm 3.0 должен развеять многие опасения, связанные с безопасностью, и обеспечить явную поддержку расширяемости Kubernetes с помощью CRD.
Другие впечатления о прошедшем Helm Summit и его докладам можно найти в Twitter по тегу #HelmSummit [19].
Читайте также в нашем блоге:
Автор: Алексей Игрычев
Источник [24]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/330827
Ссылки в тексте:
[1] уже писали: https://habr.com/ru/company/flant/blog/453734/
[2] третья по счёту: https://github.com/helm/helm/releases/tag/v3.0.0-beta.3
[3] взято: https://www.flickr.com/photos/143247548@N03/48746251223/in/album-72157710876124641/
[4] Helm Summit: https://events.linuxfoundation.org/events/helm-summit-2019/program/schedule/
[5] Josh Dolitsky: https://helmsummit2019.sched.com/event/S8t8/from-chartmuseum-to-harbor-josh-dolitsky-blood-orange?iframe=yes&w=100%&sidebar=yes&bg=no#
[6] ChartMuseum: https://chartmuseum.com/
[7] ORAS: https://github.com/deislabs/oras
[8] выступлении CloudARK: https://helmsummit2019.sched.com/event/S8st/operators-and-helm-it-takes-two-to-tango-devdatta-kulkarni-cloudark?iframe=no&w=100%&sidebar=yes&bg=no
[9] Команда Red Hat: https://helmsummit2019.sched.com/event/S8sn/at-the-helm-without-a-steering-wheel-your-chart-as-a-kubernetes-operator-daniel-messer-red-hat?iframe=yes&w=100%&sidebar=yes&bg=no
[10] Operator Hub: https://operatorhub.io/
[11] Workday: https://helmsummit2019.sched.com/event/S8tW/automated-helm-deployment-using-custom-controllers-and-operators-pauline-lallinec-workday?iframe=yes&w=100%&sidebar=yes&bg=no
[12] Weaveworks: https://helmsummit2019.sched.com/event/S8ti/gitops-continuous-delivery-with-helm-operator-kingdon-barrett-university-of-notre-dame-stefan-prodan-weaveworks?iframe=yes&w=100%&sidebar=yes&bg=no
[13] здесь: https://habr.com/ru/company/flant/blog/458878/
[14] Презентация GitLab: https://helmsummit2019.sched.com/event/S8sw/gitlab-as-cloud-native-complex-suite-made-simple-with-helm-jason-plum-gitlab?iframe=yes&w=100%&sidebar=yes&bg=no
[15] команда IBM: https://helmsummit2019.sched.com/event/S8se/more-charts-more-problems-lets-talk-bringing-sanity-shikha-srivastava-kirti-apte-ibm?iframe=yes&w=100%&sidebar=yes&bg=no
[16] команда Replicated: https://helmsummit2019.sched.com/event/S8tZ/day-2-operations-of-helm-charts-dex-horthy-replicated-inc?iframe=yes&w=100%&sidebar=yes&bg=no
[17] фокусируемся: https://github.com/cloud-ark/kubeplus
[18] Наше выступление: https://static.sched.com/hosted_files/helmsummit2019/ac/Operators-and-Helm-It-takes-two-to-tango.pdf
[19] #HelmSummit: https://twitter.com/search?q=%23HelmSummit&src=hashtag_click&f=live
[20] KubeCon Europe 2019: Как мы впервые посетили главное событие по Kubernetes: https://habr.com/ru/company/flant/blog/454184/
[21] Пакетный менеджер для Kubernetes — Helm: прошлое, настоящее, будущее: https://habr.com/ru/company/flant/blog/417079/
[22] Трезвый взгляд на Helm 2: „Вот такой, какой есть...“: https://habr.com/ru/company/flant/blog/438814/
[23] Практическое знакомство с пакетным менеджером для Kubernetes — Helm: https://habr.com/ru/company/flant/blog/420437/
[24] Источник: https://habr.com/ru/post/468259/?utm_source=habrahabr&utm_medium=rss&utm_campaign=468259
Нажмите здесь для печати.