fix
parent
9ebc49dd33
commit
b97f8e076e
|
|
@ -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.
|
|
||||||
|
|
||||||
## Видео
|
|
||||||
|
|
||||||
[<img src="https://img.youtube.com/vi/vv8SSYITzPE/maxresdefault.jpg" width="50%">](https://youtu.be/vv8SSYITzPE)
|
|
||||||
Loading…
Reference in New Issue