前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修改kubeadm证书过期时间

修改kubeadm证书过期时间

作者头像
sealyun
修改2019-07-26 14:57:40
2K0
修改2019-07-26 14:57:40
举报
文章被收录于专栏:sealyun

修改kubeadm证书过期时间

2018-11-07

文章目录

  • 修改kubeadm证书过期时间
    • 代码编译
    • 修改代码

kubernetes集群三步安装

修改kubeadm证书过期时间

本文通过修改kubeadm源码让kubeadm默认的一年证书过期时间修改为99年

我已经编译好了一个放在了github上,有需要的可以直接下

使用方法:

代码语言:javascript
复制
[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

代码语言:javascript
复制
[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

验证:

代码语言:javascript
复制
$ 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 代码:

代码语言:javascript
复制
git clone https://github.com/kubernetes/kubernetes

挂载到镜像中编译

代码语言:javascript
复制
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里面,文件是:

代码语言:javascript
复制
vendor/k8s.io/client-go/util/cert/cert.go

然后看到这个NotAfter的都给改了即可:

代码语言:javascript
复制
NotAfter:  validFrom.Add(duration365d * longYear)

我这里longYear = 99

然后编译完工

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 sealyun 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修改kubeadm证书过期时间
    • 文章目录
    • 修改kubeadm证书过期时间
      • 代码编译
        • 修改代码
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档