Используя Kubernetes 1.12.6-gke.7 или выше, можно создать ManagedCertificate, на который затем ссылаются из Ingress Resource, открывающего Сервис Интернету.
Выполнение kubectl Описание управляемого сертификата-name-name сначала указывает, что сертификат находится в состоянии Provisioning, но в конечном итоге переходит в FailedNotVisible.
Несмотря на использование статического IP-адреса и DNS, которые разрешаются в соответствии с http-версией указанноговсе службы ManagedCertificate находятся в состоянии «Status: FailedNotVisible».
Описание того, что я делаю:
Создание зарезервированного (статического) внешнего IP-адреса
Настройка DNS Запись в CloudDNS на subdomain.domain.com для создания IP-адреса с шага 1.
- Создание сертификата ManagedCertificate с именем «subdomain-domain-certificate»с kubectl применить -f с spec: домены, содержащие один домен, соответствующий DNS-записи subdomain.domain.com на шаге 2.
- Создание простого развертывания и предоставление его службы
- Создание ресурса Ingress со ссылкой на ресурспо умолчанию бэкэнд службы на шаге 4, а также аннотации для статического ip, созданные в step 1 и управляемый сертификат, сгенерированный на шаге 3.
- Подтвердите, что Ingress создан и ему назначен статический IP
- Visiting http://subdomain.domain.com обслуживает вывод из модуля, созданного в развертывании на шаге 4
Через некоторое время
kubectl описывает управляемый сертификат subdomain-domain-certificate
приводит к «Status: FailedNotVisible».
Name: subdomain-domain-certificate
Namespace: default
Labels: <none>
Annotations: <none>
API Version: networking.gke.io/v1beta1
Kind: ManagedCertificate
Metadata:
Creation Timestamp: 2019-04-15T17:35:22Z
Generation: 1
Resource Version: 52637
Self Link: /apis/networking.gke.io/v1beta1/namespaces/default/managedcertificates/subdomain-domain-certificate
UID: d8e5a0a4-5fa4-11e9-984e-42010a84001c
Spec:
Domains:
subdomain.domain.com
Status:
Certificate Name: mcrt-ac63730e-c271-4826-9154-c198d654f9f8
Certificate Status: Provisioning
Domain Status:
Domain: subdomain.domain.com
Status: FailedNotVisible
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Create 56m managed-certificate-controller Create SslCertificate mcrt-ac63730e-c271-4826-9154-c198d654f9f8
Из того, что я понимаю, если балансировщик нагрузки настроен правильно (сделано под капотом в ресурсе ManagedCertificate) и DNS (который разрешается нормально для конечной точки не https) проверяет, что сертификат должен войти в статус: Активное состояние?