首页 > 数据库 > 数据库开发技术 > kubernetes证书过期怎么处理?
作用
Kubernetes默认的证书有效期都是1年,因此需要我们每年都更新证书,显然这对我们实际生产环境来说是很不友好的;因此我们要对Kubernetes的SSL证书有效期进行修改。

环境
kubernetes 版本 1.18 release-1_001.18.zip
服务器 ip 配置
master1 192.168.50.60 2c2G
master2 192.168.50.61 2c2G
node1 192.168.50.62 2c2G
node2 192.168.50.62 2c2G

go 环境部署
# wget https://studygolang.com/dl/golang/go1.15.5.linux-amd64.tar.gz
# tar -zxvf go1.15.5.linux-amd64.tar.gz -C /usr/local
# vi /etc/profile
# export PATH=$PATH:/usr/local/go/bin
# source /etc/profile

下载源码
# cd /data && git clone https://github.com/kubernetes/kubernetes.git
# git checkout -b remotes/origin/release-1.18 v1.18

修改 Kubeadm 源码包更新证书策略
# vim staging/src/k8s.io/client-go/util/cert/cert.go # kubeadm
1.14 版本之前
# vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go
# kubeadm 1.14 至今

const effectyear = time.Hour * 24 * 365 * 100 有效期100 年
NotAfter: time.Now().Add(effectyear).UTC()
# make WHAT=cmd/kubeadm GOFLAGS=-v
将更新后的kubeadm拷贝到指定位置
cp -a _output/bin/kubeadm /root/kubeadm-new

更新 kubeadm 替换原证书
将 kubeadm 进行替换
cp /usr/bin/kubeadm /usr/bin/kubeadm.old
cp /root/kubeadm-new /usr/bin/kubeadm
chmod a+x /usr/bin/kubeadm

更新各节点证书至 Master 节点
cp -r /etc/kubernetes/pki /etc/kubernetes/pki.old
cd /etc/kubernetes/pki
kubeadm config view > /tmp/cluster.yaml
kubeadm alpha certs renew all --config=/tmp/cluster.yaml
for i in $(ls *.crt); do echo "===== $i ====="; openssl x509 -in $i -text -noout | grep -A3 'Validity' ; done


HA集群其余 mater 节点证书更新
admin.conf /etc/kubernetes/pki 下所有证书


认真做好每一件事
微信号|yfq940-

@
扫码关注我们
原文作者:步步运维步步坑;如有侵权,请联系管理员删除。