Установка продукта «Форсайт. Мобильная платформа» на кластере

Для установки продукта «Форсайт. Мобильная платформа» на кластере Kubernetes выполните действия на первом главном узле кластера:

  1. Скачайте архив cluster_charts*.zip.

Примечание. Для получения архива обратитесь в техническую поддержку по адресу support@fsight.ru или через сервисы технической поддержки, которые доступны после регистрации на сайте.

  1. Распакуйте архив cluster_charts*.zip и создайте пространства имён stackgres и fmp в распакованной директории:

kubectl create namespace stackgres
kubectl create namespace fmp
kubectl create rolebinding serviceaccounts-view --namespace=stackgres --clusterrole=view --group=system:serviceaccounts:fmp

  1. Измените значение параметра storageClass на «longhorn» в файле ./fmp/values.production.yaml, который содержится в распакованном архиве:

...
 data:
   replicaCount: 3
   persistence:
     size: 8Gi
     storageClass: longhorn
...
sgClusters:
 maindb:
   instanceProfile: "size-s"
   instances: 2
   pods:
     disableConnectionPooling: false
     disableMetricsExporter: false
     disablePostgresUtil: false
     persistentVolume:
       storageClass: longhorn
...
 cachedb:
   instanceProfile: "size-s"
   instances: 2
   pods:
     disableConnectionPooling: false
     disableMetricsExporter: false
     disablePostgresUtil: false
     persistentVolume:
       storageClass: longhorn
...

  1. Измените место установки StackGres, который используется в качестве сервиса для создания баз данных на сервере мобильной платформы. Для этого в файле stackgres-operator/values.yaml измените значение параметра containerRegistry на <IP-адрес рабочего узла>:5000.

  2. Убедитесь, что в файле fmp/chart/values.yaml закомментированы или отсутствуют строки:

#  podSecurityContext:
#    enabled: false
#  containerSecurityContext:
#    enabled: false

  1. Установите оператор StackGres для работы мобильной платформы в кластере. Выполните команду из корня папки распакованного архива:

helm install -n stackgres stackgres-operator ./stackgres-operator/stackgres-operator.tgz -f ./stackgres-operator/values.yaml

  1. Установите продукт «Форсайт. Мобильная платформа». Выполните команду из корня папки распакованного архива:

helm install fmp ./fmp/chart -n fmp -f ./fmp/values.production.yaml --set django.deployment.image.registry=<IP-адрес рабочего узла>:5000/fmp --set global.imageRegistry=<IP-адрес рабочего узла>:5000/fmp --set nginx.ingress.hostname=<хост сервера мобильной платформы> --set fluentd.enabled=true --timeout 30m0s

В подстановке <хост сервера мобильной платформы> укажите имя сервера, по которому будет доступна мобильная платформа.

Если установка продукта «Форсайт. Мобильная платформа» должна выполняться от имени другой учётной записи ServiceAccount, то добавьте в команду параметр django.deployment.serviceAccountName:

--set django.deployment.serviceAccountName=<имя ServiceAccount>

При использовании другой учётной записи стандартная учётная запись и роли ServiceAccount не будут созданы.

Для настройки дополнительных параметров при установке продукта «Форсайт. Мобильная платформа» обратитесь к разделам:

После выполнения действий на кластере будет установлен продукт «Форсайт. Мобильная платформа» и доступен по адресу, указанному в параметре nginx.ingress.hostname.

При необходимости можно удалить мобильную платформу с кластера.

Удаление продукта «Форсайт. Мобильная платформа» с кластера

Для удаления продукта «Форсайт. Мобильная платформа» с кластера выполните действия на первом главном узле кластера:

  1. Объявите переменную CLUSTER_NAMESPACE:

CLUSTER_NAMESPACE=fmp

  1. Удалите манифест fmp из пространства имён, указанного в переменной CLUSTER_NAMESPACE:

helm uninstall fmp -n ${CLUSTER_NAMESPACE} --timeout 30m0s

  1. Удалите оставшиеся элементы, которые не удаляются вместе с манифестом fmp:

kubectl delete pvc -n ${CLUSTER_NAMESPACE} --all
kubectl delete job -n ${CLUSTER_NAMESPACE} --all
kubectl delete deployment -n ${CLUSTER_NAMESPACE} --all
kubectl delete secrets -n ${CLUSTER_NAMESPACE} --all

  1. Удалите оператор StackGres вместе с CRD (Custom Resource Definitions):

helm uninstall -n stackgres stackgres-operator
kubectl get crds -oname | grep "stackgres.io" | xargs kubectl delete

  1. Удалите приложение Grafana при необходимости:

helm uninstall -n fmp-monitoring fmp-grafana
kubectl delete pvc -n fmp-monitoring --all

  1. Удалите пространства имён fmp, stackgres, ongres, fmp-monitoring:

kubectl delete ns fmp stackgres ongres fmp-monitoring

После выполнения действий будет удалён продукт «Форсайт. Мобильная платформа» с кластера.

См. также:

Подготовка и развёртывание отказоустойчивого кластера на основе Kubernetes