证书查看
for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`;do openssl x509 -in $item -text -noout| grep Not;echo ======================$item===============;done
除了ca根证书,其他证书有效期都是1年
安装go语言环境
yum -y install go
检查go 版本
Kubernetes源码下载与更改证书策略(一定要对应其版本,我的k8s版本为1.18.8)
wget https://github.com/kubernetes/kubernetes/archive/v1.18.8.tar.gz
解压下载的文件
tar -zxvf v1.18.8.tar.gz
修改配置年限信息配置,共两个地方
vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go
// 添加如下行 有效时间 10 年
const effectyear = time.Hour * 24 * 365 * 10
NotAfter: time.Now().Add(effectyear).UTC(), // 修改行
解压目录下执行
make WHAT=cmd/kubeadm GOFLAGS=-v
将更新后的kubeadm拷贝到指定位置,更新kubeadm并备份原证书
mv /usr/bin/kubeadm /usr/bin/kubeadm_bak
cp -a _output/bin/kubeadm /usr/bin/kubeadm
chmod 755 /usr/bin/kubeadm
原证书备份
cp -a /etc/kubernetes/pki/ /etc/kubernetes/pki_bak
证书更新
kubeadm config print init-defaults > /tmp/kubeadm-config.yaml
kubeadm alpha certs renew all --config=/tmp/kubeadm-config.yaml