解決kubernetes預設證書1年有效期問題
阿新 • • 發佈:2018-11-28
拉取原始碼
cd /data && git clone https://github.com/kubernetes/kubernetes.git
安裝go環境
cd /data/soft && wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz tar zxvf go1.11.2.linux-amd64.tar.gz -C /usr/local 編輯/etc/profile檔案新增如下: #go setting export GOROOT=/usr/local/go export GOPATH=/usr/local/gopath export PATH=$PATH:$GOROOT/bin source /etc/profile 生效 驗證: go version go version go1.11.2 linux/amd64
修改原始碼
/data/kubernetes/staging/src/k8s.io/client-go/util/cert/cert.go
112 NotAfter: time.Now().Add(duration365d * 10).UTC(), 187 NotAfter: validFrom.Add(maxAge *10), 215 NotAfter: validFrom.Add(maxAge * 10),
原來1年 ; * 10 表示10年
編譯
cd /data/kubernetes/ && make WHAT=cmd/kubeadm
檢視編譯之後檔案
ls -l /data/kubernetes/_output/bin/kubeadm
替換kubeadm
mv /usr/bin/kubeadm /usr/bin/kubeadm_backup ln -s /data/kubernetes/_output/bin/kubeadm /usr/bin/kubeadm
重新初始化叢集
檢視證書
cd /etc/kubernetes/pki openssl x509 -in front-proxy-client.crt -noout -text |grep Not Not Before: Nov 28 09:07:02 2018 GMT Not After : Nov 25 09:07:03 2028 GMT openssl x509 -in apiserver.crt -noout -text |grep Not Not Before: Nov 28 09:07:04 2018 GMT Not After : Nov 25 09:07:04 2028 GMT