k8s证书续期100年

废话不多说,相信各位大佬搜索到此文章,肯定是了解过k8s证书过期的情况的,咱们直接上干货。
1、准备一台linux服务器(自己的windows电脑也可以,只是为了方便环境隔离,我直接建了个虚拟机)
4核、4G内存、30G磁盘
2、安装go环境 (go语言环境要大于1.17)
cd /usr/local
wget https://golang.google.cn/dl/go1.23.4.linux-amd64.tar.gz
tar xvf go1.23.4.linux-amd64.tar.gz
配置环境变量
vi /etc/profile
添加下面2行到文件末尾
export PATH=$PATH:/usr/local/go/bin

export GOPATH=$HOME/go
让环境变量生效
source /etc/profile
3、到github上面找到k8s的源代码
image
https://codeload.github.com/kubernetes/kubernetes/zip/refs/heads/release-1.27
我用的是1.27版本的,所以我直接下载这个版本的压缩包。
下载完后,上传虚拟机并解压。(我觉得费事,直接在本地解压后上传服务器的)
4、进入k8s所在目录
cd kubernetes-release-1.27
(1)修改ca证书
vi ./staging/src/k8s.io/client-go/util/cert/cert.go
image
(2)修改api证书
vi ./cmd/kubeadm/app/constants/constants.go 
image
5、安装gcc
yum -y install gcc
6、设置代理(由于依赖需要从github上下载,总是出现依赖下载失败的情况,试了很多次都不行)
选择国内的镜像仓库,这里我选择的是阿里的。
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
7.、清理缓存
go clean -modcache
8、 重新下载依赖
go mod download
9.、编译
go build -o _output/bin/kubeadm cmd/kubeadm/kubeadm.go
10、替换
sudo cp _output/bin/kubeadm /usr/bin/kubeadm
设置执行权限
sudo chmod +x /usr/bin/kubeadm
验证一下:
kubeadm certs check-expiration
openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text |grep Validity -A2

本文参考了:https://mp.weixin.qq.com/s/TRukdEGu0Nm_7wjqledrRg
只是由于个人网络问题,无法直接安装依赖,特此记录一下。以上方式是经本人实践过后,发出的,本人也是小白,请各位大佬轻点喷,感激不尽。

posted @ 2025-11-04 11:07  一条java狗  阅读(11)  评论(0)    收藏  举报