update-kube-cert
update-kube-cert copied to clipboard
我想更新ca为100年,能不能实现呢?
已收到您的邮件,我将及时查看并回复,谢谢 王鑫
可以实现,分两种情况:
- 集群已经初始化,在跑业务了:参照 #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