k3s 证书过期解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k3s 证书过期解决方法相关的知识,希望对你有一定的参考价值。

测试发现k3s使用一年后出现https tls hand error的问题,重新生成证书也不行,只能通过源码编译修重新安装k3s
环境: ubuntu 16.04
docker 18.06.3

一、安装git(默认应该已经安装如果没有请执行下面的命令)
sudo apt install -y git

二、clone源码,并切换分支(我这里用的是v1.0.1的版本)
git clone https://github.com/rancher/k3s.git
cd k3s
git checkout -b v1.0.1

三、修改源码中证书的部分
主要是3个文件,修改如图
1.第一个文件
vendor/github.com/rancher/dynamiclistener/cert/cert.go
技术图片
技术图片
技术图片
官方下面虽然修正了100年但是好像没说效果

2.第二个文件 vendor/github.com/rancher/dynamiclistener/factory/cert_utils.go

技术图片
技术图片

3.第3个文件 scripts/version.sh ,因为会校验文件sha值,注释4-7行
技术图片

四、编译(确保可以联网,因为是用docker编译的)
1.安装make
apt install -y make

2.直接执行make命令,编译时间比较长请耐心等待

3.完成都的文件在dist/artifacts

五、验证
重新安装k3s(安装部分请参考k3s安装),如果用的官方的离线包这里有个小bug 需要tag一下image
docker tag k8s.gcr.io/pause:3.1 rancher/pause:3.1

验证的结果
技术图片

技术图片

至此可以安心用100年了,不用每年都去升级,当然建议和官方一样每年升级一次,毕竟漏洞比较多

以上是关于k3s 证书过期解决方法的主要内容,如果未能解决你的问题,请参考以下文章

此网站出具的安全证书已过期或还未生效解决方法

k3s 证书过期修改

SSL安全证书过期的原因及解决方法

iOS证书过期的解决方法

SQL SERVER2014试用期过期解决方法

Jmeter证书过期