update-kube-cert icon indicating copy to clipboard operation
update-kube-cert copied to clipboard

我想更新ca为100年,能不能实现呢?

Open slcnx opened this issue 1 year ago • 2 comments

slcnx avatar Jan 22 '24 01:01 slcnx

已收到您的邮件,我将及时查看并回复,谢谢                                                                                                                     王鑫

fenwuyaoji avatar Jan 22 '24 01:01 fenwuyaoji

可以实现,分两种情况:

  • 集群已经初始化,在跑业务了:参照 #16 的回答里面贴出的官方文档进行 ca 更换(这个操作麻烦,并且有风险,不建议操作,默认 ca 10 年才过期,可以到那时候再看看有没有更好的办法)
  • 集群还没有 init,正准备搭建一个新集群:这个很简单,且容易操作,使用 openssl 等工具,签发 100 年 ca 放到对应的目录,kubeadm init 阶段会先检查相应路径是否存在有效 ca,有的话会复用,没有才会生成默认 10 年有效期的 ca 证书。

PS:新 init 集群也可以通过修改 kubeadm 源码编译新的 kubeadm bin 来实现 100 年证书。此外我正有计划更新update-kube-cert ,使得它可以生成100年 ca,这样无需更改 kubeadm 源码,即可达到全部证书1 00 年有效。大概步骤是:

# 以下命令计划开放中... 不等于后续开发完成后使用过程一支,flag 是时定的
# 生成 100 年 ca
update-kube-cert --create ca --day 36500
# kubeadm 自带的 init certs 命令,复用 100 年 ca,生成默认 1 年各种 server、client 证书
kubeadm init certs
# 更新 kubeadm 生成的 1 年 server、client 证书为 100 年
update-kube-cert --init cert --day 36500
# 初始化 集群 (上面的步骤已经准备了一套有效的证书,这里 init 会复用所有证书)
kubeadm init

yuyicai avatar Jan 22 '24 02:01 yuyicai