← Назад к вопросам

Где хранятся Helm Chart?

1.0 Junior🔥 92 комментариев
#Контейнеризация и DevOps

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Где хранятся Helm Charts?

Helm Charts хранятся в реестрах (registry), аналогичных реестрам Docker образов. Реестр Helm Chart — это серверное хранилище, которое позволяет публиковать, скачивать и управлять версиями Chart. Основные варианты размещения:

1. Официальный Artifact Hub (ранее Helm Hub)

Это центральный агрегатор Chart от различных источников. Artifact Hub не хранит Charts напрямую, а предоставляет метаданные и ссылки на реестры, где они расположены. Это основной источник для поиска общедоступных Charts.

2. Частные и публичные реестры OCI

С версии Helm 3.8 Charts могут храниться как OCI (Open Container Initiative) артефакты в совместимых реестрах. Это позволяет использовать стандартные Docker реестры (например, Docker Hub, GitHub Container Registry, Google Container Registry, Amazon ECR, Quay.io). Chart хранится в виде специфического OCI артефакта, а управление осуществляется командами helm push, helm pull.

# Пример работы с OCI реестрами
helm pull oci://registry.example.com/charts/myapp --version 1.0.0
helm push myapp-1.0.0.tgz oci://registry.example.com/charts

3. Реестры ChartMuseum

ChartMuseum — это специализированный сервер для хранения Helm Charts, который предоставляет REST API и поддерживает различные backend хранилища (например, Amazon S3, Google Cloud Storage, Azure Blob Storage, минимальное хранилище на диске).

# Пример deployment ChartMuseum в Kubernetes
helm repo add chartmuseum https://chartmuseum.github.io/charts
helm install chartmuseum chartmuseum/chartmuseum \
  --set env.open.DISABLE_API=false \
  --set persistence.enabled=true \
  --set persistence.size=10Gi

4. Хранилища на основе файловой системы

Chart могут храниться локально или на удалённых серверах как обычные архивы .tgz файлы. Для использования таких Chart необходимо добавить их в локальный список реестров (helm repo add). Это простой способ для внутреннего использования в организациях.

# Пример добавления локального реестра
helm repo add local-repo http://localhost:8080/charts
helm repo update
helm install myapp local-repo/myapp

5. Git репозитории

Chart могут храниться прямо в Git репозиториях (например, на GitHub, GitLab, Bitbucket). Для их использования можно скачать архив или добавить реестр через специальные прокси-серверы (например, helm-git плагин). Это удобно для версионного контроля и CI/CD процессов.

# Пример использования helm-git плагина
helm plugin install https://github.com/aslafy-z/helm-git
helm install myapp git+https://github.com/myorg/charts@myapp?ref=master

6. Внутренние реестры в Kubernetes экосистеме

Некоторые платформы предоставляют интегрированные реестры для Helm Charts:

  • RedHat OpenShift включает внутренний реестр для Chart.
  • Rancher управляет Chart через свои каталоги.
  • Harbor (реестр контейнеров) также поддерживает Helm Charts как OCI артефакты.

Ключевые термины и команды

  • helm repo add — добавляет реестр в локальный список.
  • helm repo update — обновляет информацию о Chart из всех добавленных реестров.
  • helm repo list — показывает список добавленных реестров.
  • helm search repo — поиск Chart в добавленных реестрах.
  • helm pull — скачивает Chart без установки.
  • helm push — публикует Chart в реестр (для OCI и ChartMuseum).

Пример работы с реестрами

# Добавляем публичный реестр
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

# Ищем Chart
helm search repo bitnami/nginx

# Устанавливаем Chart из реестра
helm install my-nginx bitnami/nginx --version 13.2.1

# Публикуем свой Chart в OCI реестр
helm package ./myapp-chart
helm push myapp-1.0.0.tgz oci://registry.mycompany.com/charts

Архитектура реестра Chart

Chart в реестре состоит из:

  • Файла Chart.yaml — метаданные Chart (версия, имя, описание).
  • Файлов шаблонов (templates) — Kubernetes манифесты.
  • Файла values.yaml — конфигурационные параметры.
  • Файлов зависимостей (requirements.yaml или dependencies.yaml) — ссылки на другие Chart.

Выбор реестра для проекта

Для выбора реестра учитывайте:

  • Публичный или частный доступ: OCI реестры удобны для смешанного использования.
  • Интеграция с CI/CD: Git репозитории обеспечивают версионность.
  • Переносимость: OCI стандарт поддерживается многими платформами.
  • Безопасность: частные реестры (ChartMuseum, Harbor) обеспечивают контроль доступа.

Таким образом, Helm Charts хранятся в разнообразных реестрах, от публичных OCI хранилищ до частных Git репозиториев, что обеспечивает гибкость в управлении Kubernetes приложениями.