修改kubeadm证书过期时间

一曲冷凌霜 提交于 2020-11-21 04:08:11

修改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,一起玩容器


本文分享自微信公众号 - sealyun(gh_f33fe7b0c869)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!