Информация о времени жизни CSR (запроса на подпись сертификата)? - PullRequest
0 голосов
/ 29 января 2020

Я использую kubeadm token create --print-join-command --ttl 0 для создания токена, а затем запускаю сгенерированную команду соединения на моем рабочем узле. В результате создается CSR, который можно просмотреть с помощью kubectl get csr.

. Через 37 дней (первый раз, когда я проверил снова, возможно, раньше) CSR больше не возвращается из API. Я не смог найти никакой информации об автоматическом c удалении CSR или их времени жизни.

Кто-нибудь получил информацию об этом и есть ли способ предотвратить удаление?

Ответы [ 2 ]

1 голос
/ 29 января 2020

После того, как я ничего не смог найти в документации, я посмотрел исходный код и обнаружил CSRCleanerController: https://github.com/kubernetes/kubernetes/blob/29b09c7fb1a8d38ab9df4873553cc0b8d97aae95/pkg/controller/certificates/cleaner/cleaner.go

Там написано:

CSRCleanerController - это контроллер, который собирает старые запросы на подпись сертификатов (CSR). Поскольку существуют механизмы, которые автоматически создают CSR, и механизмы, которые автоматически утверждают CSR, чтобы предотвратить наращивание CSR с течением времени, необходимо G C их.

CSR будут удалены, если они соответствовать одному из следующих критериев:

  • CSR утвержден с сертификатом и достаточно стар, чтобы пройти установленный срок G C
  • CSR отклонен и является старым достаточно для того, чтобы пройти крайний срок отказа G C
  • CSR находится в состоянии ожидания и достаточно стар, чтобы пройти крайний срок ожидания G C, CSR утвержден с сертификатом и срок действия сертификата истек.

Время не настраивается и составляет:

  • удаление разрешено через 1 час
  • удаление запрещено через 1 час
  • удалить в ожидании через 24 часа
0 голосов
/ 29 января 2020
kubeadm token create --print-join-command --ttl 0

эта команда генерирует токен с истекшим сроком действия. Запустите команду ниже, чтобы получить список токенов

kubeadm token list
...