有关CSR(证书签名请求)生存期的信息?

问题描述 投票:0回答:3

我使用kubeadm token create --print-join-command --ttl 0生成令牌,然后在我的工作节点上运行生成的join命令。这将生成一个可通过kubectl get csr查看的csr。

[37天后(我第一次检查可能更早),CSR不再从API返回。我找不到有关自动删除CSR或其生存期的任何信息。

任何人都知道有关此信息,是否有办法防止删除?

kubernetes kubeadm
3个回答
0
投票
kubeadm token create --print-join-command --ttl 0

此命令生成永不过期的令牌。在命令下面运行以列出令牌

kubeadm token list

0
投票

您可以运行openssl命令来检查证书信息

openssl x509 -in <cert_file_name> -text -noout

0
投票

在文档中找不到任何内容后,我查看了源代码并找到了CSRCleanerController:https://github.com/kubernetes/kubernetes/blob/29b09c7fb1a8d38ab9df4873553cc0b8d97aae95/pkg/controller/certificates/cleaner/cleaner.go

在里面说:

CSRCleanerController是一个垃圾收集旧控制器的控制器证书签名请求(CSR)。既然有机制自动创建CSR和自动批准的机制CSR,为了防止CSR随着时间的推移而积累,它是需要对它们进行GC。

如果CSR符合以下条件之一,则将被删除:符合以下条件:

  • CSR已获得证书的批准,并且其年龄足以超过GC发布的最后期限
  • CSR被拒绝并且其年龄足以超过GC拒绝的最后期限
  • CSR处于待定状态,并且其年龄足以超过GC的待定截止日期,CSR已通过证书批准,并且证书已过期。

时间是不可配置的,并且是:

  • 1小时后被批准删除
  • 1小时后拒绝删除
  • 24小时后删除待处理
© www.soinside.com 2019 - 2024. All rights reserved.