Kubernetes集群延长证书过期时间至10年or100年(借助大神脚本,一键封神)---- 亲测有效

27 篇文章 3 订阅
22 篇文章 3 订阅

1:检查证书过期时间

 kubeadm certs check-expiration

这有效期一年,太憋屈了。

2、获取大神脚本

git clone https://github.com/yuyicai/update-kube-cert.git
cd update-kube-cert
chmod 755 update-kubeadm-cert.sh

3,执行大神脚本

注意、注意,注意,

该脚本只处理 master 节点上的证书,worker node 节点的 kubelet 证书默认自动轮换更新,无需关心过期问题

如果使用 containerd 作为 CRI 运行时: 执行脚本时增加--cri containerd参数,默认为docker运行

cri-docker  作为CRI 执行方式如下(默认)

./update-kubeadm-cert.sh all
or
./update-kubeadm-cert.sh all --cri docker

 containerd 作为 CRI 运行时 执行方式如下

./update-kubeadm-cert.sh all --cri containerd

我们看下作了那些操作。 

大神脚本牛🐮

执行时请使用 ./update-kubeadm-cert.sh all 或者 bash update-kubeadm-cert.sh all ,不要使用 sh update-kubeadm-cert.sh all,因为某些 Linux 发行版 sh 并不是链接到 bash,可能会不兼容 

如果有多个 master 节点,在每个 master 节点都执行一次(注意cri

 ./update-kubeadm-cert.sh all

4、再次检查证书是否已更新

 kubeadm certs check-expiration

核查node、pod是否正常运行

 kubectl get node -o wide
 kubectl get pod -o wide

5、手动重启控制平面 Pods(必须)

执行完此命令之后你需要重启控制面 Pods。因为动态证书重载目前还不被所有组件和证书支持,所有这项操作是必须的。 静态 Pods 是被本地 kubelet 而不是 API Server 管理, 所以 kubectl 不能用来删除或重启他们。 要重启静态 Pod 你可以临时将清单文件从 /etc/kubernetes/manifests/ 移除并等待 20 秒 (参考 KubeletConfiguration 结构 中的 fileCheckFrequency 值)。 如果 Pod 不在清单目录里,kubelet 将会终止它。 在另一个 fileCheckFrequency 周期之后你可以将文件移回去,为了组件可以完成 kubelet 将重新创建 Pod 和证书更新。 https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#manual-certificate-renewal

6、证书回滚

证书更新失败回滚 脚本会自动备份 /etc/kubernetes 目录到 /etc/kubernetes.old-$(date +%Y%m%d) 目录(备份目录命名示例:kubernetes.old-20240924) 若更新证书失败需要回滚,手动将备份 /etc/kubernetes.old-$(date +%Y%m%d)目录覆盖 /etc/kubernetes 目录

7、证书有效期设置为100年

将脚本那种的CERT_DAYS=3650 改为 36500,重新运行一次脚本

为了安全,不建议这样做。

为了安全,不建议这样做。

为了安全,不建议这样做。

我只是测试下😄

参考:update-kube-cert/README-zh_CN.md at master · yuyicai/update-kube-cert · GitHub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值