Ответ
Helm-чарты (Helm Charts) — это пакеты с преднастроенными ресурсами Kubernetes. Их можно хранить в нескольких местах, в зависимости от потребностей команды и инфраструктуры:
-
Репозитории чартов (Chart Repositories) Это наиболее распространенный способ. Репозиторий — это обычный HTTP-сервер, который хранит упакованные чарты (
.tgz
файлы) и специальный файлindex.yaml
, описывающий их содержимое.- Публичные репозитории: Например, Artifact Hub, который является агрегатором многих публичных репозиториев.
- Частные репозитории: Можно развернуть самостоятельно с помощью таких инструментов, как ChartMuseum, Harbor или Nexus.
# Добавление репозитория helm repo add bitnami https://charts.bitnami.com/bitnami
-
Локальная файловая система Чарт может храниться просто как директория с файлами на вашем компьютере. Это удобно для разработки и отладки.
my-chart/ ├── Chart.yaml # Метаданные чарта ├── values.yaml # Значения по умолчанию ├── templates/ # Шаблоны Kubernetes-манифестов └── ...
-
Системы контроля версий (например, Git) Хранение исходного кода чартов в Git-репозитории — это стандартная практика для реализации подхода GitOps. Инструменты вроде ArgoCD или Flux могут автоматически синхронизировать чарты из Git в кластер Kubernetes.
-
OCI-совместимые реестры (OCI Registries) Начиная с Helm v3, чарты можно хранить как артефакты в реестрах контейнеров, таких как Docker Hub, Google Container Registry (GCR) или Azure Container Registry (ACR). Это современный подход, унифицирующий хранение Docker-образов и Helm-чартов.
# Сохранение и отправка чарта в OCI-репозиторий helm chart save my-chart my-registry/my-chart:1.0.0 helm chart push my-registry/my-chart:1.0.0