k8s kubeadm高可用集群证书续期

news2025/3/13 10:47:39

1.查看证书期限

kubeadm certs check-expiration

2.更改系统时间为证书过期的时间

 因为要保持集群的时间一直,使用xshell对多个会话同时执行以下命令

systemctl stop chrondy  #停止时间同步工具

date -s 06/15/2024    #更改系统时间为证书过期后的时间

date    #查看当前系统时间

3. 再次查看k8s的证书

kubeadm certs check-expiration

可以看到residual time变成了invalid

此时执行任何kubectl的命令都会提示证书过期的报错

4.证书续期(以下是对一个master节点的续期)

kubeadm certs renew all

查看 续期后的证书期限

kubeadm certs check-expiration

 residual time会重新续期为一年

5.查看配置文件是否更新

ls -ll /etc/kubernetes/

根据配置文件的更改时间可以知道,k8s组件的配置文件在续期证书后自动更新了,但是kubelet并没有自动更新,因为证书续期的时候是没有给kubelet的证书续期的,kubelet用的还是旧的过期证书,需要手动更新kubelet证书

一般情况下是不用重启k8s组件的,如果配置没有生效的情况下需要使用以下命令手动重启k8s组件

docker ps |grep -v pause |grep -E "etcd|scheduler|controller|apiserver"  |awk '{print $1}' |xargs docker restart

加入去除pause的原因是,k8s的组件在docker中有两个容器,一个是带pod,我们重启的是不带pod的

6.更新kubelet证书

在更新kubelet证书前,还需要替换以下config的配置,因为更新证书也是不会自动更新config配置的

cp /etc/kubernetes/admin.conf ~/.kube/config  #不更改此配置的也会报错

现在来手动更新kubelet证书

cat /etc/kubernetes/admin.conf

将此crt和key全都一起复制下来

cp /etc/kubernetes/kubelet.conf /etc/kubernetes/kubelet.conf.bak

将配置文件备份一份    #在续期完成后可以重新用回原来的配置文件

vi /etc/kubernetes/kubelet.conf

将此处的crt和key配置删除

 把刚刚从admin.conf复制的crt和key的所有内容粘贴进来,重启kubelet服务

systemctl restart kubelet

查看kubelet 证书,在里面会看到新生成的证书

ls -ll /var/lib/kubelet/pki/

 或者通过以下命令查看证书是否续期成功

openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text |grep Not

 至此该节点证书续期完成,可以正常使用kubectl命令

其余master节点也是按照以上步骤续期证书即可

7.work节点证书续期

work节点只要续期kubelet证书即可

备份kubelet配置文件   #在续期完成后可以重新用回原来的配置文件

cp /etc/kubernetes/kubelet.conf /etc/kubernetes/kubelet.conf.bak

手动更新kubelet证书

cat /etc/kubernetes/admin.conf   #在任意一个续期后的master节点执行此命令

将此crt和key全都一起复制下来 

 vi /etc/kubernetes/kubelet.conf

将此处的crt和key配置删除

 把刚刚从admin.conf复制的crt和key的所有内容粘贴进来,重启kubelet服务

systemctl restart kubelet

查看kubelet 证书,在里面会看到新生成的证书

ls -ll /var/lib/kubelet/pki/

  或者通过以下命令查看证书是否续期成功

openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text |grep Not

至此该节点证书续期完成,可以正常使用

其余work节点也是按照以上步骤续期证书即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年JDK要升级到多少?看看七家大模型给的答案

前言 在2023年很多公司应该还在用JDK8,目前JDK已经更新到JDK20,JDK21也将在2023年9月发布,那么在2023年如果我们要升级JDK,到底升级到哪个版本比较合适呢?这个问题我们可以交给大模型,看看各家大模型是怎么…

使用Jemeter对HTTP接口压测

我们不应该仅仅局限于某一种工具,性能测试能使用的工具非常多,选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验,也算略有小成,任何性能测试(如压力测试、负载测试、疲劳强度测试等&#…

MySQL表CRUD

目录 一、Create 1.1 单行数据全列插入 1.2 多行数据指定列插入 1.3 插入否则更新 1.4 替换数据 二、Retrieve 2.1 SELECT列 2.2 WHERE条件 2.3 结果排序 2.4 筛选分页结果 三、Update 四、Delete 4.1 删除数据 4.2 截断表 五、插入查询结果 六、聚合函数 七…

IM相关技术

messages表 保存的消息记录(Saved Messages) bff,session TON以及tdlib 官方版设置中文 tg://setlanguage?langclassic-zh-cn https://web.telegram.org/k/ https://web.telegram.org/a/ https://github.com/TGX-Android https://github.com/NekoX-Dev/NekoX, 内置公共代理不…

C++类与对象(上)

类与对象(上) 1.面向过程与面向对象初步认识2.类的引入3.类的定义4.类的访问限定符以及封装4.1访问限定符4.2 封装 5.类的作用域6.类的实例化7.类对象模型7.1计算类对象的大小7.2类对象的存储方式的猜想 8.this指针8.2this指针的特性 1.面向过程与面向对…

JavaWeb之JSP

文章目录 JSP的基本介绍JSP的本质JSP的三种语法JSP头部的page指令language属性contentType属性image.pngpageEncoding属性import属性autoFlush属性 - 给out输出流使用buffer属性 - 给out输出流使用errorPage属性isErrorPage属性session属性extends属性 JSP中的常用脚本声明脚本…

贸易企业缺进项严重,如何减轻13%的增值税税负?

贸易企业缺进项严重,如何减轻13%的增值税税负? 《税筹顾问》专注于园区招商,您的贴身节税小能手,合理合规节税! 贸易企业的增值税税负很重,这不仅是因为13%的高额增值税税率,也因为贸易企业缺进…

K8s 部署 Apache Kudu 集群

一、K8s 部署 Apache Kudu 集群 安装规划 组件replicaskudu-master3kudu-tserver3 1. 创建命名空间 vi kudu-ns.yamlapiVersion: v1 kind: Namespace metadata:name: apache-kudulabels:name: apache-kudukubectl apply -f kudu-ns.yaml查看命名空间: kubectl …

傻白入门芯片设计,形式化验证方法学——AveMC工具学习(二十)

一、形式验证方法学 (一)什么是形式化验证? 形式化验证方法学是使用数学证明的方法,分析设计中所有可能的状态空间来验证设计是否符合预期。形式化验证方法主要有三个方面的应用:定理证明、模型检验和等价性检查。 …

让你不再疑惑语音翻译怎么弄

语音是人类交流的一种最基本的方式,但是当我们需要和来自不同国家或地区的人交流时,语言的限制往往让我们感到无力。然而,如今的语音翻译技术正在以惊人的速度发展,使得我们的声音可以轻松地跨越语言的界限。那么,你知…

强化学习:蒙特卡洛方法(MC)

引入蒙特卡洛方法例子 以抛硬币为例,将结果(正面朝上或反面朝上)表示为作为随机变量 X X X ,如果正面朝上则 X 1 X1 X1 ,如果反面朝上,则 X − 1 X-1 X−1,现在要计算 E [ X ] E[X] E[X]。    我们通常很容易…

JDK常用的数据类型【1】 ——HashMap(分享篇)

x mod 2^n x & (2^n - 1) 1. 拿到 key 的 hashCode 值 2. 将 hashCode 的高位参与运算,重新计算 hash 值 3. 将计算出来的 hash 值与 (table.length - 1) 进行 & 运算数据结构 1.B树 和 B树 B树叶子节点可以存放多个元素B树的叶子节点之间是有指针的 红…

网络安全|渗透测试入门学习,从零基础入门到精通—收集信息篇

目录 前面的话 1、收集域名信息 1.1、Whois查询 ​编辑1.2、备案信息查询 2、收集敏感信息 3、收集子域名信息 3.1、子域名检测工具 3.2、搜索引擎枚举 3.3、第三方聚合应用枚举 3.4、证书透明度公开日志枚举 本章小结 前面的话 本人喜欢网络完全的一些知识&#xff…

老油条辞职信写好了,00后卷王的自述,我难道真的很卷?

前言 前段时间去面试了一个公司,成功拿到了offer,薪资也从12k涨到了18k,对于工作都还没两年的我来说,还是比较满意的,毕竟一些工作3、4年的可能还没我高。 我可能就是大家说的卷王,感觉自己年轻&#xff0…

出现报错Invalid bound statement (not found): xxx.xxxMapper.方法名 时的几种异常排除方法

报错信息:Invalid bound statement (not found): com.ruoyi.enterpriseman.trade.mapper.TradeEnterpriseMapper.selectTradeEnterpriseList 1.mapper.xml中的namespace和实际的mapper文件不一致 这个问题其实很好解决,瞪大眼睛,仔仔细细看看…

[SSM]Maven详解

目录 Maven 自动化构建工具 Maven简介 Maven的核心概念 maven约定的目录结构 仓库 POM文件 生命周期、命令、插件 Maven在IDEA中的应用 IDEA集成maven IDEA创建Maven版java工程 IDEA创建Maven版web工程 IDEA中导入Maven工程(module) 依赖管理…

Windows 离线安装mysql5.7

一、下载MySQL5.7最新版 1、官网地址 https://downloads.mysql.com/archives/community/ 2、下载MySQL5.7最新版 下载下图所示的安装包: 二、安装MySQL5.7 1、解压 将刚才下载压缩包解压搭配目录C:\software\mysql-5.7.41,(路径大家可…

背完这195道软件测试面试题,帮你轻松拿下提前批offer

前言: 最近在整理字节,阿里,腾讯,京东的面试题,挑了一部分在四个大厂面试题中出现频率比较高的,发现还是基础知识比较多,废话不多说,你们自己看看,这里小编只放了面试题&…

电动超声波硅胶洁面仪单片机开发方案

近来,网红超声波洁面仪受到人们喜爱,特别是爱化妆的女性朋友,常用来清洁脸部肌肤。在本方案中,洁面仪IC采用宇凡微YF单片机,我们提供多种洁面仪方案,根据不同功能需求有多个洁面仪芯片可供选择。 一、超声波…

价值5k的软件测试企业级实战项目,只为了回答你软件测试如何学!

学习软件测试如何学,在回答这个问题之前,我先分析下,在企业中做项目整个测试流程是什么样的,你清楚了整个企业的测试流程,就会清楚企业做测试需要什么?从而也就会明白如何去学测试。 1、需求: …