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)
}

完美