ELMA365 On-Premises > ELMA365 On-Premises Enterprise > Установка дополнений для приложения ELMA365 / Установка External Secrets Operator 

Установка External Secrets Operator

External Secrets Operator — оператор для Kubernetes, который интегрирует внешние системы управления секретами, такие как HashiCorp Vault. Оператор считывает информацию из внешних API и автоматически создаёт секреты Kubernetes.

Установка External Secrets Operator состоит из нескольких этапов:

  1. Загрузка Helm-чарта и конфигурационного файла External Secrets Operator.
  2. Заполнение конфигурационного файла External Secrets Operator.
  3. Установка External Secrets Operator с помощью Helm в Kubernetes-кластер.
  4. Настройка параметра создания секрета elma365-db-connections в Helm-чарте ELMA365.

Шаг 1: Загрузка Helm-чарта и конфигурационного файла External Secrets Operator

Для установки через интернет получите конфигурационный файл values-external-secrets.yaml, выполнив команду:

helm repo add elma365 https://charts.elma365.tech 
helm repo update
helm show values elma365/external-secrets > values-external-secrets.yaml

Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет

Шаг 2: Заполнение конфигурационного файла External Secrets Operator

Заполните конфигурационный файл values-external-secrets.yaml для установки сервиса external-secrets:

  1. В параметре namespace укажите namespace, в котором установлено приложение ELMA365.
  2. В параметре serverVault вместо значения http://vault-server.vault:8200/ укажите адрес, по которому доступен сервис Vault. В примере ниже указан сервис Vault, установленный в Kubernetes в namespace vault.
  3. В параметрах kvPath, keyPath и kvVersion укажите данные механизма секретов kv в Vault.
  4. В параметрах authKubernetesRole и authKubernetesServiceAccount укажите сервисный аккаунт и роль, которая связывает политику с сервисным аккаунтом Kubernetes.
  5. В параметрах раздела key укажите ключи секрета в Vault.

// Настройки external-secrets
external-secrets:
// настройки секрета elma365-db-connections
  elma365DBConnections:
// namespace, где будет установлена ELMA365 и создан секрет (перед установкой его необходимо создать)
    namespace: elma365
// адрес сервера vault
    serverVault: "http://vault-server.vault:8200"
// путь, по которому включен механизм секретов kv
    kvPath: "secret"
// путь до секрета в vault
    keyPath: "elma365/db"
// версия механизма секретов kv
    kvVersion: "v2"
// роль, которая связывает политику с сервисным аккаунтом Kubernetes
    authKubernetesRole: "read-secret-elma365"
// сервисный аккаунт в кластере Kubernetes
    authKubernetesServiceAccount: "vault-auth"
// ключи секрета в vault
    key:
      psqlUrl: PSQL_URL
      roPsqlUrl: RO_POSTGRES_URL
      mongoUrl: MONGO_URL
      amqpUrl: AMQP_URL
      redisUrl: REDIS_URL
      vahterMongoUrl: VAHTER_MONGO_URL
      s3BackendAddress: S3_BACKEND_ADDRESS
      s3BackendRegion: S3_REGION
      s3Bucket: S3_BUCKET
      s3Key: S3_KEY
      s3SecretAccessKey: S3_SECRET
      s3SslEnabled: S3_SSL_ENABLED
      s3Method: S3_UPLOAD_METHOD
      s3DumpUrl: S3_DUMP_URL
      s3VirtualHostedStyleEnabled: S3_VIRTUAL_HOSTED_STYLE_ENABLED
// количество реплик для обеспечения высокой доступности
  replicaCount: 1
// CRD применяются автоматически из директории /crds
  installCRDs: false
...

Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет

Шаг 3: Установка External Secrets Operator с помощью Helm в Kubernetes-кластер

Выполните установку сервиса external-secrets в отдельный namespace, например, в external-secrets. Namespace будет создан во время установки, если не был создан ранее.

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

helm upgrade --install external-secrets elma365/external-secrets -f values-external-secrets.yaml -n external-secrets --create-namespace 

Для офлайн-установки без доступа в интернет перейдите в каталог с загруженным чартом и выполните команду:

helm upgrade --install external-secrets ./external-secrets -f values-external-secrets.yaml -n external-secrets --create-namespace

Проверьте, что сервис external-secrets создан:

kubectl get external-secrets -n elma365

Проверьте созданный секрет:

kubectl describe secrets elma365-db-connections -n elma365 

Шаг 4: Настройка параметра создания секрета elma365-db-connections в Helm-чарте ELMA365

Перед установкой или обновлением Helm-чарта ELMA365 необходимо отключить создание секрета elma365-db-connections с параметрами конфигурационного файла values-elma365.yaml. Для этого в values-elma365.yaml в параметре db.enabled установите значение false.

Подробнее об установке и обновлении ELMA365 читайте в статьях «Установка ELMA365 Enterprise» и «Обновление версии ELMA365 Enterprise».

Удалить чарт External Secrets Operator с помощью Helm в Kubernetes-кластере

Чтобы удалить сервис external-secrets в namespace external-secrets, выполните команду:

helm uninstall external-secrets -n external-secrets