网易首页 > 网易号 > 正文 申请入驻

自定义基于kubeadm创建的k8s集群证书

0
分享至

新钛云服已累计为您分享835篇技术干货

在 Kubernetes 集群的运维过程中,证书管理是非常重要的一部分。尤其是自定义证书的过期时间和定期的证书检查与替换。本文将详细介绍如何自定义基于kubeadm创建的k8s集群证书。

1、确认当前Kubernetes版本

首先,确认当前 Kubernetes版本:

Bash
kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.6", GitCommit:"741c8db18a52787d734cbe4795f0b4ad860906d6", GitTreeState:"clean", BuildDate:"2023-09-13T09:21:34Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.6", GitCommit:"741c8db18a52787d734cbe4795f0b4ad860906d6", GitTreeState:"clean", BuildDate:"2023-09-13T09:14:09Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
# 这里查看的go环境版本为:GoVersion:"go1.20.8"
# Kubernetes源码版本为:GitVersion:"v1.27.6"

2、下载对应源码和编译环境

下载对应源码

根据Kubernetes版本信息下载对应版本的Kubernetes源码,

下载地址:

https://github.com/kubernetes/kubernetes/releases,

这里是v1.27.6版本

下载对应go环境

根据Kubernetes版本信息下载对应版本的go环境,下载地址:https://go.dev/dl/,这里是1.20.8版本

3、证书备份

为确保安全,先进行证书备份:

Bash
# master
cp -r /etc/kubernetes/pki /etc/kubernetes/pki-backup

4、证书检查

Kubernetes 提供了 kubeadm 命令来检测集群证书的过期时间。执行以下命令检查证书状态:

Bash
kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'

CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED
admin.conf Feb 14, 2026 05:26 UTC 364d ca no
apiserver Feb 14, 2026 05:26 UTC 364d ca no
apiserver-etcd-client Feb 14, 2026 05:26 UTC 364d etcd-ca no
apiserver-kubelet-client Feb 14, 2026 05:26 UTC 364d ca no
controller-manager.conf Feb 14, 2026 05:26 UTC 364d ca no
etcd-healthcheck-client Feb 14, 2026 05:26 UTC 364d etcd-ca no
etcd-peer Feb 14, 2026 05:26 UTC 364d etcd-ca no
etcd-server Feb 14, 2026 05:26 UTC 364d etcd-ca no
front-proxy-client Feb 14, 2026 05:26 UTC 364d front-proxy-ca no
scheduler.conf Feb 14, 2026 05:26 UTC 364d ca no

此命令会列出集群中所有证书的过期信息,当前证书过期时间为1年。

5、自定义证书时间并替换

按照以下步骤进行替换:

5.1 准备编译环境

在 master节点准备编译环境:

Bash
# master
tar xf go1.20.8.linux-amd64.tar.gz -C /usr/local/
echo "export PATH=$PATH:/usr/local/go/bin" >>/etc/profile
source /etc/profile
go version

5.2 源码编译和替换

然后,编译 kubeadm 并替换原有版本:

Bash
# master
tar xf kubernetes-1.27.6.tar.gz
cd kubernetes-1.27.6/
vi cmd/kubeadm/app/constants/constants.go

修改证书有效期为 10 年(3650 天):

Bash
CertificateValidity = time.Hour * 24 * 365 * 10

编译 kubeadm:

Bash
make WHAT=cmd/kubeadm GOFLAGS=-v
ll _output/bin/
mv /usr/bin/kubeadm /usr/bin/kubeadm.bak
cp _output/bin/kubeadm /usr/bin/

5.3 更新证书

执行以下命令更新所有证书:

Bash
# master
kubeadm certs renew all
# 如不需要更新所有证书,可以按需更新以下证书
kubeadm certs renew admin.conf
kubeadm certs renew apiserver
kubeadm certs renew apiserver-kubelet-client
kubeadm certs renew controller-manager.conf
kubeadm certs renew front-proxy-client
kubeadm certs renew scheduler.conf

5.4 同步文件至其他Master节点

将更新后的 kubeadm 二进制文件和证书同步到其他 Master 节点:

Bash
scp /usr/bin/kubeadm master02:/usr/bin
scp /usr/bin/kubeadm master03:/usr/bin

5.5 重启相关组件

最后,重启相关的 Kubernetes 组件,使证书生效:

Bash
kubectl -n kube-system delete po -l 'component=kube-apiserver'
kubectl -n kube-system delete po -l 'component=kube-controller-manager'
kubectl -n kube-system delete po -l 'component=kube-scheduler'

通过执行这些命令,集群中的证书将会更新,并且相关的组件会自动重启,应用新证书。

5.6 证书检查

执行以下命令检查证书状态:

Bash
kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'

CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED
admin.conf Feb 12, 2035 05:48 UTC 9y ca no
apiserver Feb 12, 2035 05:48 UTC 9y ca no
apiserver-etcd-client Feb 12, 2035 05:48 UTC 9y etcd-ca no
apiserver-kubelet-client Feb 12, 2035 05:48 UTC 9y ca no
controller-manager.conf Feb 12, 2035 05:48 UTC 9y ca no
etcd-healthcheck-client Feb 12, 2035 05:48 UTC 9y etcd-ca no
etcd-peer Feb 12, 2035 05:48 UTC 9y etcd-ca no
etcd-server Feb 12, 2035 05:48 UTC 9y etcd-ca no
front-proxy-client Feb 12, 2035 05:48 UTC 9y front-proxy-ca no
scheduler.conf             Feb 12, 2035 05:48 UTC   9y              ca                      no

可以看到,现在所有证书过期时间均已变成10年。

5、总 结

本文详细介绍了如何自定义基于kubeadm创建的Kubernetes集群证书的过期时间,并对证书进行定期检查和替换。通过重新编译kubeadm源码,我们能够灵活地设置证书的有效期限,从而为测试环境和生产环境提供便利。

自定义证书过期时间不仅简化了运维管理,还减少了因证书过期导致的潜在风险。此外,通过本文的步骤,您可以确保集群的安全性和稳定性,同时避免了频繁更新证书带来的额外工作负担。

通过执行上述步骤,您可以有效地更新集群中的证书,并确保相关组件能够自动重启并应用新证书。这种方法不仅提高了运维效率,还增强了集群的整体安全性。

如有相关问题,请在文章后面给小编留言,小编安排作者第一时间和您联系,为您答疑解惑。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
福建辉腾鞋业做的运动鞋品牌有哪些?

福建辉腾鞋业做的运动鞋品牌有哪些?

王二哥老搞笑
2026-07-10 16:18:20
A股:全体股民做好心理准备了,下周一7.13,A股或将再次历史重演!

A股:全体股民做好心理准备了,下周一7.13,A股或将再次历史重演!

趋势清风侠
2026-07-10 16:22:43
广西宾阳通报“养殖场大量生猪死亡”:积水过深无法通车,死猪一时难以打捞,造成部分死猪在场内漂浮,预计7月11日完成无害化深埋处理

广西宾阳通报“养殖场大量生猪死亡”:积水过深无法通车,死猪一时难以打捞,造成部分死猪在场内漂浮,预计7月11日完成无害化深埋处理

极目新闻
2026-07-10 15:34:47
五角大楼内部调查泄露:美军空袭伊朗女子小学前曾收到“情报过时”警告,为图快仓促开火;此前特朗普公开松口,称犯错难免,战争是肮脏的

五角大楼内部调查泄露:美军空袭伊朗女子小学前曾收到“情报过时”警告,为图快仓促开火;此前特朗普公开松口,称犯错难免,战争是肮脏的

极目新闻
2026-07-08 14:52:06
重磅官宣!阿森纳锁定今夏首签,7000 万巴西中场已谈妥个人条款

重磅官宣!阿森纳锁定今夏首签,7000 万巴西中场已谈妥个人条款

一隅非生
2026-07-10 08:20:38
一件让全世界都坐不住的事,中国人干了,而且在一周之内干成了!

一件让全世界都坐不住的事,中国人干了,而且在一周之内干成了!

深析古今
2026-07-09 20:47:40
伊朗已经意识到,美国一旦翻脸掀桌,海湾6300万桶油将血本无归!

伊朗已经意识到,美国一旦翻脸掀桌,海湾6300万桶油将血本无归!

墨兰史书
2026-07-10 14:20:12
姆巴佩骗了裁判!判罚分析机构:姆巴佩造点是明显假摔 应该吃黄牌

姆巴佩骗了裁判!判罚分析机构:姆巴佩造点是明显假摔 应该吃黄牌

风过乡
2026-07-10 04:56:54
985党委副书记,任211党委书记!

985党委副书记,任211党委书记!

EOL教育在线
2026-07-10 17:04:29
越南电力系统瘫痪!1.1万家企业限电,紧急向中国求电,我们该帮吗?

越南电力系统瘫痪!1.1万家企业限电,紧急向中国求电,我们该帮吗?

胖福的小木屋
2026-07-09 16:42:59
连战回忆录扔出惊人话语:要统一先正视“中华民国”,大陆怎么接

连战回忆录扔出惊人话语:要统一先正视“中华民国”,大陆怎么接

春之韵
2026-07-10 15:19:26
英格兰球迷拿房子首付带爷爷去看世界杯,一公司知道后决定为其报销费用

英格兰球迷拿房子首付带爷爷去看世界杯,一公司知道后决定为其报销费用

懂球帝
2026-07-10 06:37:32
教师大势已定?不出意外的话,未来5年,教师行业或将出现4大变化

教师大势已定?不出意外的话,未来5年,教师行业或将出现4大变化

娱乐的宅急便
2026-07-10 03:48:05
正式签约加盟!你好,火箭!40分神射搭档杜兰特

正式签约加盟!你好,火箭!40分神射搭档杜兰特

篮球实战宝典
2026-07-09 20:01:21
谁说“小恩小惠”没用的?网友:给保安一瓶水,立马省二百!

谁说“小恩小惠”没用的?网友:给保安一瓶水,立马省二百!

康富贵碎碎念
2026-07-10 11:39:26
微信视频通话会有监控吗?网友在对话时使用机械声,马上收到微信警告

微信视频通话会有监控吗?网友在对话时使用机械声,马上收到微信警告

回旋镖
2026-07-09 10:02:20
等了191秒才罚点!姆巴佩怒斥阿根廷主裁:前所未见 注意力被分散

等了191秒才罚点!姆巴佩怒斥阿根廷主裁:前所未见 注意力被分散

我爱英超
2026-07-10 08:27:41
埃及各界呼吁抵制梅西!球迷火烧球衣 阿根廷网友向埃及人民道歉

埃及各界呼吁抵制梅西!球迷火烧球衣 阿根廷网友向埃及人民道歉

念洲
2026-07-10 16:11:40
德尔加多、赵剑非租借离队,克雷桑求战心切,泰山主场盼复仇云南

德尔加多、赵剑非租借离队,克雷桑求战心切,泰山主场盼复仇云南

体坛小鹏
2026-07-10 16:28:07
【深度】中国开启可回收火箭时代,全球首创的“网系回收”有何玄机?

【深度】中国开启可回收火箭时代,全球首创的“网系回收”有何玄机?

界面新闻
2026-07-10 12:48:58
2026-07-10 19:00:49
新钛云服
新钛云服
云管理服务专家
478文章数 30关注度
往期回顾 全部

科技要闻

中国开启可回收火箭时代

头条要闻

美国女议员手拿饼干狂言"捏碎"中国 结果先"蹂躏"日本

头条要闻

美国女议员手拿饼干狂言"捏碎"中国 结果先"蹂躏"日本

体育要闻

法国VS摩洛哥:谁才是臭外地的?

娱乐要闻

韩国顶流李钟硕与IU官宣分手!

财经要闻

长征十号乙首飞告捷 海上网系回收成功

汽车要闻

是谁在古法造车?吉利全新燃油家轿定名星瑞L PLUS

态度原创

时尚
艺术
旅游
教育
公开课

汇聚资本力量,共话时尚未来——2026中国时尚产业盛典投资峰会明日启幕

艺术要闻

中国美术学院教授,邬大勇女性人物油画

旅游要闻

游客称安徽仙寓山景交车拒载散客?景区回应:系调度沟通误会

教育要闻

猜歇后语,老头坐摇篮

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版