Kubeadm 更新k8s集群证书为10年
默认由 kubeadm 生成的客户端证书在 1 年后到期。可以使用 kubeadm certs check-expiration
命令查看集群证书有效期。
kubeadm 会在集群升级的时候更新所有证书。这个功能旨在解决最简单的用例;如果你对此类证书的更新没有特殊要求, 并且定期执行 Kubernetes 版本升级(每次升级之间的间隔时间少于 1 年), 则 kubeadm 将确保你的集群保持最新状态并保持合理的安全性。
除此之外,我们可以通过重新编译 Kubeadm 从而使用kubeadm生成10年或更长有效期的证书
1、配置 GO 环境
1 | [root@k8s-master downloads]# wget https://golang.google.cn/dl/go1.19.1.linux-amd64.tar.gz |
2、对 kubernetes 源码进行修改
下载源码
1 | [root@k8s-master ~]# git clone https://github.com/kubernetes/kubernetes.git |
修改 kubeadm 源代码
1 | # ca证书默认是10年,需要更长时间可以进行修改 |
编译成 二进制文件
1 | [root@k8s-master kubernetes]# make WHAT=cmd/kubeadm GOFLAGS=-v |
编译后的产物在 kubernetes/_output/local/bin/linux/amd64/
目录下
3、kubeadm 更新 k8s证书
1 | # 查看集群证书有效期 |
也可以使用 https://github.com/yuyicai/update-kube-cert
开源项目进行证书更新