Kubernetes 1.25 更新证书为100年

486 阅读1分钟

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