diff --git a/DevOps/Helm/Обучение Helm по Крюкову/manifests/configmap-conf.md b/DevOps/Helm/Learn-by-Krukov/manifests/configmap-conf.md similarity index 100% rename from DevOps/Helm/Обучение Helm по Крюкову/manifests/configmap-conf.md rename to DevOps/Helm/Learn-by-Krukov/manifests/configmap-conf.md diff --git a/DevOps/Helm/Обучение Helm по Крюкову/manifests/configmap-html.md b/DevOps/Helm/Learn-by-Krukov/manifests/configmap-html.md similarity index 100% rename from DevOps/Helm/Обучение Helm по Крюкову/manifests/configmap-html.md rename to DevOps/Helm/Learn-by-Krukov/manifests/configmap-html.md diff --git a/DevOps/Helm/Обучение Helm по Крюкову/manifests/deployment.md b/DevOps/Helm/Learn-by-Krukov/manifests/deployment.md similarity index 100% rename from DevOps/Helm/Обучение Helm по Крюкову/manifests/deployment.md rename to DevOps/Helm/Learn-by-Krukov/manifests/deployment.md diff --git a/DevOps/Helm/Обучение Helm по Крюкову/manifests/deployment.yaml b/DevOps/Helm/Learn-by-Krukov/manifests/deployment.yaml similarity index 100% rename from DevOps/Helm/Обучение Helm по Крюкову/manifests/deployment.yaml rename to DevOps/Helm/Learn-by-Krukov/manifests/deployment.yaml diff --git a/DevOps/Helm/Обучение Helm по Крюкову/manifests/ingress.md b/DevOps/Helm/Learn-by-Krukov/manifests/ingress.md similarity index 100% rename from DevOps/Helm/Обучение Helm по Крюкову/manifests/ingress.md rename to DevOps/Helm/Learn-by-Krukov/manifests/ingress.md diff --git a/DevOps/Helm/Обучение Helm по Крюкову/manifests/service.md b/DevOps/Helm/Learn-by-Krukov/manifests/service.md similarity index 100% rename from DevOps/Helm/Обучение Helm по Крюкову/manifests/service.md rename to DevOps/Helm/Learn-by-Krukov/manifests/service.md diff --git a/DevOps/Helm/Обучение Helm по Крюкову/01-base-helm.md b/DevOps/Helm/Обучение Helm по Крюкову/01-base-helm.md deleted file mode 100644 index 2000393..0000000 --- a/DevOps/Helm/Обучение Helm по Крюкову/01-base-helm.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: 01-Основы helm -description: -published: true -date: 2023-11-07T18:15:32.346Z -tags: helm -editor: markdown -dateCreated: 2023-11-07T15:18:54.227Z ---- - -# Видео раз. Основы helm. - -## Что такое helm? - -Helm - это менеджер пакетов для kuberntes. - -Как любой менеджер пакетов, Helm упрощает задачу управления жизненным циклом приложений. - -Апдейт и удаление приложений достаточно простые (ну почти всегда). Поэтому в -данном цикле видео, мы не будем акцентировать внимание на этих действиях. В основном мы -займемся разбором создания собственных пакетов (chart), их установкой и кастомизацией. - -### Документация - -* [Helm](https://helm.sh/) -* [Go templates](https://pkg.go.dev/text/template) - -### Как работает Helm - -Пакет (helm chart или просто chart), обычно распространяется в виде стандартного архива в формате tar.gz -Внутри которого находятся: -* Описание чарта. -* Шаблоны манифестов. -* Конфигурационные параметры приложения по умолчанию. -* Другие, не обязательные файлы. - -Для хранения набора таких пакетов можно использовать любой WEB сервер с обязательным файлом index.yaml, в котором -описываются чарты, которые предоставляются данным сервером. Но это конечно самый простой способ создания репозитория. -В принципе хранить архивы пакетов можно в специализированных системах или универсальных приложениях, которые -поддерживают helm charts типа Nexus, Harbor и т.п. - -Так же чарт можно хранить например в локальной файловой системе, не запаковывая его в архив, в виде структуры файлов -и директорий. Но в этом случае затруднена версионность чарта. Т.е. для разных версий чарта необходимо создавать -отдельные директории. Ситуацию может облегчить хранения файлов чарта в системе контроля версии, например в git. - -Основная задача helm: -* Получить от пользователя информацию, какие конфигурационные параметры приложения необходимо переопределить. -Обычно для этого используется кастомный файл values. -* Учитывая параметры, сгенерировать из шаблонов файлы манифестов приложений. -* Итоговые файлы манифестов поместить в kubernetes через kubernetes API. - -Разумеется кроме работы с пакетами (шаблонами) helm умеет много чего полезного и по ходу изложения материала -мы познакомимся с этими функциями. - -Helm версии 3 не требует наличия в кластере kubernetes дополнительного программного обеспечения. - -Helm не может управлять приложениями, установленными помимо него. - -## Установка -```bash - wget https://get.helm.sh/helm-v3.7.2-linux-amd64.tar.gz - tar -zxvf helm-v3.7.2-linux-amd64.tar.gz - mv linux-amd64/helm /usr/local/bin/helm - helm version - helm list - rm -r helm-v3.7.2-linux-amd64.tar.gz linux-amd64 -``` - -## Задача - -Изучать что-либо, просто так, без поставленной задачи бессмысленно. Поэтому сформулируем задачу, которую мы должны -будем решить. - -У нас есть некоторое приложение - openresty, которое мы запускаем в кластере kubernetes. Для этого приложения мы написали -файлы [манифестов](../base-application). - -Наша задача, сделать из этих манифестов чарт, так что бы мы могли при установке изменять парамеры деплоя, -конфигурационных файлов, сервисов и т.п. - -У нас не стоит задачи сделать супер chart с возможностью кастомизации всего и вся. Только базовый функционал, -на котором можно понять как работает "кухня" helm charts. - -## Видео - -[](https://youtu.be/vv8SSYITzPE)