首页 游戏 软件 资讯 排行榜 专题
首页
业界动态
K8S 证书又过期了,我一把给集群续了 100 年,一劳永逸

K8S 证书又过期了,我一把给集群续了 100 年,一劳永逸

热心网友
28
转载
2026-04-14

一次性将Kubernetes集群证书续期100年?先别急,小心这个“隐藏”的坑

相信不少运维同学都遇到过这样的头疼事:Kubernetes集群运行得好好的,突然某天就“失联”了。一查日志,证书过期。这事儿还真不是小概率事件,因为K8s默认颁发的组件证书有效期只有一年。一旦几个关键证书(比如apiserver、etcd)过期,整个集群瘫痪可不是开玩笑的——apiserver起不来,kubelet连不上,业务中断就在一瞬间。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

所以,一个很自然的想法就冒出来了:能不能一劳永逸,直接把证书有效期改成100年?今天我们就来详细拆解这个操作,过程看似简单,但里面有个关键反转,如果你没注意到,可能就白忙活一场。

这是修改前,证书的过期时间情况:

而我们的目标,是实现像下面这样的“百年大计”:

1. 将证书改为100年

假设我们手头有一个用kubeadm部署的K8s集群,版本是1.33.5,操作步骤如下。

第一步,导出kubeadm配置。

先通过ConfigMap把当前的集群配置导出来:

kubectl -n kube-system get cm kubeadm-config -o jsnotallow='{.data.ClusterConfiguration}' > kubeadm-new.yaml

第二步,修改证书有效期参数。

编辑刚才导出的 kubeadm-new.yaml 文件,找到并修改两个关键字段:

  • caCertificateValidityPeriod:CA证书的有效期
  • certificateValidityPeriod:普通组件证书的有效期

把它们都设置为 876000h0m0s。这里简单算一下,876000小时正好等于100年。两个参数分别针对CA证书和普通证书,这点很重要,后面我们会详细说。

第三步,更新所有证书并重启服务。

执行更新命令,并重启kubelet让更改生效:

kubeadm certs renew all --config kubeadm-new.yaml
systemctl restart kubelet

第四步,更新kubeconfig文件。

证书更新后,记得更新本地管理配置:

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

第五步,检查成果。

最后,用命令确认一下证书是否真的续到了100年后:

kubeadm certs check-expiration

2. 反转来了:CA证书根本没变

仔细看上面检查结果的截图,是不是发现了问题?组件证书的有效期确实遥遥无期了,但CA证书的过期时间,怎么还是9年多以后?

明明在配置文件里把 caCertificateValidityPeriod 也设成了100年,为什么它没生效?

这里就触及了Kubernetes kubeadm工具一个不太为人所知的“隐藏机制”:

kubeadm certs renew 命令只会更新由CA签发的“子证书”,而不会去更新“CA证书”本身。

换句话说,刚才那一通操作,只是用那个“旧的CA”重新签发了一批“新的长期子证书”。我们并没有,实际上用常规方法也很难,去创建一个全新的“百年CA”。

3. 为什么 kubeadm 不让你改 CA?

原因其实很直接:CA证书是整个集群的“信任根”。所有的组件证书都由它签发,并被其他组件信任。这个根一旦被替换,就像给一座大楼突然换掉地基,风险极高。

贸然更换CA,很可能导致一连串的灾难性后果:kubelet全部掉线、apiserver拒绝请求、etcd集群通信失败,最终整个集群崩溃。这并非危言耸听,而是不少人在早期实践中踩过的真实大坑。

所以,kubeadm设计团队的选择显得非常谨慎,甚至可以说是一种“防御性哲学”:

宁可让你的证书过期报警,给你时间去处理,也绝不提供一个能一键把集群干翻的“危险捷径”。

4. 那这个参数到底什么时候生效?

你可能会问,配置文件里那个 caCertificateValidityPeriod: 876000h 难道是摆设吗?

当然不是。这个参数有它生效的严格时机:它只在创建CA的时候起作用,具体来说,就是在你执行 kubeadm init 初始化一个全新集群的那一刻。对于已经运行中的集群,这个参数在证书更新操作中是不会被读取的。

5. 真正的最佳实践

说到底,大家想改100年,核心诉求就是怕忘记,想省心,不愿意每年都提心吊胆地操作一次。

基于这个出发点,这里提供两个在生产环境中更常用、也更稳妥的策略。

方案一:自动轮转(强烈推荐)

这是最合规、也最安全的方式。我们不追求“永久”,而是追求“无感”。

  • 基本操作:每年手动或自动执行一次 kubeadm certs renew all 来续期证书。
  • 进阶自动化:配合CronJob或系统的定时任务,每半年或每9个月自动执行一次续期命令,并重启kubelet。例如,在crontab中加入:
0 3 1 */6 * kubeadm certs renew all && systemctl restart kubelet

这样,证书永远在过期前就被刷新,你几乎感觉不到它的存在。

方案二:合理延长(适用于新集群)

如果你正在部署一个全新的、对稳定性要求极高且变更不频繁的测试或边缘环境集群,可以在初始化时(kubeadm init)的配置文件中,就将证书有效期设置为一个较长的、合理的值,比如5年或10年。这能在保证安全的前提下,大幅降低维护频率。

话说回来,运维工作的精髓往往不在于寻找一劳永逸的“黑魔法”,而在于建立可靠、自动化的流程。处理好证书生命周期管理,你的K8s集群就向稳健运行迈出了一大步。

来源:https://www.51cto.com/article/838398.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

十万个 why:Nacos 服务注册为什么默认是临时实例?
业界动态
十万个 why:Nacos 服务注册为什么默认是临时实例?

为什么Nacos要把下线的服务直接“删掉”? 做Spring Cloud开发,Nacos几乎是标配。配置好地址,服务一启动,注册就完成了,流程丝滑得很。 但细心的开发者可能会发现一个“不一样”的地方:当你把服务停掉,甚至是直接“杀”掉进程,Nacos控制台上的对应实例,往往很快就会消失。它不是变成红

热心网友
04.14
K8S 证书又过期了,我一把给集群续了 100 年,一劳永逸
业界动态
K8S 证书又过期了,我一把给集群续了 100 年,一劳永逸

一次性将Kubernetes集群证书续期100年?先别急,小心这个“隐藏”的坑 相信不少运维同学都遇到过这样的头疼事:Kubernetes集群运行得好好的,突然某天就“失联”了。一查日志,证书过期。这事儿还真不是小概率事件,因为K8s默认颁发的组件证书有效期只有一年。一旦几个关键证书(比如apise

热心网友
04.14
Nacos服务注册为何默认临时实例?10个关键原因解析
科技数码
Nacos服务注册为何默认临时实例?10个关键原因解析

大家在 K8s 环境下用 Nacos,建议就保持默认配置,不要手动去开持久化模式,否则你的控制台里可能会留下一堆清理不掉的无效数据。 做 Spring Cloud 开发的同学,对 Nacos 肯定不

热心网友
03.06
K8S节点故障后的数据恢复:5步完整找回方案详解
科技数码
K8S节点故障后的数据恢复:5步完整找回方案详解

K8S 节点挂了能不能恢复数据,取决于数据存在哪。 Pod 里或节点本地的,基本没法恢复; 用 PVC 接远端存储的,节点换了 Pod 重建,数据自然还在。 交流群中一个用户问了一个很有价值的问题:

热心网友
01.19
K8s成本管控:40%浪费源自这些冗余配置
科技数码
K8s成本管控:40%浪费源自这些冗余配置

当我不再把 Kubernetes 看作一个可以自动扩展的神奇黑盒子时,我开始发现你能想象到的所有方面都存在臃肿:空闲工作负载、过大的 Pod、大量的日志记录以及实际上没有扩展的自动扩缩器。 我以前认

热心网友
12.26

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

Lemonaid-AI音乐生成工具
AI
Lemonaid-AI音乐生成工具

Lemonaid是什么 如果你正为音乐创作寻找得力助手,那么Lemonaid很可能就是答案。它是一款专门面向专业音乐人打造的AI音乐生成工具,核心能力在于自主生成包含完整旋律、和声与节奏的乐曲。无论是想要一段氛围感十足的背景音乐,还是为具体场景定制配乐,它都能提供高度逼真且质量上乘的作品。工具提供了

热心网友
04.14
苹果折叠屏iPhone Ultra关键点汇总:这4个问题你肯定想知道
iphone
苹果折叠屏iPhone Ultra关键点汇总:这4个问题你肯定想知道

苹果也要出折叠屏,传闻已经有几年了,从目前供应链、分析师与知名爆料者释放的信息来看,这款与市面大折都不一样的阔折叠似乎已经蓄势待发,大概率今年下半年就要正式面市。今天我们就来为大家汇总一波,没准儿就有你想知道的消息。 关于苹果折叠屏手机的传闻,已经流传了好几年。如今,综合供应链、分析师以及各路知名爆

热心网友
04.14
《刺客信条4:黑旗 重制版》对手来了!被称为4A级海盗大作
游戏评测
《刺客信条4:黑旗 重制版》对手来了!被称为4A级海盗大作

《刺客信条:黑旗重制版》官宣之际,这款新海盗游戏为何能抢先赢得玩家口碑? 当游戏界的焦点都集中在《刺客信条:黑旗重制版》的正式公布时,一款名为《风启之旅》(Windrose)的开放世界海盗生存建造游戏,却凭借其过硬的品质与独特的玩法融合,悄然在玩家社区中掀起热议。这款由乌兹别克斯坦团队Kraken

热心网友
04.14
腾讯智影-智能视频创作与发布一体化平台
AI
腾讯智影-智能视频创作与发布一体化平台

产品介绍 提到云端智能视频创作,腾讯智影是一个绕不开的名字。这款由腾讯推出的平台,本质上是一个一站式的在线视频工厂,集成了从素材挖掘、剪辑、渲染到最终发布的全链路功能,旨在为用户提供全方位的视频创作解决方案。更吸引人的是,它不仅免费开放,还深度整合了多项前沿AI技术,目标很明确:让视频化表达这件事,

热心网友
04.14
比心被拒小哥回应:不尴尬 尊重Coser 大家当个乐子
游戏评测
比心被拒小哥回应:不尴尬 尊重Coser 大家当个乐子

《王者荣耀世界》线下活动风波:合影互动引争议,职业素养与网络舆论深度探讨 近日,《王者荣耀世界》的一场线下玩家见面会,因台上一次短暂的合影互动,意外成为全网热议的焦点。活动中,一位男粉丝上台与角色扮演者(Coser)合影时,主动做出比心手势以示友好,却未得到身旁Coser的任何回应。男生举着手势在原

热心网友
04.14