修改kubeadm證書過期時間
本文通過修改kubeadm源碼讓kubeadm默認的一年證書過期時間修改爲99年
我已經編譯好了一個放在了github上,有需要的可以直接下
代碼編譯
編譯環境鏡像我已經放到dockerhub上了:fanux/kubernetes-build:v1.0.0
首先clone k8s 代碼:
git clone https://github.com/kubernetes/kubernetes
掛載到鏡像中編譯
docker run --rm -v yourcodedir:/go/src/k8s.io/kubernetes -it fanux/kubernetes-build:v1.0.0 bash
# cd /go/src/k8s.io/kubernetes
# make all WHAT=cmd/kubeadm GOFLAGS=-v
編譯完產物在 _output/local/bin/linux/amd64/kubeadm 目錄下
修改代碼
證書時間代碼其實在client-go裏面,文件是:
vendor/k8s.io/client-go/util/cert/cert.go
然後看到這個NotAfter的都給改了即可:
NotAfter: validFrom.Add(duration365d * longYear)
我這裏longYear = 99
然後編譯完工
最後在代碼裏貼上小廣告:
func main() {
if err := app.Run(); err != nil {
fmt.Fprintf(os.Stderr, "error: %v\n", err)
os.Exit(1)
}
fmt.Println("*************************************************")
fmt.Println("**** ×××w.sealyun.com ***")
fmt.Println("**** kubernetes install in 3 steps ***")
fmt.Println("**** provide by fanux ***")
fmt.Println("*************************************************")
os.Exit(0)
}
完美