修改kubeadm证书过期时间
2018-11-07
文章目录
kubernetes集群三步安装
修改kubeadm证书过期时间
本文通过修改kubeadm源码让kubeadm默认的一年证书过期时间修改为99年
我已经编译好了一个放在了github上,有需要的可以直接下
使用方法:
1 2 3 复制
| [root@dev-86-202 ~]# chmod +x kubeadm && cp kubeadm usr/bin [root@dev-86-202 ~]# rm etc/kubernetes/pki/ -rf [root@dev-86-202 ~]# kubeadm alpha phase certs all --config kube/conf/kubeadm.yaml 复制
|
更新kubeconfig
1 2 3 复制
| [root@dev-86-202 ~]# rm -rf etc/kubernetes/*conf [root@dev-86-202 ~]# kubeadm alpha phase kubeconfig all --config ~/kube/conf/kubeadm.yaml [root@dev-86-202 ~]# cp etc/kubernetes/admin.conf ~/.kube/config 复制
|
验证:
1 2 3 4 5 6 7 8 9 10 11 复制
| $ cd /etc/kubernetes/pki $ openssl x509 -in apiserver-etcd-client.crt -text -noout Certificate: Data: Version: 3 (0x2) Serial Number: 4701787282062078235 (0x41401a9f34c2711b) Signature Algorithm: sha256WithRSAEncryption Issuer: CN=etcd-ca Validity Not Before: Nov 22 11:58:50 2018 GMT Not After : Oct 29 11:58:51 2117 GMT # 时间已经变成99年了 复制
|
其它证书验证同理
代码编译
编译环境镜像我已经放到dockerhub上了:fanux/kubernetes-build:v1.0.0
首先clone k8s 代码:
1 复制
| git clone https://github.com/kubernetes/kubernetes 复制
|
挂载到镜像中编译
1 2 3 复制
| 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里面,文件是:
1 复制
| vendor/k8s.io/client-go/util/cert/cert.go 复制
|
然后看到这个NotAfter的都给改了即可:
1 复制
| NotAfter: validFrom.Add(duration365d * longYear) 复制
|
我这里longYear = 99
然后编译完工
关注sealyun,一起玩容器
