ELMA365 On-premises > Установка ELMA365 Standard / Установка в существующий kubernetes-кластер

Установка в существующий kubernetes-кластер

ELMA365 On-Premises можно установить в уже существующий Kubernetes-кластер. ELMA365 поставляется в виде двух helm-чартов:

  • elma365-extensions набор БД и хранилищ, необходимых для работы ELMA365. Также есть возможность использовать собственные базы данных PostgreSQL, MongoDB, Redis, RabbitMQ, хранилище S3, указав строки подключения к ним values чарта elma365. При этом в файле values-extensions.yaml установку соответствующих компонентов можно отключить, выставив занчение false (например для PostgreSQL: global.postgresql.enabled). Если все пять компонентов чарта будут выставлены в  false, то установка этого чарта не требуется. Узнать больше о создании БД вы можете из статьи «Создание внешних баз данных».
  • elma365 — чарт с ELMA365.

Установка производится с использованием Helm v.3 в два этапа.

Установка чарта elma365-extension

  1. Заполните переменные в файле values-extensions.yaml. При использовании своих БД установку встроенных БД можно отключить.
  2. Если требуется создать отдельный namespace, укажите его во всех командах установки.
  3. Выполните команду:

helm install elma365-extensions ./elma365-extensions -f values-extensions.yaml [-n namespace]

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

  1. Заполните переменные в файле values-elma365.yaml.
  2. Если необходимо восстановить дамп, то перед установкой чарта elma365 выполните скрипт elma365db.sh из чарта elma365:

./elma365db.sh --restore --namespace elma365 --path /backup/path/ [--kubeconfig /path/to/config --context prod]

  1. Выполните установку командой:

helm install elma365 ./elma365 -f values-elma365.yaml --timeout=30m [-n namespace]

  1. Сохраните файл values-elma365.yaml для последующих обновлений.
  2. Для создания дампа можно воспользоваться скриптом elma365db.sh:

./elma365db.sh --dump --namespace elma365 --path /backup/path/ [--kubeconfig /path/to/config --context prod]

Установка средств мониторинга (опционально)

  1. Создайте namespace для приложений мониторинга командой:

kubectl create ns monitoring

  1. Скачайте helm-чарт addons по ссылке в разделе Ссылки для скачивания helm-чартов.
  2. Выполните установку чарта командой:

helm install addons ./addons -f values-addons.yaml -n monitoring

  1. В файле values-elma365.yaml чарта elma365 включите дэшборды :

dashboard: 
enabled: true

  1. Обновите приложение elma365 командой:

helm upgrade elma365 ./elma365 -f values-elma365.yaml --timeout=30m

Обновление версии ELMA365

В новом чарте замените файл values-elma365.yaml  файлом, сохранённым на этапе установки, а затем выполните команду:

 helm upgrade elma365 ./elma365 -f values-elma365.yaml --timeout=30m [-n namespace]

Удаление

Для удаления чартов выполните команды:

helm uninstall elma365 [-n namespace]

helm uninstall elma365-extensions [-n namespace] 

Требования к конфигурации Kubernetes

Установленная версия кластера kubernetes должна поддерживать Kubernetes API v.2, Kubernetes version 1.19.

Должно быть разрешено проксирование из pod’ов во внешнюю сеть.

При использовании microk8s в качестве готового кластера Kubernetes, убедитесь, что установлены следующие компоненты:

  • storage - Default storage class
  • dns - CoreDNS
  • rbac - RBAC
  • ingress - Ingress controller
  • helm3 - Helm3

Для включения используется команда microk8s.enable, например для ingress это выглядит так:

microk8s.enable ingress

Ingress controller должен быть настроен согласно следующей конфигурации:

  extraPortMappings:
  - containerPort: 80
    hostPort: 80
    protocol: TCP
  - containerPort: 443
    hostPort: 443
    protocol: TCP

В случае установки кластера с помощью Kubernetes in Docker (KinD) необходимо указать включить ingress controller в конфигурационном файле при создании:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  kubeadmConfigPatches:
    kind: InitConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "ingress-ready=true"
  extraPortMappings:
  - containerPort: 80
    hostPort: 80
    protocol: TCP
  - containerPort: 443
    hostPort: 443
    protocol: TCP

Ссылки для скачивания helm-чартов

elma365-extension: https://dl.elma365.com/onPremise/chart/latest/elma365-extensions.tar.gz

elma365: https://dl.elma365.com/onPremise/chart/latest/elma365.tar.gz

addons: https://dl.elma365.com/onPremise/chart/latest/addons.tar.gz

Также можно скачать конкретную версию, например для 2021.5.2:

elma365-extension: https://dl.elma365.com/onPremise/chart/release/elma365-extensions-2021.5.2.tar.gz

elma365: https://dl.elma365.com/onPremise/chart/release/elma365-2021.5.2.tar.gz

Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас