k8s 集群更新证书,可修改至任意年限

证书查看

for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`;do openssl x509 -in $item -text -noout| grep Not;echo ======================$item===============;done

除了ca根证书,其他证书有效期都是1年

安装go语言环境

yum -y install go

检查go 版本

Kubernetes源码下载与更改证书策略(一定要对应其版本,我的k8s版本为1.18.8)

wget https://github.com/kubernetes/kubernetes/archive/v1.18.8.tar.gz

解压下载的文件

tar -zxvf v1.18.8.tar.gz

修改配置年限信息配置,共两个地方

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

// 添加如下行 有效时间 10 年

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

NotAfter: time.Now().Add(effectyear).UTC(), // 修改行

解压目录下执行

make WHAT=cmd/kubeadm GOFLAGS=-v

将更新后的kubeadm拷贝到指定位置,更新kubeadm并备份原证书

mv /usr/bin/kubeadm /usr/bin/kubeadm_bak

cp -a _output/bin/kubeadm  /usr/bin/kubeadm

chmod 755 /usr/bin/kubeadm

原证书备份

cp -a /etc/kubernetes/pki/ /etc/kubernetes/pki_bak

证书更新

kubeadm config print init-defaults > /tmp/kubeadm-config.yaml

kubeadm alpha certs renew all --config=/tmp/kubeadm-config.yaml

你可能感兴趣的:(k8s 集群更新证书,可修改至任意年限)