Skip to content

更改源码更改证书可用时间

更改源码更改证书可用时间

1、go环境部署

$ mkdir data ; cd data
$ wget https://studygolang.com/dl/golang/go1.20.linux-amd64.tar.gz

$ tar -xf go1.20.linux-amd64.tar.gz -C /usr/local/

$ vim /etc/profile
export PATH=$PATH:/usr/local/go/bin     #加入此行

$ source /etc/profile

2、下载源码

需要先解决github访问的问题,本次使用 fastgithub

上传 fastgithub :

image-20230210091916870

$ unzip fastgithub_linux-x64.zip -d /usr/local/
$ cd /usr/local/fastgithub_linux-x64
$ yum -y install libicu
$ nohup ./fastgithub & ; tail -f nohup.out


# 另开一个终端
$ vim /etc/profile
export http_proxy=http://127.0.0.1:38457
export https_proxy=https://127.0.0.1:38457

$ source /etc/profile

下载 Kubernetes 源码:

$ cd /root/data
$ git clone https://github.com/kubernetes/kubernetes.git

# 进入源码。切换与当前kubernetes对应的版本
$ cd kubernetes ; kubeadm version       # 查询版本
$ git checkout -f -b remotes/origin/release-1.15.1 v1.15.1      # 不保留当前版本,强制切换至1.15.1

3、修改 Kubeadm 源码包更新证书策略

$ vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go


        const duration3650d = time.Hour * 24 * 365 * 100
                NotAfter:     time.Now().Add(duration3650d).UTC(),

image-20230210095110370

# 编译kubeadm
$ make WHAT=cmd/kubeadm/ GOFLAGS=-v

$ cp _output/bin/kubeadm /root/kubeadm-new

4、更新 kubeadm

$ cp /usr/bin/kubeadm /usr/bin/kubeadm.old
$ cp /root/kubeadm-new /usr/bin/kubeadm
$ chmod a+x /usr/bin/kubeadm

5、更新master节点证书

$ cp -r /etc/kubernetes/pki /etc/kubernetes/pki.old
$ cd /etc/kubernetes/pki
$ kubeadm alpha certs renew all --config=/usr/local/kubernetes/install/kubeadm-config.yqml


# 验证证书有效期
$ openssl x509 -in apiserver.crt -text -noout |grep Not

6、更新其他master节点的证书