K8S集群修改100年证书

1、查看当前集群的证书时间,使用命令:
for i in /etc/kubernetes/pki/*.crt;do echo $i; openssl x509 -in \(i -text -noout|egrep "Not Before|Not After";echo "-----------";done 或者使用命令 openssl x509 -in apiserver.crt -text -noout 也可查看到证书时间(其中apiservr.crt代表的是API的证书,) ![](https://www.icode9.com/i/l/?n=20&i=blog/2324652/202112/2324652-20211213180214201-1272870800.png) 2、下载Go语言环境(可通过百度搜索go中文社区进行下载) wget https://studygolang.com/dl/golang/go1.17.5.linux-amd64.tar.gz 3、解压Go安装包到/usr/local/下 tar -xvf go1.17.5.linux-amd64.tar.gz -C /usr/local/ 4、将 export PATH=\)PATH:/usr/local/go/bin 写入到/etc/profile中
5、刷新环境变量配置文件生效
source /etc/profile
6、验证Go版本
go version ————>go version go1.17.5 linux/amd64
7、将K8S源码拉去到本地
git clone https://github.com/kubernetes/kubernetes.git
8、切换到指定的k8s版本
cd /kubernetes && git checkout -b remotes/origin/release-1.12 v1.22.4 #我这里K8S版本为V1.22.4 可通过kubeadm version 查询自己使用的版本
9、修改kubeadm源码包认证书策略
vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go

将652行的kubeadmconstants.CertificateValidity替换为time.Hour24365*100


10、重新编译kubeadm (过程耗时较长,耐心等待)
make WHAT=cmd/kubeadm GOFLAGS=-v
11、重新编译后的kubeadm会放在_output/bin/kubeadm,可将其先放在/root下
cp _output/bin/kubeadm /root/
12、备份旧的kubeadm并将新的替换上
cp /usr/bin/kubeadm /usr/bin/kubeadm.bak
cp kubeadm /usr/bin/ #将新的kubeadm替换
chmod a+x /usr/bin/kubeadm #赋予执行权限
13、备份旧的证书
cp -r /etc/kubernetes/pki /etc/kubernetes/pki.bak
14、重新生成证书
kubeadm alpha certs renew all --config= /root/init-k8s/kubeadm-config.yaml #其中--config后面的文件代表初始化集群时用到的yaml文件

相关文章

Redis Cluster 提供了一种运行 Redis 安装的方法,其中数据&...
创建GitLab源码项目并上传示例代码 1. 创建GitLab源码项目 本...
1. 引言 在如今的技术世界中,随着微服务架构的广泛应用和云...
先看看结果有多轻量吧 官方文档:https://grafana.com/docs/...
一、安装环境说明 硬件要求 内存:2GB或更多RAM CPU: 2核CPU...
CEPH 简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph ...