kubernetes集群系列资料18--K8S证书

K8S集群证书

K8S集群证书都放在/etc/kubernetes/pki/里,默认1年有效期;在自动更新K8S版本时会自动更新有效期,也可以手动更改。
修改K8S集群证书时间,需要配置GO语言环境。

cd /etc/kubernetes/pki/;ll  #查看K8S所有的证书文件;
openssl x509 -in apiserver.crt -text -noout #以文本形式输出证书信息,如:证书时间;

 

##配置go语言环境
wget https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz  #进入go语言中文社区下载go1.12.9.linux-amd64.tar.gz
tar -xzvf go1.12.9.linux-amd64.tar.gz -C /usr/local/
echo "export PATH=$PATH:/usr/local/go/bin">>/etc/profile
source /etc/profile
go version

 

 

 

kubectl version  #查看K8S版本并下载其源码;
cd;git clone https://github.com/kubernetes/kubernetes.git   #下载最新版本K8S源码;
cd kubernetes/;git checkout -b remote/origin/release-1.15.1 v1.15.1        #切换版本至指定版本1.15.1;

cat cmd/kubeadm/app/util/pkiutil/pki_helpers.go
cp cmd/kubeadm/app/util/pkiutil/pki_helpers.go{,.bak}

vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go
~~~~修改certTmpl~~~~~~~
const duration3650d = time.Hour * 24 * 365 * 10     #定义常量10年;
...
NotAfter:     time.Now().Add(duration3650d).UTC(),   #添加证书过期时间为10年;
~~~~修改certTmpl~~~~~~~

make WHAT=cmd/kubeadm GOFLAGS=-v  #重新编译kubeadm

##更新kubeadm
cp _output/bin/kubeadm /root/kubeadm-new
cp /usr/bin/kubeadm /usr/bin/kubeadm.bak
cp -f /root/kubeadm-new /usr/bin/kubeadm
chmod a+x /usr/bin/kubeadm

##更新各节点证书指master节点
cd /etc/kubernetes/pki
kubeadm alpha certs renew all --config=/root/install-k8s/core/kubeadm-config.yaml
openssl x509 -in apiserver.crt -text -noout |grep Not

 

 

 

 

 

posted on 2021-07-10 11:20  chalon  阅读(496)  评论(0编辑  收藏  举报