简介
kubernetes集群上kubeadm 安装的证书默认为 1 年,注意原证书文件必须保留在服务器上才能做延期操作,否则就会重新生成,集群可能无法恢复,这里在证书快到期之前进行续期操作。

证书续期

方式一(推荐)

一、准备工作
1、查看证书有效期
命令: kubeadm certs check-expiration

2、更新证书
命令: kubeadm certs renew all

3、重启master相关组件服务(重启后读取使用新证书)

docker ps |grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' |xargs docker restart

方式二

具体操作
查看证书到期时间
一般k8s证书文件都在/etc/kubernetes/pki/下

openssl x509 -noout -text -in /etc/kubernetes/pki/apiserver.crt

多个证书一起查看到期时间

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

开始续期
一般是更新master节点证书文件(如果是但master节点则直接执行下面步骤,如果是高可用多master节点则所有master节点都需要执行下面步骤)

备份配证书目录

mkdir /backups/ && cp -r /etc/kubernetes/pki /backups/

生成配置文件

kubeadm config view > /data/backups/cluster.yaml

更新所有证书(对所有证书进行续期)

kubeadm alpha certs renew all --config=/data/backups/cluster.yaml

重启master相关组件服务(重启后读取使用新证书)

docker ps |grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' |xargs docker restart

再次查看证书到期时间,查看是否成功续期

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

开源、云原生的融合云平台

更多推荐