Для установки продукта «Форсайт. Мобильная платформа» на кластере Kubernetes выполните действия на первом главном узле кластера:
Скачайте архив cluster_charts*.zip.
Примечание. Для получения архива обратитесь в техническую поддержку по адресу support@fsight.ru или через сервисы технической поддержки, которые доступны после регистрации на сайте.
Распакуйте архив 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
Измените значение параметра 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
...
Измените место установки StackGres, который используется в качестве сервиса для создания баз данных на сервере мобильной платформы. Для этого в файле stackgres-operator/values.yaml измените значение параметра containerRegistry на <IP-адрес рабочего узла>:5000.
Убедитесь, что в файле fmp/chart/values.yaml закомментированы или отсутствуют строки:
# podSecurityContext:
# enabled: false
# containerSecurityContext:
# enabled: false
Установите оператор StackGres для работы мобильной платформы в кластере. Выполните команду из корня папки распакованного архива:
helm install -n stackgres stackgres-operator ./stackgres-operator/stackgres-operator.tgz -f ./stackgres-operator/values.yaml
Установите продукт «Форсайт. Мобильная платформа». Выполните команду из корня папки распакованного архива:
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.
При необходимости можно удалить мобильную платформу с кластера.
Для удаления продукта «Форсайт. Мобильная платформа» с кластера выполните действия на первом главном узле кластера:
Объявите переменную CLUSTER_NAMESPACE:
CLUSTER_NAMESPACE=fmp
Удалите манифест fmp из пространства имён, указанного в переменной CLUSTER_NAMESPACE:
helm uninstall fmp -n ${CLUSTER_NAMESPACE} --timeout 30m0s
Удалите оставшиеся элементы, которые не удаляются вместе с манифестом 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
Удалите оператор StackGres вместе с CRD (Custom Resource Definitions):
helm uninstall -n stackgres
stackgres-operator
kubectl get crds -oname | grep "stackgres.io" | xargs kubectl
delete
Удалите приложение Grafana при необходимости:
helm uninstall -n fmp-monitoring
fmp-grafana
kubectl delete pvc -n fmp-monitoring --all
Удалите пространства имён fmp, stackgres, ongres, fmp-monitoring:
kubectl delete ns fmp stackgres ongres fmp-monitoring
После выполнения действий будет удалён продукт «Форсайт. Мобильная платформа» с кластера.
См. также:
Подготовка и развёртывание отказоустойчивого кластера на основе Kubernetes