就是关于K8S集群架构内部的证书问题,我们都知道使用kubeadm来初始化集群并且已容器交付的方式来搭建K8S是非常简单的。但是这里会存在一个大坑就是集群内部的证书只有一年有效期,一旦到期集群就挂了。需要手动续期并且可能会对正在运行的服务造成影响。
那么有没有方法可以避开二进制安装的繁琐,又不需要修改kubeadm源码来使用证书的有效期做自定义呢,肯定有,而且超简单。
这里我们已生产环境来说场景是刚刚使用kubeadm部署好了一般的K8S集群系统(一台MASTER,N台NODE)
从上图可以看到我的MASTER的kubeadm初始化已经成功,并且加入了两个node节点。另外证书有效期也是只有一年到2022年4月13日,到期就会挂掉。这里就好比喻是我们在生产环境中
刚刚搭建好的集群。里面没有跑任何的服务和容器。让我从这里开始自定义集群的证书有效期吧!
第一步:修改系统时间
由于系统是新的啥也没有随便修改时间没有任何风险,现在就修改时间为:2031年4月21日 。
然后我们在看看集群的情况,死翘翘了么。
第二步:手动续签证书
在目前的这个时间段2031年手动续签证书,命令:kubeadm certs renew all
可以看到证书的年限已经变成2032年,你自己定多少年就多少年。但是到这一步都不能确定集群是不是正常,我们需要重新校正北京时间
第四步:校正时间
这个不用多说了,使用ntpdate ntp.aliyun.com 同步阿里云的时间即可,让我们看看集群的情况吧
圆满成功,这个时间已经解决了证书的问题,在去部署其他服务吧!!
这个方法纯粹是我个人想出来,目前来说就二进制安装,修改kubeadm源码,以外的第三种方法,也是最最最简单的方法了。但是缺点是只能使用与标准集群。