Helm — это менеджер пакетов для Kubernetes, позволяющий определять, устанавливать и управлять приложениями в кластере Kubernetes с помощью диаграмм. Helm-диаграммы — это пакеты предварительно настроенных ресурсов Kubernetes, упрощающие развертывание сложных приложений и управление ими. В этой статье мы рассмотрим различные методы работы с диаграммами Helm, сопровождаемые примерами кода.
- Установка Helm:
Для начала вам необходимо установить Helm на локальный компьютер. Вот пример установки Helm в Linux с помощью менеджера пакетов:
$ curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
$ sudo apt-get install apt-transport-https --yes
$ echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
$ sudo apt-get update
$ sudo apt-get install helm
- Создание Helm-диаграммы.
Чтобы создать новую Helm-диаграмму, вы можете использовать командуhelm create
. Это создаст базовую структуру диаграммы с файлами шаблонов для различных ресурсов Kubernetes. Вот пример:
$ helm create mychart
- Настройка диаграммы.
После создания диаграммы вы можете настроить ее, изменив файлы шаблонов. Например, вы можете определить ресурсы развертывания, обслуживания и входа для вашего приложения. Вот пример базового файлаdeployment.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Chart.Name }}
spec:
replicas: {{ .Values.replicaCount }}
template:
spec:
containers:
- name: {{ .Chart.Name }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
ports:
- containerPort: {{ .Values.service.port }}
- Упаковка и установка диаграммы.
Чтобы упаковать диаграмму, вы можете использовать командуhelm package
. При этом будет создан файл.tgz
, содержащий файлы диаграмм. Вот пример:
$ helm package mychart
Чтобы установить диаграмму в кластер Kubernetes, вы можете использовать команду helm install
. Вот пример:
$ helm install myrelease mychart-0.1.0.tgz
- Обновление и откат.
Helm позволяет обновить приложение до новой версии или выполнить откат к предыдущей версии. Вот команды для обновления и отката:
Обновление:
$ helm upgrade myrelease mychart-0.2.0.tgz
Откат:
$ helm rollback myrelease 1
Helm-диаграммы предоставляют удобный способ упаковки, развертывания и управления приложениями в Kubernetes. В этой статье мы рассмотрели различные методы работы с диаграммами Helm, включая установку, создание диаграмм, настройку, упаковку и установку в кластере Kubernetes. Используя Helm, вы можете оптимизировать рабочие процессы развертывания и обеспечить воспроизводимость развертывания приложений.