Skip to content

Установка чарта

Вариант 1: Установка из удалённого репозитория

Это самый простой способ установки, не требующий скачивания чарта локально.

helm upgrade --install $RELEASE_NAME oci://registry.hexway.io/charts/vampy \
  --version $RELEASE_VERSION \
  -n $RELEASE_NAMESPACE \
  --create-namespace

Вариант 2: Установка с кастомными настройками

Этот вариант позволяет установить чарт с кастомными настройками без необходимости скачивания чарта локально. Вы можете комбинировать различные настройки: настройку доступа через Ingress, использование внешней БД, настройку пользователей и другие параметры.

Шаг 1. Создайте файл с вашими настройками, например my-values.yaml.

Ниже приведены примеры различных настроек, которые можно комбинировать в одном файле:

Настройка доступа через Ingress

# Настройка Ingress для доступа к веб-интерфейсу
vDeck:
  ingress:
    enabled: true
    domainName: "vampy.company.com"
    ingressClassName: nginx

Настройка внешней базы данных

# Настройки внешней БД PostgreSQL
database:
  host: "postgres.company.com"
  port: "5432"
  name: "vampy"
  secretsKeyRefs:
    username:
      name: "<release_name>-vampy-config"  # Замените "<release_name>" на значение переменной $RELEASE_NAME
      key: "EXT_PG_USERNAME"
    password:
      name: "<release_name>-vampy-config"  # Замените "<release_name>" на значение переменной $RELEASE_NAME
      key: "EXT_PG_PASSWORD"

# Отключаем встроенный PostgreSQL
vPostgres:
  enabled: false

# Настройки внешнего Redis
redis:
  host: "redis.company.com"
  port: "6379"
  secretsKeyRefs:
    username:
      name: "vampy-vampy-config"  # Замените "vampy" на значение переменной $RELEASE_NAME
      key: "EXT_REDIS_USERNAME"
    password:
      name: "vampy-vampy-config"  # Замените "vampy" на значение переменной $RELEASE_NAME
      key: "EXT_REDIS_PASSWORD"

# Отключаем встроенный Redis
vRedis:
  enabled: false

⚠️ Важно: В YAML файле в поле name секрета необходимо вручную указать имя секрета в формате <имя_релиза>-vampy-config, где <имя_релиза> — это значение переменной окружения $RELEASE_NAME, установленной в разделе Переменные, используемые в инструкции. Например, если $RELEASE_NAME="vampy", то имя секрета будет vampy-vampy-config.

Альтернативный способ (для тестирования, не рекомендуется для production):

Если вы используете plain текстовые пароли для тестирования:

# Настройки внешней БД PostgreSQL
database:
  host: "postgres.company.com"
  port: "5432"
  name: "vampy"
  username: "vampy_user"
  password: "PostgresPassword123"

# Отключаем встроенный PostgreSQL
vPostgres:
  enabled: false

# Настройки внешнего Redis
redis:
  host: "redis.company.com"
  port: "6379"
  username: "vampy"
  password: ""

# Отключаем встроенный Redis
vRedis:
  enabled: false

⚠️ Важно: При использовании внешней БД:

  • Для production окружений рекомендуется использовать Kubernetes Secrets (см. Шаг 2 ниже)
  • База данных PostgreSQL должна быть создана заранее на внешнем сервере
  • Пользователь БД должен иметь права на создание таблиц, индексов и выполнение миграций (права CREATE, ALTER, SELECT, INSERT, UPDATE, DELETE на схему базы данных)

Другие настройки

# Настройка доступа по умолчанию
user:
  registration: off  # Отключить регистрацию новых пользователей
  default:
    rootLogin: root@ro.ot
    rootPassword: "SecurePassword123"

Пример комбинированной конфигурации

user:
  registration: off
  default:
    rootLogin: root@ro.ot
    rootPassword: "SecurePassword123"

vDeck:
  ingress:
    enabled: true
    domainName: "vampy.company.com"
    ingressClassName: nginx

database:
  host: "postgres.company.com"
  port: "5432"
  name: "vampy"
  secretsKeyRefs:
    username:
      name: "vampy-vampy-config"  
      key: "EXT_PG_USERNAME"
    password:
      name: "vampy-vampy-config"  
      key: "EXT_PG_PASSWORD"

vPostgres:
  enabled: false

redis:
  host: "redis.company.com"
  port: "6379"
  secretsKeyRefs:
    username:
      name: "vampy-vampy-config"  
      key: "EXT_REDIS_USERNAME"
    password:
      name: "vampy-vampy-config"  
      key: "EXT_REDIS_PASSWORD"

vRedis:
  enabled: false

Шаг 2. Если вы используете внешнюю БД с Kubernetes Secrets (не plain-пароли), создайте Kubernetes Secret с учетными данными:

kubectl create secret generic ${RELEASE_NAME}-vampy-config \
  --namespace=$RELEASE_NAMESPACE \
  --from-literal=EXT_PG_USERNAME='your_db_user' \
  --from-literal=EXT_PG_PASSWORD='your_db_password' \
  --from-literal=EXT_REDIS_USERNAME='your_redis_user' \
  --from-literal=EXT_REDIS_PASSWORD='your_redis_password'

⚠️ Важно: Если вы создаёте секрет вручную (до установки Helm чарта), Helm может выдавать предупреждение о том, что секрет не управляется Helm. Чтобы избежать этого, после создания секрета выполните следующие команды для добавления аннотаций Helm:

kubectl label secret ${RELEASE_NAME}-vampy-config -n $RELEASE_NAMESPACE app.kubernetes.io/managed-by=Helm --overwrite

kubectl annotate secret ${RELEASE_NAME}-vampy-config -n $RELEASE_NAMESPACE meta.helm.sh/release-name=$RELEASE_NAME --overwrite

kubectl annotate secret ${RELEASE_NAME}-vampy-config -n $RELEASE_NAMESPACE meta.helm.sh/release-namespace=$RELEASE_NAMESPACE --overwrite

Альтернативно, вы можете использовать другой секрет (не ${RELEASE_NAME}-vampy-config), которым Helm не будет пытаться управлять.

Шаг 3. Установите чарт с вашими настройками из удалённого репозитория:

helm upgrade --install $RELEASE_NAME oci://registry.hexway.io/charts/vampy \
  --version $RELEASE_VERSION \
  -n $RELEASE_NAMESPACE \
  --create-namespace \
  -f my-values.yaml

Вариант 3: Просмотр чарта и установка с локального чарта

Если вам нужно посмотреть структуру чарта, примеры конфигурации или установить из локальной копии, выполните следующие шаги:

Шаг 1. Скачайте и распакуйте чарт:

helm pull oci://registry.hexway.io/charts/vampy --version $RELEASE_VERSION --untar
cd vampy

Шаг 2. Просмотрите доступные параметры:

  • values.yaml - содержит все параметры конфигурации с значениями по умолчанию
  • values.override.production-example.yaml - пример production конфигурации

Шаг 3. Создайте файл с вашими настройками (например, my-custom-values.yaml) на основе примеров из чарта.

Шаг 4. Установите чарт с вашими настройками:

helm upgrade --install $RELEASE_NAME . \
  -n $RELEASE_NAMESPACE \
  --create-namespace \
  -f my-custom-values.yaml

⚠️ Важно: Не изменяйте файл values.yaml в чарте. Все кастомные настройки должны быть в отдельном файле с оверрайдами, который передается через флаг -f. Это гарантирует, что при обновлении чарта ваши настройки не будут потеряны, и вы получите новые значения по умолчанию из обновленной версии чарта.

Проверка установки

После установки проверьте статус релиза:

# Проверка статуса релиза
helm status $RELEASE_NAME -n $RELEASE_NAMESPACE

# Проверка запущенных подов
kubectl get pods -n $RELEASE_NAMESPACE

# Проверка сервисов
kubectl get services -n $RELEASE_NAMESPACE

# Проверка Ingress (если включён)
kubectl get ingress -n $RELEASE_NAMESPACE

Все поды должны быть в статусе Running. Это может занять несколько минут.

Получение доступа к приложению

После успешной установки вы можете получить доступ к веб-интерфейсу VAMPY:

Если используется Ingress:

  • Откройте браузер и перейдите по адресу, указанному в vDeck.ingress.domainName

Если используется LoadBalancer:

kubectl get service -n $RELEASE_NAMESPACE | grep vDeck

Используйте внешний IP-адрес LoadBalancer

Если используется порт-форвардинг для тестирования:

kubectl port-forward -n $RELEASE_NAMESPACE service/${RELEASE_NAME}-v-deck 8080:8080

Затем откройте http://localhost:8080 в браузере