Я работаю с cert-manager и kong-ingress-controller для включения https в kubernetes.
Мне интересно узнать, как проходит процесс обновления, когда я просто использую ClusterIssuer
исертификат, который он генерирует по умолчанию, когда мы используем входящий ресурс.
Я не использую ресурс kind: Certificate
, это означает, что я не определяю пользовательский сертификат X.509, который должен быть подписан, и получаю сертификат, подтвержденный ссылкой на мой ClusterIssuer
.
На данный момент я создал ClusterIssuer
и один входной ресурс, который автоматически создает один сертификат с именем letsencrypt-prod
, который будет использоваться для проверки http01
между cert-manager
и letsencrypt CA
Наконец, у меня есть такой вывод:
I0321 10:49:48.505664 1 controller.go:162] certificates controller: syncing item 'default/letsencrypt-prod'
I0321 10:49:48.506008 1 conditions.go:143] Found status change for Certificate "letsencrypt-prod" condition "Ready": "False" -> "True"; setting lastTransitionTime to 2019-03-21 10:49:48.506003434 +0000 UTC m=+168443.026129945
I0321 10:49:48.506571 1 sync.go:263] Certificate default/letsencrypt-prod scheduled for renewal in 1438h59m58.49343646s
I0321 13:57:46.226424 1 controller.go:168] certificates controller: Finished processing work item "default/letsencrypt-prod"
I0321 15:12:53.199067 1 controller.go:178] ingress-shim controller: syncing item 'default/kong-ingress-service'
I0321 15:12:53.199171 1 sync.go:183] Certificate "letsencrypt-prod" for ingress "kong-ingress-service" is up to date
Это означает, что мой сертификат будет восстановлен в течение 1438h-59m-58.49343646s .Это означает, что приблизительно 3 месяца
Это означает, что будет автоматически восстановлено на самом деле?
, как указано здесь :
Длительность по умолчанию для всех сертификатов составляет 90 дней, а окна обновления по умолчанию - 30 дней.Это означает, что сертификаты считаются действительными в течение 3 месяцев, а попытка продления будет предпринята в течение 1 месяца после истечения срока действия.
В документации менеджера по сертификации указано:
Хотя срок действия и продлениепериоды указываются в ресурсах сертификата, соответствующий эмитент или ClusterIssuer должны это поддерживать.
Мой эмитент кластера:
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: my-email@example.com
privateKeySecretRef:
name: letsencrypt-prod
http01: {}
Как управлять duration
иrenewBefore
параметры, если я не создаю ресурс сертификата.?
В соответствии с этим я могу добавить параметры duration
и renewBefore
в мой ClusterIssuer?Может быть, так?
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: my-email@example.com
privateKeySecretRef:
name: letsencrypt-prod
http01: {}
# ...
duration: 24h
renewBefore: 12h