менеджер по сертификации - срок действия и процесс обновления моих сертификатов - PullRequest
0 голосов
/ 26 марта 2019

Я работаю с 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 

1 Ответ

1 голос
/ 26 марта 2019

Это не поддерживается на эмитентах \ clusterissuers, только на сертификатах. вы можете создать контроллеры доступа для изменения сертификатов или у вас может быть cronjob для обновления ресурсов сертификатов после их создания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...