Управление сертификатами
Установка собственного 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