k8s-更改證書時間


k8s-更改證書時間

一 查看證書有效時間

如果用kubeadm安裝的k8s,則證書放在/etc/kubernetes/pki 這個目錄下,

然后查看證書時間,發現默認時間是一年

 

1 [root@k8s-master01 pki]# openssl x509 -in apiserver.crt -text -noout | grep Not
2             Not Before: Mar 19 17:36:19 2020 GMT
3             Not After : Mar 19 17:36:19 2021 GMT

 

 

 

1.1 go環境部署

 

wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
tar -zxvf go1.12.1.linux-amd64.tar.gz -C /usr/local
vi /etc/profile
export PATH=$PATH:/usr/local/go/bin
source /etc/profile

 


1.2 下載源碼

 

cd /data && git clone https://github.com/kubernetes/kubernetes.git
git checkout -b remotes/origin/release-1.15.1 v1.15.1
#因為我們安裝的是1.15的版本

 

 

 


1.3 修改 Kubeadm 源碼包更新證書策略

 

vim staging/src/k8s.io/client-go/util/cert/cert.go # kubeadm 1.14 版本之前
vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go # kubeadm 1.14 至今
const duration365d = time.Hour * 24 * 365
NotAfter: time.Now().Add(duration365d).UTC(),
make WHAT=cmd/kubeadm GOFLAGS=-v #編譯
cp _output/bin/kubeadm /root/kubeadm-new #拷貝

 

1.4更新kubeadm

 

 # 將 kubeadm 進行替換
cp /usr/bin/kubeadm /usr/bin/kubeadm.old
cp /root/kubeadm-new /usr/bin/kubeadm
chmod a+x /usr/bin/kubeadm

 

1.5 更新各節點證書至 Master 節點

 

cp -r /etc/kubernetes/pki /etc/kubernetes/pki.old
cd /etc/kubernetes/pki
# 更新
kubeadm alpha certs renew all --config=/root/kubeadm-config.yaml
#查看證書時間 openssl x509 -in apiserver.crt -text -noout | grep Not

 

 

更新:

kubeadm alpha certs renew all --config=/root/kubeadm-config.yaml

查看

然后再次查看證書時間,發現有效時間變成10年了

 

如果你有多個master節點,用腳本更新即可

 

scp -r /root/kubeadm-config.yaml root@192.168.1.211:/root/

 scp -r /usr/bin/kubeadm root@192.168.1.211:/usr/bin
 然后去1.211這台機器上面執行下面的命令去更新證書即可
 kubeadm alpha certs renew all --config=/root/kubeadm-config.yaml

 



 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM