ELMA365 On-Premises > ELMA365 On-Premises Enterprise > Установка дополнений для приложения ELMA365 > Установка Kyverno / Политика добавления пользовательских сертификатов CA в контейнеры ELMA365

Политика добавления пользовательских сертификатов CA в контейнеры ELMA365

В некоторых случаях требуется доверять пользовательским сертификатам CA. Kyverno позволяет автоматически добавлять том, содержащий пользовательские сертификаты CA, в контейнеры с определённой меткой.

Установка состоит из двух этапов:

  1. Подготовка Secret с сертификатом корневого CA.
  2. Заполнение конфигурационного файла.

Шаг 1: Подготовка Secret с сертификатом корневого CA

Создайте Secret с сертификатом корневого CA в namespace, где установлено приложение ELMA365. Если в кластере Kubernetes установлено несколько экземпляров приложения ELMA365, добавьте Secret только в namespace нужных экземпляров ELMA365.

Создайте Secret с наименованием elma365-onpremise-ca в namespace, где установлено приложение ELMA365, выполнив команду:

kubectl create secret generic elma365-onpremise-ca --from-file=elma365-onpremise-ca.pem=/etc/ssl/certs/rootCA.pem [-n namespace]

Где в --from-file указывается путь до вашего сертификата корневого CA в формате .pem.

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

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

  1. Настройте политику добавления пользовательских сертификатов CA во все контейнеры. Политика включена по умолчанию — в параметре kyverno.injectСerts.enabled выставлено true.
  2. В параметре kyverno.injectСerts.secretCA укажите наименование Secret, созданного на шаге 1. В примере в данной статье — это значение elma365-onpremise-ca. Политика добавляет том, содержащий сертификат CA, ко всем контейнерам с меткой tier=elma365.
  3. Если в кластере Kubernetes установлено несколько экземпляров приложения ELMA365 On-Premises, но пользовательский сертификат CA нужно добавить только к части экземпляров приложений ELMA365, заполните параметр kyverno.injectСerts.injectNamespace.

В параметре kyverno.injectСerts.injectNamespace указаваются namespace экземпляров приложения ELMA365, для которых будет применена политика добавления сертификатов и добавлен том, содержащий сертификат CA. Убедитесь, что на шаге 1 Secret с сертификатом корневого CA были добавлены в namespace, перечисленные в kyverno.injectNamespace.

  1. Укажите наименование namespace для сервиса Kyverno, в данной статье — это значение kyverno. Для обеспечения высокой доступности задайте необходимое количество реплик в параметре kyverno.injectСerts.injectNamespace.

## Настройки kyverno
kyverno:
  ## политика добавляет том, содержащий сертификат CA, ко всем контейнерам с меткой tier=elma365
  injectСerts:
    enabled: true
    ## имя секрета с сертификатом корневого CA для работы https с самоподписанным сертификатом
    secretCA: elma365-onpremise-ca
    ## список namespace в которых будет применена политика
#    injectNamespace:
#      - elma365-dev
#      - elma365-prod
  ## namespace для kyverno (перед установкой его необходимо создать kubectl create ns kyverno)
  namespace: kyverno
  ## количество реплик для обеспечения высокой доступности
  replicaCount: 1
  ## установка crds (не требуется, добавлено в директорию crds)
  installCRDs: false
...

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

начало внимание

Установка компонента дополнений Kyverno автоматически не подключает том, содержащий сертификат CA, к уже запущенным подам приложения ELMA365. После установки Kyverno не забудьте перезапустить сервисы приложения ELMA365.

конец внимание