k8s证书到期实际操作

文章目录

  • 1. 百年的kubeadm
    • 1.1 源码修改
    • 1.2 准备镜像
    • 1.3 编译
    • 1.4 成品备份
  • 2. 生成证书
    • 2.1 master主节点
    • 2.2 其他master节点

1. 百年的kubeadm

1.1 源码修改

  • 源码下载
cd /usr/local/src/
git clone -b release-1.15 https://github.com/kubernetes/kubernetes.git
  • 再次确认分支
cd  kubernetes
git branch -a
  • 修改cert.go
vim ./staging/src/k8s.io/client-go/util/cert/cert.goNotBefore:             now.UTC(),#修改下边的10为100NotAfter:              now.Add(duration365d * 10).UTC(),KeyUsage:              x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign,BasicConstraintsValid: true,IsCA:  
  • 修改constants.go
vim ./cmd/kubeadm/app/constants/constants.go// CertificateValidity defines the validity for all the signed certificates generated by kubeadm#将下边time.Hour * 100CertificateValidity = time.Hour * 24 * 365

修改后如下:

vim ./cmd/kubeadm/app/constants/constants.go// CertificateValidity defines the validity for all the signed certificates generated by kubeadmCertificateValidity = time.Hour * 24 * 365 * 100

1.2 准备镜像

docker pull mirrorgooglecontainers/kube-cross:v1.12.10-1

官方提供的编译镜像,无论如何弄到服务器上就行了

1.3 编译

docker run --rm -it -v /usr/local/src/k8s.io/kubernetes:/go/src/k8s.io/kubernetes \
mirrorgooglecontainers/kube-cross:v1.12.10-1 bashcd /go/src/k8s.io/kubernetes
make all WHAT=cmd/kubeadm GOFLAGS=-v
exit

1.4 成品备份

  • 成品位置
    编译好的成品在: _output/local/bin/linux/amd64/kubeadm

  • 成品测试

cp _output/local/bin/linux/amd64/kubeadm /usr/bin/
chmod a+x /usr/bin/kubeadm
kubeadm version
  • 成本保存
    已上传至ftp服务器,ftp://10.252.97.213/soft/kubeadm

2. 生成证书

2.1 master主节点

  • 将前边准备的kubeadm 拷贝到服务器
cd /usr/local/src
wget  ftp://10.252.97.213/soft/kubeadm
  • 替换原来kubeadm文件
cp /usr/bin/kubeadm /usr/bin/kubeadm_back
cp /usr/local/src/kubeadm /usr/bin/kubeadm
chmod 755 /usr/bin/kubeadm
  • 备份配置文件和证书
cp -ra /etc/kubernetes /etc/kubernetes_back
  • 查看证书到期时间
kubeadm alpha certs check-expiration
  • 更新证书和配置文件
 kubeadm alpha certs renew all
  • 确认证书到期时间
[root@AiK8sM2 ~]# kubeadm alpha certs check-expiration
CERTIFICATE                EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
admin.conf                 Apr 03, 2120 06:46 UTC   99y             no
apiserver                  Apr 03, 2120 09:36 UTC   99y             no
apiserver-etcd-client      Apr 03, 2120 09:36 UTC   99y             no
apiserver-kubelet-client   Apr 03, 2120 09:36 UTC   99y             no
controller-manager.conf    Apr 03, 2120 09:36 UTC   99y             no
etcd-healthcheck-client    Apr 03, 2120 09:36 UTC   99y             no
etcd-peer                  Apr 03, 2120 09:36 UTC   99y             no
etcd-server                Apr 03, 2120 09:36 UTC   99y             no
front-proxy-client         Apr 03, 2120 06:47 UTC   99y             no
scheduler.conf             Apr 03, 2120 09:36 UTC   99y             no
  • 重启docker

说明:主要为了重启proxy和etcd

service docker restart
  • 重启kubelet
service kubelet restart

2.2 其他master节点

  • 拷贝100年的kubeadmin 文件
  • 将前边准备的kubeadm 拷贝到服务器
cd /usr/local/src
wget  ftp://10.252.97.213/soft/kubeadm
  • 替换原来kubeadm文件
cp /usr/bin/kubeadm /usr/bin/kubeadm_back
cp /usr/local/src/kubeadm /usr/bin/kubeadm
chmod 755 /usr/bin/kubeadm
  • 备份配置文件和证书
cp -ra /etc/kubernetes /etc/kubernetes_back
  • 查看证书到期时间
kubeadm alpha certs check-expiration
  • 更新证书和配置文件
 kubeadm alpha certs renew all
  • 确认证书到期时间
[root@AiK8sM2 ~]# kubeadm alpha certs check-expiration
CERTIFICATE                EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
admin.conf                 Apr 03, 2120 06:46 UTC   99y             no
apiserver                  Apr 03, 2120 09:36 UTC   99y             no
apiserver-etcd-client      Apr 03, 2120 09:36 UTC   99y             no
apiserver-kubelet-client   Apr 03, 2120 09:36 UTC   99y             no
controller-manager.conf    Apr 03, 2120 09:36 UTC   99y             no
etcd-healthcheck-client    Apr 03, 2120 09:36 UTC   99y             no
etcd-peer                  Apr 03, 2120 09:36 UTC   99y             no
etcd-server                Apr 03, 2120 09:36 UTC   99y             no
front-proxy-client         Apr 03, 2120 06:47 UTC   99y             no
scheduler.conf             Apr 03, 2120 09:36 UTC   99y             no
  • 从master-01 上拷贝证书文件
    从master01 上拷贝证书
ssh 10.251.137.187 "mkdir -p /etc/kubernetes/pki/etcd"
ssh 10.251.137.188 "mkdir -p /etc/kubernetes/pki/etcd"scp -r /etc/kubernetes/admin.conf 10.251.137.187:/etc/kubernetes/admin.conf
scp -r /etc/kubernetes/admin.conf 10.251.137.188:/etc/kubernetes/admin.confscp -r /etc/kubernetes/pki/{ca.*,sa.*,front*}  10.251.137.187:/etc/kubernetes/pki/
scp -r /etc/kubernetes/pki/{ca.*,sa.*,front*}  10.251.137.188:/etc/kubernetes/pki/scp -r /etc/kubernetes/pki/etcd/ca.*  10.251.137.187:/etc/kubernetes/pki/etcd/ 
scp -r /etc/kubernetes/pki/etcd/ca.*  10.251.137.188:/etc/kubernetes/pki/etcd/
  • 重启docker

说明:主要为了重启proxy和etcd

service docker restart
  • 重启kubelet
service kubelet restart

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

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

相关文章

【Java基础教程】Java学习路线攻略导图——史诗级别的细粒度归纳,持续更新中 ~

Java学习路线攻略导图 上篇 前言1、入门介绍篇2、程序基础概念篇3、包及访问权限篇4、异常处理篇5、特别篇6、面向对象篇7、新特性篇8、常用类库篇 前言 🍺🍺 各位读者朋友大家好!得益于各位朋友的支持和关注,我的专栏《Java基础…

Vue2 - 模板、渲染、事件处理、表单输入绑定

文章目录 模板语法1、文本2、原始 HTML3、属性 Attribute4、使用 JavaScript 表达式 条件渲染1、v-if2、v-else3、v-show4、v-if vs v-show 的区别 列表渲染1、用 v-for 把一个数组映射为一组元素2、维护状态 事件处理1、监听事件 v-on2、事件处理方法3、内联处理器中的方法 表…

【Linux后端服务器开发】UDP协议

目录 一、端口号 二、UDP报头格式 三、UDP的特点 四、UDP协议实现网络聊天群 一、端口号 端口号port标识了一个主机上进行通信的不同的应用程序。 0 ~ 1023:系统端口号,HTTP、FTP、SSH等这些广为使用的应用层协议,它们的端口号都是固定…

随手笔记——OpenCV 的基础使用方法

随手笔记——OpenCV 的基础使用方法 说明CMakeLists.txt关键内容源代码 说明 演示了如下几个操作:图像读取、显示、像素遍历、复制、赋值等。大部分的注解已写在代码里面。编译该程序时,需要在 CMakeLists.txt 中添加 OpenCV 的头文件,然后把…

Qt中QMainWindow的相关介绍

目录 菜单栏 工具栏 状态栏: 停靠窗口: QMainWindow 是标准基础窗口中结构最复杂的窗口,其组成如下: 提供了菜单栏 , 工具栏 , 状态栏 , 停靠窗口 菜单栏:只能有一个,位于窗口的最上方 工具栏:可以有多…

AI制图工具丨Midjourney产品功能介绍

了解如何使用Discord上的Midjourney Bot通过简单的文本提示创建自定义图像 Midjourney是一款AI制图工具,只要关键字,就能透过AI算法生成相对应的图片,只需要不到一分钟。 可以选择不同画家的艺术风格,例如安迪华荷、达芬奇、达利…

基于单片机水质检测系统的设计与实现

功能介绍 以STM32单片机作为主控系统;液晶显示当前参数;PH模块采集当前水质PH酸碱度;DS18B20温度传感器采集当前水体温度;TDS传感器采集当前水体TDS值;浊度传感器采集当前水体浑浊度;按键设置PH、温度、TDS…

无涯教程-Javascript - For...in循环语句

for ... in 循环用于循环访问对象的属性,由于无涯教程尚未讨论Objects对象,您就会发现此循环非常有用。“ for...in”循环的语法为: for (variablename in object) {statement or block to execute } 在每次迭代中,将 object对象中的一个属性…

Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘

1、集群环境及问题描述 集群版本:6.8.X集群节点:5节点(三个节点为主数据节点,另外两个独立数据节点)。问题描述:由于IP冲突,修改了一台服务器的IP,然后5台配置改了一下一次重启&…

Kafka 深度剖析

1、应用场景 1.1 kafka场景 Kafka最初是由LinkedIn公司采用Scala语言开发,基于ZooKeeper,现在已经捐献给了Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以 高吞吐、可持久化、可水平扩展、支持流处理等多种特性而被广泛应用…

ffmpeg和opencv源码搭建

目录 一、安装ffmpeg创建文件夹ffmpeg4.1解压压缩包二、安装opencv三、项目工程编译运行虹软的sdk注册创建工程文件夹编译ffmpeg_arc_face-recognize修改Makefile编译FFMPEG_DNN_Project四、安装包下载五、编译过程中可能会出现的问题的解决方法一、安装ffmpeg 参考文章:http:…

flask基本用法小白教程+按钮跳转到指定页面+python和pip安装(后附)

一、flask学习教程: 1.1 基本程序: 大家可以在pycharm中复制如下代码,先感受一下flask的基本用法: 点击链接可进入浏览器查看程序运行的结果,在127.0.0.1:5000后面添上/test1/等设定的文字,可查看不同函…

基于单片机的蓝牙音乐喷泉的设计与实现

功能介绍 以51单片机作为主控系统;通过HM-18蓝牙音频模块进行无线传输; 通过LM386功放模块对音频信号进行放大;手机端可以直接控制音频播放,并且最远距离可达20米;手机端可以进行任意音乐切换,播报、暂停&a…

微信小程序中常见组件的使用

文章目录 微信小程序中常见组件的使用视图组件viewscroll-viewswipermovable-area 基础组件icontextrich-textprogress 表单组件buttoncheckbox、checkbox-grouplabelforminputpicker单列选择器多列选择器时间选择器&日期选择器&地区选择器 picker-viewradiosliderswit…

MySQL数据备份与恢复

目录 ​编辑 一、数据备份 1.1物理备份 1.1.1冷备份 1.1.2热备份 1.1.3温备份 二、逻辑分区 2.1完全分区 2.2差异分区 2.3增量备份 三、数据备份恢复实验 3.1做一个数据 3.2物理冷备份与恢复 3.3mysqldump 备份与恢复(温备份) 3.4Mysql数据…

采集极验4滑块验证码图片数据

在网络安全领域,验证码是一种常见的用于验证用户身份或防止恶意机器人攻击的技术。而极验4滑块验证码作为一种广泛应用的验证码形式,其具有较高的安全性和防御能力。本文将以获取极验4滑块验证码图片数据为主题,介绍相关技术和方法。 一、极…

【webrtc】rtc::Thread和std::thread 的用法

全局线程 itsfolf/Discord-Screenshare-Linux#include "rtc_base/thread.h"rtc::Thread* GlobalLoopThread() {static auto result = []

redis 相关

redis相关面试题 redis支持哪几种数据形式? String,hash,set,zset,list redis主要消费什么物理资源? 内存,key-value的形式, redis 具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘 I/O 速度为严…

MySQL常用语句

目录 连接MySQL 数据库操作 表的操作 数据操作 进阶查询 源码等资料获取方法 连接MySQL -- 语法:mysql -u用户名 -p密码 注:--空格 起到注释的作用 mysql -uroot -p123456 数据库操作 -- 显示当前时间、用户名、数据库版本(可以单独…

MATLAB 之 可视化图形用户界面设计

这里写目录标题 一、可视化图形用户界面设计1. 图形用户界面设计窗口1.1 图形用户界面设计模板1.2 图形用户界面设计窗口 2. 可视化图形用户界面设计工具1.1 对象属性检查器2.2 菜单编辑器2.3 工具栏编辑器2.4 对齐对象工具2.5 对象浏览器2.6 Tab 键顺序编辑器 3. 可视化图形用…