当前位置: 首页 > news >正文

Xk8s证书续期

Master节点

备份文件

cp -r  /etc/kubernetes/ /etc/kubernetes-20211021-bak
tar -cvzf kubernetes-20211021-bak.tar.gz /etc/kubernetes-20211021-bak/cp -r ~/.kube/ ~/.kube-20211021-bak
tar -cvzf kube-20211021-bak.tar.gz  ~/.kube-20211021-bakcp -r /var/lib/kubelet/ /var/lib/kubelet-20211021-bak
tar -cvzf kubelet-20211021-bak.tar.gz /var/lib/kubelet-20211021-bak

生成kubeadm配置文件

kubeadm config view > kubeadm.yaml

测试环境k8s生成的配置示例:

apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: 10.160.11.121:6443
controllerManager: {}
dns:type: CoreDNS
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.18.18
networking:dnsDomain: cluster.localpodSubnet: 10.244.0.0/16serviceSubnet: 10.96.0.0/12
scheduler: {}

生产环境k8s 集群已经无法访问,参考互联网资料,生产配置:

apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.16.0
controlPlaneEndpoint: 10.100.31.250:8443
apiServer:certSANs:- 10.100.31.110- 10.100.31.130- 10.100.31.133- 10.100.31.250
networking:# This CIDR is a Calico default. Substitute or remove for your CNI provider.podSubnet: 10.244.0.0/16
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs

注意生产环境 k8s版本与测试环境版本不一致。

开始更新证书

kubeadm alpha certs renew all --config=kubeadm.yamlopenssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep 'Not'

重新生成配置文件

kubeadm init phase kubeconfig all --config kubeadm.yaml

更新.kube配置文件

cp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/config

重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器

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

重启kubelet

systemctl restart kubelet

多个master节点,需要重复以上步骤。

其他

查看证书过期时间

openssl x509 -in etcd/server.crt -noout -text |grep ' Not '

http://www.lryc.cn/news/445915.html

相关文章:

  • 仓颉编程入门2,启动HTTP服务
  • Linux驱动开发初识
  • 前端面试题(三)
  • 骨传导耳机哪个牌子最好用?实测五大实用型骨传导耳机分析!
  • 18.1 k8s服务组件之4大黄金指标讲解
  • MacOS Catalina 从源码构建Qt6.2开发库之02: 配置QtCreator
  • 某建筑市场爬虫数据采集逆向分析
  • 降低存量房贷利率的主要原因和影响
  • 远程桌面连接工具Microsoft Remote Desktop Beta for Mac
  • Linux 之 logrotate 【日志分割】
  • Canvas简历编辑器-Monorepo+Rspack工程实践
  • uni-app - - - - -vue3使用i18n配置国际化语言
  • VSCode好用的插件推荐
  • Linux:八种重定向详解(万字长文警告)
  • set和map系列容器
  • 企业告警智策助手 | OPENAIGC开发者大赛企业组AI创作力奖
  • 函数组件、Hooks和类组件区别
  • 在线点餐新体验:Spring Boot 点餐系统
  • WPF中Viewbox的介绍和用法
  • QMT如何获取股票基本信息?如上市时间、退市时间、代码、名称、是否是ST等。QMT量化软件支持!
  • 2024年中国科技核心期刊目录(科普卷)
  • [解决]navicat连接mysql成功,但是使用jdbc连接不上
  • sar信号RD域的距离向傅里叶变换
  • 4 html5 web components原生组件详细教程
  • nginx+keepalived健康检查案例详解(解决nginx出现故障却不能快速切换到备份服务器的问题)
  • 什么是AI大模型?
  • 建造者模式__c#
  • 学习MRI处理过程中搜到的宝藏网站
  • 【C语言】const char*强制类型转换 (type cast)的告警问题
  • python-比较月亮大小/数组下标/人见人爱a+b