k8s证书100年

2023-11-10

访问:https://github.com/kubernetes/kubernetes/releases,下载特定版本源码

1 下载
wget -c https://github.com/kubernetes/kubernetes/archive/refs/tags/v1.28.3.tar.gz
tar xf v1.28.2.tar.gz
mv kubernetes-1.28.2 kubernetes
cd kubernetes

2、修改 CA 有效期为 100 年
vim ./staging/src/k8s.io/client-go/util/cert/cert.go
// 这个方法里面 NotAfter: now.Add(duration365d * 10).UTC()
// 默认有效期就是 10 年,改成 100 年 (sysin)
// 输入 /NotAfter 查找,回车定位
vim ./staging/src/k8s.io/client-go/util/cert/cert.go
//此文件修改如下内容
maxAge := time.Hour * 24 * 365 * 100 #修改后 给证书期限为100年

3、
vim ./cmd/kubeadm/app/constants/constants.go
// 就是这个常量定义 CertificateValidity,改成 * 100 年 (sysin)
// 输入 /CertificateValidity 查找,回车定位

4、vim ./cmd/kubeadm/app/constants/constants.go
//此文件修改如下内容
CertificateValidity = time.Hour * 24 * 365 * 100

5、验证一下已经正确修改:

cat ./staging/src/k8s.io/client-go/util/cert/cert.go | grep NotAfter
cat ./cmd/kubeadm/app/constants/constants.go | grep CertificateValidity

6、
https://github.com/kubernetes/community/blob/master/contributors/devel/development.md
yum groupinstall "Development Tools" -y #gcc, make etc.
yum install rsync jq -y

7、cat ./build/build-image/cross/VERSION
v1.22.0-go1.16.15-buster.0

# 这里下载go版本需要以 kube-cross 的 TAG 版本号 为准wget -c https://golang.google.cn/dl/go1.16.15.linux-amd64.tar.gz
tar zxvf go1.16.15.linux-amd64.tar.gz -C /usr/local
# 编辑 / etc/profile 文件添加如下:
#go setting
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export PATH=$PATH:$GOROOT/bin
#生效
source /etc/profile

go version

8、
# linux编译 kubeadm, 这里主要编译 kubeadm 即可
make all WHAT=cmd/kubeadm GOFLAGS=-v

# 编译 kubelet
# make all WHAT=cmd/kubelet GOFLAGS=-v

# 编译 kubectl
# make all WHAT=cmd/kubectl GOFLAGS=-v

#编译完产物在 _output/bin/kubeadm 目录下,
#其中 bin 是使用了软连接
#真实路径是_output/local/bin/linux/amd64/kubeadm
mv /usr/bin/kubeadm /usr/bin/kubeadm_backup
cp _output/local/bin/linux/amd64/kubeadm /usr/bin/kubeadm
chmod +x /usr/bin/kubeadm

9、
kubeadm version

kubeadm certs check-expiration

kubeadm certs renew all

分类:Linux | 标签: |

相关日志

评论被关闭!