升级K8S证书有效期为100年操作说明
ninehua 2024-12-05 15:12 7 浏览
K8S集群有证书的概念,之前一直是使用默认的,默认都是1年和10年的,1年有效期这显然对于生产环境是不合适的,于是调整K8S证书,升级K8S证书有效期为100年。
kubernetes提供了多种安全认证机制,其中对于集群通讯间可采用TLS(https) 双向认证机制,也可采用基于Token或用户名密码的单向tls认证。K8S一般在内网部署,采用私有 IP 地址进行通讯,权威CA只能签署域名证书,我们这里采用自建CA。
基础介绍
想要安全就必须复杂起来,证书是少不了的。在Kubernetes中提供了非常丰富的证书类型,满足各种不同场景的需求。
1.证书类型
根据认证对象可以将证书分成三类:服务器证书 server cert,客户端证书 client cert,对等证书 peer cert(表示既是 server cert 又是 client cert):
1.client certificate:用于服务端认证客户端,例如 etcdctl、etcd proxy、fleetctl、docker 客户端;
2.server certificate:服务端使用,客户端以此验证服务端身份,例如 docker 服务端、kube-apiserver;
3.peer certificate:双向证书,用于 etcd 集群成员间通信。
2.证书分类
在说证书之前,先想想作为集群的入口apiserver需要提供那些服务,与那些组件通信,通信的两方可能需要配置证书。与apiserver通信的组件大体可以分为以下几类:
1.client(kubectl,restapi等):普通用户与apiserver之间的通信,对各类资源进行操作;
2.kubelet,kubeproxy:master与node之间的通信;
3.etcd:K8S的存储库;
4.webhook:这里指apiserver提供的admission-webhook,在数据持久化前调用webhook;
5.aggregation layer:扩展apiserver, 需要将自定义的api注册到K8S中,相比CRD性能更新;
6.pod: 在pod中调用apiserver(一般调用为10.254.0.1:433);
7.除了在pod中通过serviceacount认证(当然pod需要认证apiserver的证书),其他几种都需要配置证书。
其他集群内组件与apiserver通信的,kubelet/etcd/kube-proxy对应的也可以配置证书。
3.go语言
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。改写K8S证书有效期就是通过Go语言编译而成。
思路框架
上面已经将K8S证书介绍一遍了,下面来说说本次升级证书需要的思路和操作步骤,方便大家有个整体感。
1.整体思路
1.安装go环境,下载go1.12.5.linux-amd64.tar.gz并解压;
2.配置go环境变量;
3.重新编译kubernetes,下载并解压kubernetes-1.14.0.zip;
4.编辑cert.go和pki_helpers.go文件,修改为100年;
5.编译生成新的kubernetes;
6.备份原有的配置文件;
7.替换原有的kubeadm;
8.生成新的证书kubeadm alpha certs renew all;
9.验证结果,查看各个证书过期时间。
2.证书概览
修改之前的所有证书有效时间如下:
注意:3个ca证书默认是10年,目前只有初始化K8S集群之前修改才会生效。
3.调整文件
kubernetes中:
1.staging/src/K8S.io/client-go/util/cert/cert.go
2.cmd/kubeadm/app/util/pkiutil/pki_helpers.go
更新许可
上面是生成K8S许可的过程,下面开始正式说明更新证书操作步骤,下面先介绍K8S集群已经搭建后,不重置更新许可的方法。
1.主master
1.检查当前K8S证书有效期,After是证书到期时间
2.备份原有的配置文件,备份时间自行修改
3.到/usr/bin目录,上传替换kubeadm
4.更新证书
5.再次检查当前K8S证书有效期,查看After时间
2.其他master
1.备份原有的配置文件,备份时间自行修改
2.到/usr/bin目录,上传替换kubeadm
3.更新证书
4.检查当前K8S证书有效期,查看After时间
3.全部worker
不用操作,了解即可
worker节点只有一个ca证书/etc/kubernetes/pki/ca.crt
1.如果是初始化集群,证书会直接100年
2.如果是已运行的集群,证书是10年
初始配置
下面开始介绍在搭建K8S集群时就升级证书的方法步骤,这里直接使用已经调整100后的kubeadm文件。
1.替换kubeadm
1.备份原有的配置文件
2.替换原有的kubeadm
2.初始化集群
使用init初始化K8S集群:
3.检查K8S证书
查询所有K8S证书到期时间:
总结反思
在最初搭建K8S过程中,网上的资料都没有提到K8S还有证书到期的情况,这就导致最开始部署的环境都是1年到期。从这点上说明网上的知识也是不那么权威的,需要我们在其基础上,多思考,多总结,想全面一点。
1.知识收获
通过本次升级K8S证书有效期,让我对K8S安全部分的理解又深了一层,包括证书的类型,证书的分类,K8S集群一共有多少证书:
先从Etcd算起:
1、Etcd对外提供服务,要有一套etcd server证书;
2、Etcd各节点之间进行通信,要有一套etcd peer证书;
3、Kube-APIserver访问Etcd,要有一套etcd client证书;
再算kubernetes:
4、Kube-APIserver对外提供服务,要有一套kube-apiserver server证书;
5、kube-scheduler、kube-controller-manager、kube-proxy、kubelet和其他可能用到的组件,需要访问kube-APIserver,要有一套kube-APIserver client证书;
6、kube-controller-manager要生成服务的service account,要有一对用来签署service account的证书(CA证书);
7、kubelet对外提供服务,要有一套kubelet server证书;
8、kube-APIserver需要访问kubelet,要有一套kubelet client证书。
2.能力提升
上网查一些自己不清楚的知识也是学习的过程,一方面可以对未知事物进行更深入的了解,另一方面还要考虑网上的资料是否全面,通过多思考、多联想,以一个闭环的思路考虑网上信息的可行度。最后在结合自己的知识快速转化融合,这也是快速学习的一个重要方法。
3.未来规划
首先要先把先前部署的K8S环境都整理处理,一个个进行升级,确保项目的正常运行。其次以后部署的K8S集群都要在初始化时就直接部署证书是100年的,从最开始确保K8S集群运行的稳定性。
后续再有技术预研的工作时,多注意网上查到的资料有多少是可用的,有多少是不完善的,还要从原理上思考,网上资料的是否全面,会不会有遗漏的地方。只有提升了自己的思考格局,才能真正做到能力的提升,否则只会不断的遇到问题,反复调整,被动学习知识和技术。
本文由@数通畅联原创,欢迎转发,仅供学习交流使用,引用请注明出处!谢谢~
相关推荐
- DOTA7.22版本更新了什么 7.22版本更新内容一览
-
[海峡网]《DOTA2》7.22版本近日上线了,7.22版本后DOTA2迎来了全面A杖时代,而某些英雄的A杖效果过于IMBA,导致冰娃很快发布了新补丁7.22b,一起来看看吧。7.22b削弱了当前一些...
- 网易电竞平台发布首款游戏DOTA 六大革新机制首曝
-
网易首款专业电竞平台今日对外发布,并宣告将于6月20日正式开启首轮精英测试,首款平台游戏则是大名鼎鼎的DOTA。网易电竞平台作为国内最专业的新一代电子竞技游戏平台,致力于为电子竞技玩家提供更稳定、更快...
- 水友吐槽最失望的全明星 冷板凳的选手们
-
本次全明星采取主持人随机现场观众,报喜爱的选手名字进行10V10比赛,然而很多人气选手均没有上场的机会,国外水友粉粉吐槽应该改善投票方式Handa711:V社的套路需要改变一下了。这次全明星太逊。Sl...
- Dota2:NB假赛事件再起风波,中单AQ直接自爆,茶队被牵连其中
-
就在前一天,一则消息的传出,让整个Dota2圈子甚至是电竞圈都感到意外:TI4冠军、TI7亚军得主Newbee战队,涉嫌打假赛从中获利,被CDA联盟以及IMBA传媒共同出面,将其永久封禁,禁止参加CD...
- DOTA的世界,LOL玩家你不懂! dota?
-
◆IntroductionDOTA玩家与LOL玩家究竟有什么不同,看完你就知道了,不要有任何优越感哦,都是玩游戏的,没必要!....暗牧对蛮王说:给自己5秒的人永远不是真男人。龙骑对龙姬说:你身上流的...
- Dota2:肉核体系已完全没落?刚被、混沌、幽鬼等英雄胜率垫底
-
哈喽大家好,这里是蜻蜓队长Zwj。想必大家都能感觉得到,越是大赛职业战队们就越偏爱刚被、潮汐、斧王、幽鬼这种进可攻退可守的肉核型英雄;而在7.30更新后,这些英雄却几乎绝迹了。下面,就让队长带大家一起...
- 探访上海IMBA电竞体验中心 电子竞技高手荣誉相册引人注目
-
来源:环球网2021年5月10日,上海,探访世界级电子竞技品牌赛事之一“SL-iS7CS:GO群星联赛”举办地IMBA电竞体验中心,整排的电竞职业高手荣誉相册和手模吸引眼球。作为普陀区首个设在商业...
- dota2IMBA Tinker修补匠进阶攻略 dota修补匠外号
-
他曾经是某个版本第一无解后期,刷新BKB骑脸的感觉,酸爽。但是随后的版本更新在刷新下面加了一行小字,不可以刷新BKB,tinker修补匠就再次跌下神坛。也许你是tinker的忠实粉丝,也许你怀念那个B...
- 《DOTA2》新版本6.83c降临:寒冬飞龙登场、斧王遭削弱
-
新年将至,《DOTA2》也迎来了全新版本6.83c,本次的新版本也是亮点多多,除了加入万众期待的英雄“寒冬飞龙”之外,冰女MM的全新至宝也一并公开,相信届时又有大批土豪会为自己的冰女换上漂亮的装扮。除...
- dota2imba虚空假面攻略 dota2虚空假面出什么装备
-
本文由17173DOTA2特约作者[41酱]原创提供,未经许可禁止转载。节奏快,人头多,就是干是他的标签,比起有着冗长无聊的farm时间的普通模式,来一场imba绝对可以战个痛快。200人头?那只是起...
- OMG模式中,你拿到这些技能就赢了一半
-
?技能征召(OMG)是什么?技能征召是DOTA2中普通匹配的一种模式,与全英雄选择、加速模式、随机征召并列,在点击“开始DOTA”后选择普通匹配可以勾选。该模式偏娱乐,可以自由组合搭配自己的技能,刚接...
- DOTA2编辑器开放 米米亚将制作DOTA2版IMBA
-
今天(8月7日)上午,IceFrog在微博发布消息,称V社官方发布了DOTA2自定义游戏制作工具——Dota2WorkshopToolsAlpha供广大开发者使用[本站相关报道],这可能是一个在...
- 以现在的眼光来看,dota中最离谱的英雄是谁?老玩家:27技能卡尔
-
哈喽大家好,这里是蜻蜓队长Zwj。大家应该都知道,dota1远古时期中的很多英雄都是很imba的(成长或技能),而在聊起远古时期中最离谱的英雄时队长就想到了手握27个不同技能的召唤师。召唤师/祈求者聊...
- Dota2:美女解说公然辱骂Ti冠军队,被教育不知悔改,遭Imba开除
-
近期国内外的刀圈,最重要的赛事可以说是DPC联赛第二赛季的比赛了,国内的S级联赛方面竞争还是非常激烈的,一度出现了6支战队同为2胜2负的盛况,茶队这边近期状态不错取得了4连胜高举榜首,SAG难求一胜,...
- DOTA2采访EG.Cr1t-:无敌斩斩莲花很糟糕!最大的对手就是VG
-
北京时间11月21日,MDL成都Major媒体日上EG战队EG.Cr1t-接受我们采访。采访中他对于昨天剑圣斩莲花感到非常难受,并且认为VG就是他们本次比赛最大的对手。Q:对于EG在这次Major的...