修改kubeadm證書過期時間
阿新 • • 發佈:2018-11-23
sea bin gof git clone you releases () install bash
kubernetes集群三步安裝
修改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) }
完美
修改kubeadm證書過期時間