K8S集群修改100年證書


1、查看當前集群的證書時間,使用命令:
for i in /etc/kubernetes/pki/*.crt;do echo $i; openssl x509 -in $i -text -noout|egrep "Not Before|Not After";echo "-----------";done
或者使用命令openssl x509 -in apiserver.crt -text -noout也可查看到證書時間(其中apiservr.crt代表的是API的證書,)

2、下載Go語言環境(可通過百度搜索go中文社區進行下載)
wget https://studygolang.com/dl/golang/go1.17.5.linux-amd64.tar.gz
3、解壓Go安裝包到/usr/local/下
tar -xvf go1.17.5.linux-amd64.tar.gz -C /usr/local/
4、將 export PATH=$PATH:/usr/local/go/bin 寫入到/etc/profile
5、刷新環境變量配置文件生效
source /etc/profile
6、驗證Go版本
go version ————>go version go1.17.5 linux/amd64
7、將K8S源碼拉去到本地
git clone https://github.com/kubernetes/kubernetes.git
8、切換到指定的k8s版本
cd /kubernetes && git checkout -b remotes/origin/release-1.12 v1.22.4 #我這里K8S版本為V1.22.4 可通過kubeadm version 查詢自己使用的版本
9、修改kubeadm源碼包默認證書策略
vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go
將652行的kubeadmconstants.CertificateValidity替換為time.Hour*24*365*100

10、重新編譯kubeadm (過程耗時較長,耐心等待)
make WHAT=cmd/kubeadm GOFLAGS=-v
11、重新編譯后的kubeadm會放在_output/bin/kubeadm,可將其先放在/root
cp _output/bin/kubeadm /root/
12、備份舊的kubeadm並將新的替換上
cp /usr/bin/kubeadm /usr/bin/kubeadm.bak
cp kubeadm /usr/bin/ #將新的kubeadm替換
chmod a+x /usr/bin/kubeadm #賦予執行權限
13、備份舊的證書
cp -r /etc/kubernetes/pki /etc/kubernetes/pki.bak
14、重新生成證書
kubeadm alpha certs renew all --config= /root/init-k8s/kubeadm-config.yaml #其中--config后面的文件代表初始化集群時用到的yaml文件


免責聲明!

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



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