В некоторых случаях требуется доверять пользовательским сертификатам CA. Kyverno позволяет автоматически добавлять том, содержащий пользовательские сертификаты CA, в контейнеры с определённой меткой.
Установка состоит из двух этапов:
Шаг 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:
- Настройте политику добавления пользовательских сертификатов CA во все контейнеры. Политика включена по умолчанию — в параметре
kyverno.injectСerts.enabled
выставленоtrue
. - В параметре
kyverno.injectСerts.secretCA
укажите наименование Secret, созданного на шаге 1. В примере в данной статье — это значениеelma365-onpremise-ca
. Политика добавляет том, содержащий сертификат CA, ко всем контейнерам с меткойtier=elma365
. - Если в кластере Kubernetes установлено несколько экземпляров приложения ELMA365 On-Premises, но пользовательский сертификат CA нужно добавить только к части экземпляров приложений ELMA365, заполните параметр
kyverno.injectСerts.injectNamespace
.
В параметре kyverno.injectСerts.injectNamespace
указаваются namespace
экземпляров приложения ELMA365, для которых будет применена политика добавления сертификатов и добавлен том, содержащий сертификат CA. Убедитесь, что на шаге 1 Secret с сертификатом корневого CA были добавлены в namespace
, перечисленные в kyverno.injectNamespace
.
- Укажите наименование
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 где:
|
начало внимание
Установка компонента дополнений Kyverno автоматически не подключает том, содержащий сертификат CA, к уже запущенным подам приложения ELMA365. После установки Kyverno не забудьте перезапустить сервисы приложения ELMA365.
конец внимание