升级k8s证书有效期为100年

安装go环境(1.12版本)

wget https://storage.googleapis.com/golang/go1.12.5.linux-amd64.tar.gz
tar -C /root -xzf go1.12.5.linux-amd64.tar.gz
vim ~/.bashrc
export GOPATH=/root/Go
export GOROOT=/root/go
export PATH=$PATH:$GOROOT/bin
source ~/.bashrc

重新编译kubernetes

cd /root/go/src
git clone https://github.com/kubernetes/kubernetes.git
git checkout v1.16.3#对应自己的版本
vim cmd/kubeadm/app/constants/constants.go #修改源代码
CertificateValidity = time.Hour * 24 * 365 * 100
make WHAT=cmd/kubeadm

备份原有的配置文件

cp /usr/bin/kubeadm{,.bak20210707}
cp -r /etc/kubernetes/pki{,.bak20210707}

替换原有的kubeadm

cp _output/bin/kubeadm /usr/bin/kubeadm

生成新的证书

cd /etc/kubernetes/pki
kubeadm alpha certs renew all

验证结果

[root@k8s-master-01 ~]# kubeadm alpha certs check-expiration
CERTIFICATE                EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
admin.conf                 Jun 13, 2121 09:31 UTC   99y             no      
apiserver                  Jun 13, 2121 09:31 UTC   99y             no      
apiserver-etcd-client      Jun 13, 2121 09:31 UTC   99y             no      
apiserver-kubelet-client   Jun 13, 2121 09:31 UTC   99y             no      
controller-manager.conf    Jun 13, 2121 09:31 UTC   99y             no      
etcd-healthcheck-client    Jun 13, 2121 09:31 UTC   99y             no      
etcd-peer                  Jun 13, 2121 09:31 UTC   99y             no      
etcd-server                Jun 13, 2121 09:31 UTC   99y             no      
front-proxy-client         Jun 13, 2121 09:31 UTC   99y             no      
scheduler.conf             Jun 13, 2121 09:31 UTC   99y             no 

其他两个master节点更新(分别在两个节点执行)

scp /usr/bin/kubeadm k8s-master-02:/usr/bin/ 
kubeadm alpha certs renew all

其他两个node更新

 scp /etc/kubernetes/pki/ca.crt  k8s-node-01:/etc/kubernetes/pki/