0
点赞
收藏
分享

微信扫一扫

Kubeadm 更新证书指南

背景

Kubeadm 生成的 Kubernetes 证书默认有效期为一年,因此到期后需要进行更新。Kubeadm 在控制面升级的同时会更新所有证书,以确保集群保持最新状态并保持合理的安全性。

映响

当证书到期时,Kubeadm 提供了一种方便的方式来更新证书,以保障 Kubernetes 集群的正常运行和安全性。

思路

检查证书是否过期

可以使用以下命令检查证书是否过期:

kubeadm alpha certs check-expiration

或者使用 OpenSSL 检查:

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

备份集群证书和配置信息

在执行证书更新之前,建议备份集群的证书和配置信息:

kubeadm config view > kubeadm-cluster.yaml
cp -r /etc/kubernetes/ /etc/kubernetes_bak
cp -r /var/lib/etcd /var/lib/etcd.bak

执行更新

使用以下命令执行证书更新:

kubeadm alpha certs renew all

重启相关应用

在所有 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

脚本更新证书

如果你想一键更新所有 Master 节点上的证书,可以使用提供的脚本:

yum install git -y
git clone https://github.com/yuyicai/update-kube-cert.git
cd update-kube-cert/
chmod 755 update-kubeadm-cert.sh
./update-kubeadm-cert.sh all

该脚本将更新 Master 节点上的证书有效期为 10 年。

注意事项

  • 在执行证书更新之前,请确保已备份关键数据。
  • 定期执行 Kubernetes 版本升级也会自动更新证书,因此不必频繁手动更新证书。
  • 证书更新可能导致短暂的服务中断,因此在更新期间要小心监控集群状态。

以上步骤和脚本应该帮助您顺利更新 Kubeadm 管理的 Kubernetes 集群的证书,确保集群的安全和稳定运行。在执行操作之前,请仔细阅读每个步骤,并在非生产环境中测试。

举报

相关推荐

0 条评论