Skip to Content
АдминистраторамУстановкаУстановка Helm-чартов PrimoArt

Установка Helm-чартов PrimoArt

Описание

Установка и настройка микросервисов PrimoArt в Kubernetes-кластере с использованием Helm.

Требования

Перед началом убедитесь, что в вашей инфраструктуре выполнены следующие условия:

  • Установлен Kubernetes версии 1.24 или выше

  • Установлен и настроен kubectl

  • Установлен Helm версии 3.7 или выше

  • В кластере настроен Ingress Controller (например, NGINX)

  • DNS-сервер вашей среды разрешает домены вида *.primoart.local на Ingress Controller (в локальной среде можно использовать файл /etc/hosts)

  • Все образы приложений загружены в доступный Docker-репозиторий

  • TLS-сертификаты доступны через ClusterIssuer (например, self-signed или Let’s Encrypt)

Также необходимо наличие и доступность следующих внешних сервисов (с указанием параметров подключения в values-local.yaml / secrets-local.yaml):

ServicePurposeConnection example
PostgreSQLPrimary database for microservicesDB_HOST, DB_PORT, DB_USER
S3 storageStores logs, screenshots, and tracesS3_ENDPOINT, S3_ACCESS_KEY
OpenSearch / ElasticsearchSearch and storage for logs and tracesES_URL, ES_USER, ES_PASSWORD
ℹ️

Эти хранилища должны быть установлены, настроены и доступны из пространства имён primoart-local в Kubernetes.

Шаг 1. Настройка values-local.yaml и secrets-local.yaml

Перед установкой чарта pa-microservices необходимо отредактировать следующие файлы:

./pa-microservices/values-local.yaml ./pa-microservices/secrets-local.yaml

Для values-local.yaml измените следующие параметры:

  • Раздел image (для всех микросервисов): repository, tagЭти параметры нужно задать для каждого микросервиса: paAuth, paMath, paSTM, и т.д.

  • Раздел configmaps: DB_HOST, DB_PORT, S3_ENDPOINT, S3_LOG_BUCKET, S3_IMAGE_BUCKET, S3_TRACE_BUCKET, ES_URL

Для secrets-local.yaml измените следующие параметры в объекте Secret: DB_USER, DB_PASSWORD, S3_ACCESS_KEY, S3_SECRET_KEY, ES_USER, ES_PASSWORD

ℹ️

Описание параметров микросервисов доступно по ссылке.

Шаг 2. Установка компонентов

a. Создание ClusterIssuer (если нет внешнего CertManager)

Если вы не используете внешний ACME-сервер (например Let’s Encrypt), создайте self-signed ClusterIssuer и RootCA:

Создать RootCA:

kubectl apply -f Certficate/primoart-root-ca.yaml

Создать ClusterIssuer:

kubectl apply -f helm_charts/ClusterIssuer/cluster-issuer-selfsigned.yaml kubectl apply -f ClusterIssuer/primoart-ca-issuer.yaml

Если вы планируете использовать Let’s Encrypt staging, можно применить:

kubectl apply -f helm_charts/ClusterIssuer/cluster-issuer-staging-acme.yaml

Убедитесь, что CertManager установлен в кластере, иначе примените официальную инструкцию.

b. Установка IngressClass (если требуется)

kubectl apply -f helm_charts/Ingress/ingressclass.yaml

c. Создание namespace

kubectl create namespace primoart-local

Если namespace уже существует, эту команду можно пропустить.

Для namespace можно использовать любое другое имя.

d. Деплой микросервисов

Для pa-microservices

helm upgrade --install primoart-api-local \ ./pa-microservices \ --namespace primoart-local \ --create-namespace \ -f ./pa-microservices/values-local.yaml \ -f ./pa-microservices/secrets-local.yaml

Для pa-portal

helm upgrade --install primoart-portal-local \ ./pa-portal \ --namespace primoart-local \ --create-namespace \ --values ./pa-portal/values-local.yaml

Шаг 3. Проверка установки

Убедитесь, что все pods находятся в статусе Running:

kubectl get pods -n primoart-local

Проверьте доступность по следующим URL:

ServiceURL
Authhttps://auth.primoart.local/docs
RUMhttps://rum.primoart.local/docs
Corehttps://core.primoart.local/docs
STMhttps://stm.primoart.local/docs
Mathhttps://math.primoart.local/docs
Eventshttps://events.primoart.local/docs
EUEMhttps://euem.primoart.local/docs
Portalhttps://portal.primoart.local/docs

Если вы работаете в локальной среде, настройте /etc/hosts:

127.0.0.1 auth.primoart.local rum.primoart.local core.primoart.local stm.primoart.local math.primoart.local vl.primoart.local

Шаг 4. Тестирование

Проверьте доступность микросервисов через Swagger-интерфейс по соответствующим ссылкам (/docs) или выполнить простой curl:

curl -k https://auth.primoart.local/docs

Дополнительно

Проверка шаблонов Helm:

helm template pa-microservices ./pa-microservices \ -f ./pa-microservices/values-local.yaml \ -f ./pa-microservices/secrets-local.yaml

Удаление релиза:

helm uninstall primoart-api-local -n primoart-local
Last updated on