k8s證書續期100年
廢話不多說,相信各位大佬搜索到此文章,肯定是了解過k8s證書過期的情況的,咱們直接上干貨。
1、準備一臺linux服務器(自己的windows電腦也可以,只是為了方便環境隔離,我直接建了個虛擬機)
4核、4G內存、30G磁盤
2、安裝go環境 (go語言環境要大于1.17)
cd /usr/local
wget https://golang.google.cn/dl/go1.23.4.linux-amd64.tar.gz
tar xvf go1.23.4.linux-amd64.tar.gz
配置環境變量
vi /etc/profile
添加下面2行到文件末尾
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
讓環境變量生效
source /etc/profile
3、到github上面找到k8s的源代碼

https://codeload.github.com/kubernetes/kubernetes/zip/refs/heads/release-1.27
我用的是1.27版本的,所以我直接下載這個版本的壓縮包。
下載完后,上傳虛擬機并解壓。(我覺得費事,直接在本地解壓后上傳服務器的)
4、進入k8s所在目錄
cd kubernetes-release-1.27
(1)修改ca證書
vi ./staging/src/k8s.io/client-go/util/cert/cert.go

(2)修改api證書
vi ./cmd/kubeadm/app/constants/constants.go

5、安裝gcc
yum -y install gcc
6、設置代理(由于依賴需要從github上下載,總是出現依賴下載失敗的情況,試了很多次都不行)
選擇國內的鏡像倉庫,這里我選擇的是阿里的。
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
7.、清理緩存
go clean -modcache
8、 重新下載依賴
go mod download
9.、編譯
go build -o _output/bin/kubeadm cmd/kubeadm/kubeadm.go
10、替換
sudo cp _output/bin/kubeadm /usr/bin/kubeadm
設置執行權限
sudo chmod +x /usr/bin/kubeadm
驗證一下:
kubeadm certs check-expiration
openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text |grep Validity -A2
本文參考了:https://mp.weixin.qq.com/s/TRukdEGu0Nm_7wjqledrRg
只是由于個人網絡問題,無法直接安裝依賴,特此記錄一下。以上方式是經本人實踐過后,發出的,本人也是小白,請各位大佬輕點噴,感激不盡。

浙公網安備 33010602011771號