![Page 1: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/1.jpg)
HelmПакетный менеджер
для Kubernetes
![Page 2: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/2.jpg)
![Page 3: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/3.jpg)
Решаемые задачи• Развертывание.
• Переиспользование конфигурации.
• Кастомизация конфигурации.
![Page 4: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/4.jpg)
• Chart - пакет.
• Release - инсталяция пакета.
Терминология
![Page 5: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/5.jpg)
Архитектура
helm (client) tiller (сервер) api server (k8s)gRPC REST
Cluster sideClient side
![Page 6: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/6.jpg)
Структура проекта...helmChart.yamltemplatesconfigmap.yamldeployment.yamlservice.yaml..
values.yamlvalues.dev.yamlvalues.prod.yamlvalues.test.yaml
![Page 7: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/7.jpg)
Описание чартаapiVersion: v1description: Rec Gateway Servicename: rec-gatewayversion: 1.0.0
![Page 8: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/8.jpg)
Шаблонизация template:
metadata:
labels:
app: deis-database
spec:
serviceAccount: deis-database
containers:
- name: deis-database
image: {{ .Values.imageRegistry }}/postgres:{{ .Values.dockerTag }}
imagePullPolicy: {{ .Values.pullPolicy }}
ports:
- containerPort: 5432
env:
- name: DATABASE_STORAGE
![Page 9: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/9.jpg)
Управление чартами
• helm install -f values.yaml -f values.dev.yaml --set imageTag=dev-123 my-chart
• helm upgrade --install my-chart
• helm --tiller-namespace tiller list
• helm rollback
![Page 10: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/10.jpg)
ПлагиныHelm template
• helm template -f values.yaml -f values.dev.yaml .
![Page 11: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/11.jpg)
Helm в Avito• Каталог helm в корне каждого репозитория сервиса.
• Запуск helm upgrade --install --wait на CI.
![Page 12: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/12.jpg)
Минусы (в деталях)• Относительная сырость решения.
• Поддержка окружений только при помощи шаблонизации.
• Отсутсвие логов в случае падения при --wait.
• rollback только на явно указанную версию.
![Page 13: Helm: пакетный менеджер для Kubernetes - Сергей Орлов (Avito)](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58e4cb7c1a28abc24e8b63b1/html5/thumbnails/13.jpg)
Вопросы