trust-manager: раздавать внутренний CA в поды вместо копии бандла в томе #77
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Зачем
Вход в дашборд Hermes падал на
CERTIFICATE_VERIFY_FAILED, потому что discovery кhttps://sso.доменидёт кenvoy-internalс сертификатом от нашегоinternal-ca, а в образе системного стора этого CA нет. Сейчас закрыто копией бандла в томе (/opt/data/ca-internal-bundle.pem+SSL_CERT_FILE/REQUESTS_CA_BUNDLE/CURL_CA_BUNDLE) — PR #76.Минус этого решения: копия.
internal-caротируется (безduration— дефолт ~90 дней, лист шлюза 160h), после ротации файл устареет и вход снова упадёт с той же ошибкой, причём молча — никто не следит за mtime файла в PVC.Что сделать
trust-manager(чартoci://quay.io/jetstack/charts/trust-manager, 0.25.x) — в kubesearch он в ~24 деплоях.Bundle, источник — наш внутренний CA (Certificate/internal-caсisCA: true, ключtls.crt), цель — ConfigMap с ключомca.crtв те namespace, чьим подам нужен CA (минимумgrachevko).hermes: монтировать этот ConfigMap read-only и указатьSSL_CERT_FILE/REQUESTS_CA_BUNDLEна него вместо файла в томе; удалить копию из PVC.*.домен(а не по внутрикластерному http-адресу).Критерий готовности
grep -r ca-internal-bundle.pem kubernetes/пусто; копии CA нет ни в git, ни в Vault, ни в PVC.Рецепт и разбор альтернатив — скилл
home-ops-cluster,references/oidc-internal-provider.md(раздел «Про раздачу CA»);BackendTLSPolicyдля этой цели не подходит (caCertificateRefs— только свой namespace).Решение владельца (2026-09-20): trust-manager не ставим. После остановки Deckhouse этот кластер публикуется наружу и получает сертификаты Let's Encrypt — внутренний CA перестаёт быть нужен подам, и вся ветка с раздачей
internal-caстановится неактуальной сама собой. Копия бандла в PVC (/opt/data/ca-internal-bundle.pem+SSL_CERT_FILE/REQUESTS_CA_BUNDLE/CURL_CA_BUNDLE, PR #76) выбрана как сознательный временный костыль.Дедлайн, который важно не проспать:
Certificate/internal-caв кластере —renewalTime 2026-11-15T19:27:51Z,notAfter 2026-12-15T19:27:51Z(проверено в кластере). ДляisCA: true+selfsignedперевыпуск — это новая пара ключей, то есть копия в томе перестанет проверять лист шлюза и вход в дашборд упадёт с тем жеCERTIFICATE_VERIFY_FAILED. Значит к 15.11.2026 нужно одно из двух:tls.crtиз Secretinternal-caв nscert-managerи пересобрать бандл с системными корнями) и обновить эту задачу.Если окажется, что публичных сертификатов ждать долго (не один цикл ротации), задача снова становится актуальной — тогда вернуться к варианту с trust-manager (рецепт в скилле
home-ops-cluster,references/oidc-internal-provider.md).