您的位置:首页 > 其它

kubernetes_01_kubeadm方式安装_02_apiserver证书默认有效期修改_kubeadm重新编译_20191023

2020-03-29 13:03 447 查看

api server证书默认有效期只有一年,这是kubeadm方式安装集群需要解决的一个问题

思路:修改kubeadm源码api server证书有效期变量为10年,重新编译生成kubeadm,替换默认kubeadm。

 

1.查看kubeadm版本

[root@k8s-ha-master03 ~]# kubeadm version

kubeadm version: &version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:15:32Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

2.编译kubeadm源码

编译机:

  1. 系统版本:linux/amd64 
  2. 硬件环境:2核cpu,4GB内存以上(最好6GB以上)

2.1 下载go语言环境(建议选择go中文社区下载)

# wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz

# tar -C /usr/local -xzf go1.12.5.linux-amd64.tar.gz

# vim /etc/profile

export PATH=$PATH:/usr/local/go/bin

# source /etc/profile

# go version

2.2 下载kubeadm源码

# git clone https://github.com/kubernetes/kubernetes.git

# cd kubernetes

# git checkout -b remotes/origin/release-1.15.1 v1.15.1

2.3 修改kubeadm源码

1.14版本以前

# vim staging/src/k8s.io/client-go/util/cert/cert.go

kubeadm 1.14至今

# vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go

在函数中新增一个常量:duration3650d

func NewSignedCert(){

        const duration3650d = time.Hour * 24 * 365 * 10

        NotAfter: time.Now().Add(duration3650d).UTC(),

}

2.4 编译

# make WHAT=cmd/kubeadm GOFLAGS=-v

# chmod a+x _output/bin/kubeadm

3. 替换默认kubeadm

# cp /usr/bin/kubeadm{,.bakup}

From 编译机:

# scp _output/bin/kubeadm root@k8s-ha-master01:/usr/bin/

4. 集群安装完成后,查看apiserver证书有效期:

# openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout

Validity

        Not Before: Mar 11 07:37:53 2020 GMT

        Not After : Mar 23 11:56:50 2030 GMT

 

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
一默1991 发布了47 篇原创文章 · 获赞 5 · 访问量 3万+ 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: