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年了,不用每年都去升级,当然建议和官方一样每年升级一次,毕竟漏洞比较多

原文地址:https://blog.51cto.com/3138583/2466781

时间: 2024-08-02 04:50:06

k3s 证书过期解决方法的相关文章

C#提示:“在证书存储区中找不到清单签名证书”的解决方法

本文实例讲述了C#提示:"在证书存储区中找不到清单签名证书"的解决方法.分享给大家供大家参考.具体分析如下: 一.问题: 程序重新生成,提示错误:在证书存储区中找不到清单签名证书. 二.解决方法: 可能是之前部署的程序证书被我删掉了或是证书过期了,结果出现这个问题.解决方案如下: 方案1:右击项目属性―>签名―>为ClickOnce清单签名,将勾掉的选项去掉. 方案2:在签名中创建一个新的签名. 方案3:记事本打开相应的csproj文件,调整节点值.<SignMani

Firefox提示&ldquo;安全连接失败,您收到了一个无效的证书&rdquo;的解决方法

当你看到这篇文章的时候,我已经坐上轻轨准备前往某个地方游玩去了,这篇文章实际上是我昨天写好然后用wordpress的定时发布功能发布的,实际上这里大部分文章都是我事先写好然后定时发布的,特别是这个月希望能够保持每天更新一篇文章的频率,一有想法就会赶快记录下来,害怕忘记什么. 在Firefox上搭配AutoProxy/FoxyProxy和goagent穿越的时候需要导入证书,不过我在导入证书后浏览某个网站会有以下提示:(AutoProxy/FoxyProxy对该网站启用) 安全连接失败 连接 XX

Microsoft VS 2008 过期解决方法破解方法

Microsoft VS 2008 过期解决方法电脑上的Microsoft Visual Studio 2008 Team System 试用版提示离过期还有**天.于是百度,搜索结果大多是以下两种解决方法: 一:开始>控制面板>添加或删除程序 里找到VS2008,点"更改/删除",维护窗口弹出后,或下一步,就会看到一个输入序列号的地方,把序列号输进去,点"升级"按钮即可,Team Suite和Professional通用.以下是收集的序列号:(1)Vi

chrome &#39;adobe flash player 已过期&#39;解决方法

http://labs.adobe.com/downloads/flashplayer.html下载 WindowsDownload Flash Player for Opera and Chromium based applications – PPAPI 安装-重启浏览器 chrome 'adobe flash player 已过期'解决方法

oracle账号密码过期解决方法

oracle system账号密码过期解决方法. system账号的密码默认有效期为180天,当密码提示已经过期后, 可以用以下方法解决: 1>在DOS窗口输入 sqlplus ,提示输入账号密码 2>输入system的账号密码,会提示"密码已经过期,请重新设置新密码" 3>输入新密码即可<如果不想改密码可以输入原来的密码>.

传奇GOM引擎授权过期解决方法.

传奇GOM引擎授权过期解决方法 下载最新的GOM引擎,将里面的Key.Lic文件找出来,替换掉授权过期的版本,如果你本身是免费版最好是找同样的免费版的来覆盖. 如果你本身是免费版,但是却用的是商业版Key.Lic文件来替换,也是可以的.但是会出现下面几个问题:解决方法如下: 1.登陆进游戏后黑屏,M2提示登陆网管版本和授权版本不同. 解决方法:拷贝商业版中的:游戏网管,登陆网管,角色网管.替换掉旧版中的文件这3个文件. 2.进入游戏中,发现假人不显示名字,名字显示不正常. 解决方法:用商业版替换

SQLServer 订阅过期解决方法

由于分发数据库执行一个较长的事务,达到了系统预定的72小时,导致了该订阅过期,数据库分发代理已不可再启用,提示错误如下: 错误信息:已将此(这些)订阅标记为不活动,必须将其重新初始化.需要删除 NoSync 订阅,然后重新创建它们 右键订阅,发现该订阅已处于不活的状态!~ 怎么解决?难道要重新初始化??! 后来找到一个系统的存储过程 sp_changesubstatus,该存储过程可以更改订阅的3种状态:active .inactive.subscribed. --此存储过程在发布服务器的发布数

oracle密码过期解决方法

Oracle提示错误消息ORA-28001: the password has expired 在oracle服务器上用sqlplus / as sysdba登录进去,可以通过下面的sql语句查看账户情况: select username,account_status from dba_users; 找到对应的用户名,如果状态是是expired,则可以通过下面的命令来修改账号密码激活账户: alter user USERNAME identified by NEWPASSWORD; 完成命令后,

k8s 证书过期解决

下载kubernetest 源码 apt -get install git git clone https://github.com/kubernetes/kubernetes.git, 切换分支 cd kubernetes && git checkout -b remotes/origin/release-1.13 v1.13.0 下载docker编译环境 https://hub.docker.com/r/gcrcontainer/kube-cross/tags?page=2  在doc