證書查看
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語言環(huán)境
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(), // 修改行
解壓目錄下執(zhí)行
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