心得:其实我搞过很多次,都没有搞定,这次终于搞定了,为啥搞了这么久,当然是因为,毕竟是集群的核心组件,没搞好,集群就完蛋,啊哈哈哈,真他喵的拉跨,做的时候蹑手蹑脚,畏畏缩缩,但是还是因为太菜了
(1)我们先确定我们的集群的证书放在哪里,因为安装方法,不一样,证书的存放位置可以自定义的
这是我的证书存放位置,你们的可能大多数是在 /etc/kubernetes/pki,
(2)这次,我们主要替换的就是apiserver.key 和 apiserver.crt 其他的证书,就当不存在就好了,当然,我们需要做个备份,给全部证书,毕竟有的时候还是要稳如老狗的
这里我是备份了整个ssl目录,真的是稳定一批
然后进去ssl目录
接着拿到集群的这个文件kubeadm.yaml,你们也可以去看看里面有啥,但是不用修改就是了
(3)接着就创建新的证书,删掉的那两个证书
(4)一般来说,我们的apiserver,是持久化到本地的,也就是挂载我的这个ssl目录,我重启下apiserver就行了
docker restart apiserver pause # 这个不能复制,这是要重启两个镜像的,因为pause是apiserver的基础镜像,懂容器的朋友,因该知道是干啥的
(5)完成,这样就可以了,从外网链接,不过如果你是在公司,从公司的内网,用公司的外网IP地址链接公司内网集群,也是不行的,流量出不去,我就试过,不行,但你在外网,连接你的集群是可以的
(6)我做连接时让我们的网管,吧我们内网集群的内网IP的6443端口映射到我们公司的外网的IP上的某个端口的,nat映射嘛,我相信你们一定懂的,哈哈哈