1. 查看证书有效期
kubeadm certs check-expiration
2. 查看在用的Kubernetes版本号
kubeadm version
3. 下载Kubernetes源码
git clone https://github.com/kubernetes/kubernetes.git
cd kubernetes
git checkout v1.25.0
4. 修改代码时间
vim kubernetes/cmd/kubeadm/app/constants/constants.go
修改 CertificateValidity = time.Hour * 24 * 365 为 CertificateValidity = time.Hour * 24 * 365 * 100
5. 安装依赖
yum groupinstall "Development Tools" -y
yum -y install jq
wget https://dl.google.com/go/go1.19.linux-amd64.tar.gz
tar zxvf go1.19.linux-amd64.tar.gz -C /usr/local
# 添加Golang环境变量
# 编辑 /etc/profile 文件添加以下内容
#export GOROOT=/usr/local/go
#export GOPATH=/usr/local/gopath
#export PATH=$PATH:$GOROOT/bin
# source /etc/profile 生效
6. 编译
cd kubernetes
make WHAT=cmd/kubeadm GOFLAGS=-v
7. 替换kubeadm、更新证书
7.1 备份
mkdir /kubernetes_v1.25.0_bak
cp /usr/bin/kubeadm /kubernetes_v1.25.0_bak
cp -r /etc/kubernetes/pki /kubernetes_v1.25.0_bak
7.2 更新kubeadm
cp -f _output/bin/kubeadm /usr/bin/kubeadm
7.3 更新证书
cd /etc/kubernetes/pki
kubeadm certs renew all
7.4 重启生效
可以重启服务器或者重启kebelet
# 查看证书状态
kubeadm certs check-expiration