root@k8s-master01:~# kubeadm certs check-expiration
对现有证书进行备份
root@k8s-master01:~# cp -ra /usr/bin/kubeadm /usr/bin/kubeadm.bak
root@k8s-master01:~# cp -ra /etc/kubernetes /etc/kubernetes.bak
修改kubeadm源码
-
拉取k8s仓库代码
root@k8s-master01:~# git clone -b v1.29.4 https://github.com/kubernetes/kubernetes.git
root@k8s-master01:~# cd kubernetes
-
普通证书有效期修改
编辑cmd/kubeadm/app/constants/constants.go
root@k8s-master01:~# cd kubernetes/
root@k8s-master01:~/kubernetes# pwd
/root/kubernetes
root@k8s-master01:~/kubernetes# vim cmd/kubeadm/app/constants/constants.go
-
CA证书有效期修改
编辑staging/src/k8s.io/client-go/util/cert/cert.go文件
root@k8s-master01:~/kubernetes# pwd
/root/kubernetes
root@k8s-master01:~/kubernetes# vim staging/src/k8s.io/client-go/util/cert/cert.go
安装go环境
root@k8s-master01:~# wget https://studygolang.com/dl/golang/go1.21.11.linux-amd64.tar.gz
root@k8s-master01:~# tar xf go1.21.11.linux-amd64.tar.gz -C /usr/local/
root@k8s-master01:~# export PATH=$PATH:/usr/local/go/bin
root@k8s-master01:~# go version
root@k8s-master01:~# export GO111MODULE=on
root@k8s-master01:~# export GOPROXY=https://goproxy.cn
重新编译kubeadm
root@k8s-master01:~/kubernetes# pwd
/root/kubernetes
root@k8s-master01:~/kubernetes# apt install make
# 构建
root@k8s-master01:~/kubernetes# make WHAT=cmd/kubeadm GOFLAGS=-v
# 替换kubeadm
root@k8s-master01:~/kubernetes# cp -ra _output/bin/kubeadm /usr/bin/kubeadm
更新证书
root@k8s-master01:~/kubernetes# kubeadm certs renew all
更新完成后按提示重启相应的组件或直接重启节点(直接重启节点即可,一定要一个一个重启)
验证证书有效期



文章评论