Установка чарта
Вариант 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. Скачайте и распакуйте чарт:
Шаг 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:
Используйте внешний IP-адрес LoadBalancer
Если используется порт-форвардинг для тестирования:
Затем откройте http://localhost:8080 в браузере