当前位置: 首页 > news >正文

k8s 证书更新

如何使用脚本更新Kubernetes集群证书

引言

Kubernetes集群中,由kubeadm初始化的证书有效期默认为一年。当这些证书接近或已经超过有效期时,它们必须被更新以保证集群的正常运作。本文将介绍如何使用特定脚本来更新这些证书,将它们的有效期延长至十年。

准备工作

在开始之前,请确保你的环境满足以下条件:

  • 已经安装了git,以便能够从GitHub克隆脚本。
  • 你的Kubernetes集群是由kubeadm初始化的。
  • 你有足够的权限在master节点上执行操作。

拉取更新证书脚本

打开终端,执行以下命令来拉取脚本:

yum install git

git clone https://github.com/yuyicai/update-kube-cert.git

cd update-kube-cert

chmod 755 update-kubeadm-cert.sh

更新证书

接下来,使用以下命令更新证书。如果集群使用的是containerd作为容器运行时,记得加上--cri containerd参数;否则,使用默认的docker运行时。

./update-kubeadm-cert.sh all --cri docker

请注意,执行命令时应当使用./bash来调用脚本,避免直接使用sh,以防在某些Linux发行版中因sh并非指向bash而引发的不兼容问题。

处理控制面Pods

        执行完更新命令后,需要重启控制面的Pods。这是因为动态证书重载尚未被所有组件支持,所以手动重启是必要的。具体操作是将位于/etc/kubernetes/manifests/目录下的Pod清单文件临时移除,等待约20秒(取决于fileCheckFrequency值),然后将文件放回原处。这样kubelet将会终止和重新创建Pod,完成证书的更新。

输出示例与确认

执行更新后,脚本会输出类似的信息,列出已更新的证书和配置文件及其新的到期日期。例如:

此外,脚本还会记录备份和更新过程的日志,包括重启etcd、apiserver、controller-manager、scheduler等组件的信息,以及kubelet的重启。

总结

通过以上步骤,你可以成功地更新Kubernetes集群的证书,避免由于证书过期导致的集群不可用问题。记得在多master节点环境中,需要在每个master节点上重复执行上述步骤。

最后,确保检查更新后的集群状态,以验证更新过程是否成功,避免任何潜在的问题影响集群的稳定性和可用性。

参考资料
  • Kubernetes官方文档 - kubeadm证书手动更新

kubeadm certs renew all

通过以上指南,你可以有效地管理和维护Kubernetes集群的证书生命周期,确保集群的长期稳定运行。

http://www.lryc.cn/news/369204.html

相关文章:

  • Linux操作系统学习:day01
  • 【Oracle生产运维】数据库服务器负载过高异常排查处理
  • IIR和FIR两种滤波器有什么区别?
  • 让GNSSRTK不再难【第二天-第4部分】
  • 「OC」UI练习(一)—— 登陆界面
  • 基于机器学习和深度学习的NASA涡扇发动机剩余使用寿命预测(C-MAPSS数据集,Python代码,ipynb 文件)
  • 计算机组成原理-常见计算题含IEE754
  • InnoDB存储引擎非常重要的一个机制--MVCC(多版本并发控制)
  • 【DevOps】服务器硬件基础知识
  • 6.10 c语言
  • jenkins插件之Jdepend
  • vue3之基于el-image实现图片预览
  • wooyun_2015_110216-Elasticsearch-vulfocus
  • Fedora的远程桌面
  • CSS id选择器
  • 22.搭积木
  • 手机投屏到电脑时,手机提示连接失败
  • 软件测试--Mysql快速入门
  • 什么是PV操作
  • 差动放大器
  • 【数据结构与算法 经典例题】括号匹配问题
  • 2024年6月最新开源电视影视TVAPP原生源码和后台管理平台源码及完整教程
  • [大模型]GLM4-9B-chat Lora 微调
  • 目标检测算法YOLOv9简介
  • 达梦数据库搭建守护集群
  • OpenGL-ES 学习(6)---- Ubuntu OES 环境搭建
  • Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
  • 对象创建的4种模式
  • 如何判断 是否 需要 CSS 中的媒体查询
  • 设计模式-装饰器模式(结构型)