Перейти к основному содержимому
Версия: 8.0

Управление сертификатами

Установка собственного TLS сертификата

Если система установлена с использованием реального доменного имени и у вас имеется SSL-сертификат для этого домена(файлы fullchain.pem и privkey.pem), выполните следующую команду:

kubectl create secret tls {global-domain}-tls --cert={fullchain.pem} --key={privkey.pem} --dry-run -n production -o yaml | kubectl -n production replace -n production -f -
  • {global-domain} - замените на доменное имя системы, которое использовалось при установке Monq
  • {fullchain.pem} - замените на путь к цепочке сертификатов
  • {privkey.pem} - замените на путь к приватному ключу сертификата

Если используются сертификаты, подписанные корпоративным ЦС, необходимо добавить корневые сертификаты (CA) этого ЦС в Monq.

Добавление собственных корневых сертификатов в систему

В случаях возникновения ошибки в системе типа: "The SSL connection could not be established, see inner exception.", означает, что Monq не может установить защищенное соединение с внешней системой.

Самой распространенной причиной является отсутствие в Monq корневых сертификатов SSL (CA certificate), которыми подписан SSL-сертификат внешней системы.

Для решения данной проблемы необходимо добавить в хранилище сертификатов Monq (monq-ca-certificates) корневой сертификат, которым подписан SSL-сертификат внешней системы.

Пример команды, для добавления CA сертификата в хранилище monq-ca-certificates:

kubectl get secrets -n {namespace} monq-ca-certificates -o json | jq --arg newCert "$(cat External-CA.pem | base64)" '.data."External-CA.pem"=$newCert' | kubectl apply -f -
  • External-CA.pem - имя файла, добавляемого корневого сертификата
  • {namespace} - пространство K8s в котором установлен Monq

Для добавления других CA сертификатов в систему необходимо использовать уникальные имена файлов.

Внимание

Будьте внимательны и не повредите уже имеющиеся в хранилище monq-ca-certificates сертификаты:

  • monq.ca.crt.pem
  • monqinternal.ca.crt.pem.

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

kubectl rollout restart deployment -n production