Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
slcnx opened this issue Jan 22, 2024 · 2 comments
Open

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

slcnx opened this issue Jan 22, 2024 · 2 comments

Comments

@slcnx
Copy link

slcnx commented Jan 22, 2024

No description provided.

@fenwuyaoji
Copy link

fenwuyaoji commented Jan 22, 2024 via email

@yuyicai
Copy link
Owner

yuyicai commented Jan 22, 2024

可以实现,分两种情况:

  • 集群已经初始化,在跑业务了:参照 How to update ca.crt to delay the expiretime? #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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants