推荐阅读

Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506
Helm3(K8S 资源对象管理工具)博客专栏:https://blog.csdn.net/xzk9381/category_10895812.html

本文原文链接:https://blog.csdn.net/xzk9381/article/details/109535894,转载请注明出处。如有发现文章中的任何问题,欢迎评论区留言。

Kubeadm 证书过期处理

以下内容参考了如下链接:https://www.cnblogs.com/skymyyang/p/11093686.html

一、处理证书已过期的集群

使用 kubeadm 搭建的集群,默认证书有效期是 1 年。如果没有在证书过期前续期,那么集群会无法运行,使用的过程中会报如下错误:

x509: certificate has expired or is not yet valid.

查看当前 kubeadm 搭建的集群证书有效期信息,命令如下:

[@master74-53 ~]#  for i in /etc/kubernetes/pki/*.crt;do echo $i; openssl x509 -in $i -text -noout|egrep "Not Before|Not After";echo "-----------";done
/etc/kubernetes/pki/apiserver.crtNot Before: Oct 24 03:10:01 2019 GMTNot After : Oct 23 03:10:01 2020 GMT
-----------
/etc/kubernetes/pki/apiserver-etcd-client.crtNot Before: Oct 24 03:10:03 2019 GMTNot After : Oct 23 03:10:04 2020 GMT
-----------
/etc/kubernetes/pki/apiserver-kubelet-client.crtNot Before: Oct 24 03:10:01 2019 GMTNot After : Oct 23 03:10:02 2020 GMT
-----------
/etc/kubernetes/pki/ca.crtNot Before: Oct 24 03:10:01 2019 GMTNot After : Oct 21 03:10:01 2029 GMT
-----------
/etc/kubernetes/pki/front-proxy-ca.crtNot Before: Oct 24 03:10:02 2019 GMTNot After : Oct 21 03:10:02 2029 GMT
-----------
/etc/kubernetes/pki/front-proxy-client.crtNot Before: Oct 24 03:10:02 2019 GMTNot After : Oct 23 03:10:03 2020 GMT
-----------

可以看到证书的有效期是截止到 2020 年 10 月份,在证书过期后,使用如下步骤进行处理。

1. 针对 kubeadm 1.13.x 及以上版本

首先在服务器上创建一个 kubeadm.yaml 的文件,内容如下:

apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.16.2                 # 这里修改成集群对应的版本
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
#这里使用国内的镜像仓库,否则在重新签发的时候会报错:could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.txt"

将 /etc/kubernetes/pki 中的证书文件进行备份,然后使用如下命令重新生成证书:

[@master74-53 /opt]# kubeadm alpha certs renew all --config=/opt/kubeadm.yaml
certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself renewed
certificate for serving the Kubernetes API renewed
certificate the apiserver uses to access etcd renewed
certificate for the API server to connect to kubelet renewed
certificate embedded in the kubeconfig file for the controller manager to use renewed
certificate for liveness probes to healthcheck etcd renewed
certificate for etcd nodes to communicate with each other renewed
certificate for serving etcd renewed
certificate for the front proxy client renewed
certificate embedded in the kubeconfig file for the scheduler manager to use renewed

运行命令后后重新生成如下证书文件:

#-- /etc/kubernetes/pki/apiserver.key
#-- /etc/kubernetes/pki/apiserver.crt#-- /etc/kubernetes/pki/apiserver-etcd-client.key
#-- /etc/kubernetes/pki/apiserver-etcd-client.crt#-- /etc/kubernetes/pki/apiserver-kubelet-client.key
#-- /etc/kubernetes/pki/apiserver-kubelet-client.crt#-- /etc/kubernetes/pki/front-proxy-client.key
#-- /etc/kubernetes/pki/front-proxy-client.crt#-- /etc/kubernetes/pki/etcd/healthcheck-client.key
#-- /etc/kubernetes/pki/etcd/healthcheck-client.crt#-- /etc/kubernetes/pki/etcd/peer.key
#-- /etc/kubernetes/pki/etcd/peer.crt#-- /etc/kubernetes/pki/etcd/server.key
#-- /etc/kubernetes/pki/etcd/server.crt

查看新生成的证书有效期:

[@master74-53 /opt]#  for i in /etc/kubernetes/pki/*.crt;do echo $i; openssl x509 -in $i -text -noout|egrep "Not Before|Not After";echo "-----------";done
/etc/kubernetes/pki/apiserver.crtNot Before: Oct 24 03:10:01 2019 GMTNot After : Oct 26 06:41:43 2021 GMT
-----------
/etc/kubernetes/pki/apiserver-etcd-client.crtNot Before: Oct 24 03:10:03 2019 GMTNot After : Oct 26 06:41:44 2021 GMT
-----------
/etc/kubernetes/pki/apiserver-kubelet-client.crtNot Before: Oct 24 03:10:01 2019 GMTNot After : Oct 26 06:41:44 2021 GMT
-----------
/etc/kubernetes/pki/ca.crtNot Before: Oct 24 03:10:01 2019 GMTNot After : Oct 21 03:10:01 2029 GMT
-----------
/etc/kubernetes/pki/front-proxy-ca.crtNot Before: Oct 24 03:10:02 2019 GMTNot After : Oct 21 03:10:02 2029 GMT
-----------
/etc/kubernetes/pki/front-proxy-client.crtNot Before: Oct 24 03:10:02 2019 GMTNot After : Oct 26 06:41:46 2021 GMT
-----------

使用如下命令重新生成 kubeconfig 文件,否则 kubectl 将无法使用:

kubeadm init phase kubeconfig all

然后将新生成的文件拷贝到 ${HOME}/.kube 目录下并重命名为 config

cp -pr /etc/kubernetes/admin.conf /root/.kube/config

重启 apiserver、kube-controller、kube-scheduler、etcd 容器即可。

本文原文链接:https://blog.csdn.net/xzk9381/article/details/109535894,转载请注明出处。如有发现文章中的任何问题,欢迎评论区留言。

如何处理 Kubeadm 搭建的集群证书过期问题相关推荐

  1. 三种监控 Kubernetes 集群证书过期方案

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 前言 Kubernetes 中大量用到了证书, 比如 ca证书.以及 kubelet.apiserver.prox ...

  2. Kubernetes 系列之 kubeadm 搭建k8s集群

    Kubeadm 搭建k8s集群 注意:Kubernetes 系列 所采用的kuberntetes版本都是 1.15+ 1 Master 节点安装 1.1 系统环境配置 1.1.1 设置主机名称 hos ...

  3. 【云原生之k8s】kubeadm搭建k8s集群

    [云原生之k8s]kubeadm搭建k8s集群 前言 一.集群介绍 (1)集群搭建方法 (2)集群架构 二.集群部署 (1)环境部署 ①所有节点,关闭防火墙规则,关闭selinux,关闭swap交换 ...

  4. kubernetes集群证书过期处理

    1.kubernetes集群证书过期: 操作命令: # kubectl get nodes Unable to connect to the server: x509: certificate has ...

  5. Kubeadm介绍与使用Kubeadm搭建kubernetes集群环境

    文章目录 1.Kubeadm介绍 2.使用Kubeamd搭建kubernetes集群环境 2.1.首先准备一个三台的centos机器 2.2.yum -y update [在三台机器上执行更新包] 2 ...

  6. 【云原生-K8s】kubeadm搭建k8s集群

    搭建K8s集群[无需科学上网] 官网:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kub ...

  7. kubernetes(一)kubeadm搭建k8s集群

    使用kubeadm搭建一个k8s集群 1个MasterNode,2个WorkNode 步骤 1.准备3台centos机器 可以使用阿里云,也可以使用virtualbox或者vm MasterNode: ...

  8. CentOS7 使用 kubeadm 搭建 kubernetes 集群(极速篇)

    序言 本人在安装 k8s 的过程中曲折不断,故写下此文,让后人可以少走弯路. 这篇文章只描述如何从0开始快速搭建 k8s 集群,想更详细了解具体遇到问题的分析过程和解决方案,可阅读另一篇文章 -- C ...

  9. CentOS7 使用 kubeadm 搭建 kubernetes 集群(踩坑篇)

    序言 本人在搭建 k8s 集群的过程中曲折不断,故写下此文,欲与"同是天涯沦落人"分享. 这篇文章会详细描述安装过程中遇到的问题,以及本人相应的解决办法,如读者只想快速搭建 k8s ...

最新文章

  1. 速度比晶体管快1000倍,新型单光子开关登上Nature
  2. php注释idea设置,IDEA对类生成注释以及自己定义代码生成方式
  3. MySQL EXPLAIN Extra列的信息
  4. 白话数字签名(番外篇)——签名EXE文件(下)
  5. 为电商而生的知识图谱,如何感应用户需求
  6. .net中的socket异步通信实现--客户端代码
  7. Cloud Lab: 泰晓实验云台【转】
  8. java sql分页_mysql、sqlserver、oracle分页,java分页统一接口实现
  9. NodeJS管理利器 - pm2常用命令
  10. template 的简单使用
  11. 2020中国数字化转型优秀案例征集
  12. python计算工资编程-老男孩学Python编程后薪资待遇高吗?
  13. 数字图像处理-美图秀秀:大眼算法
  14. 比芒果广告还要专业的广告管理系统:Keymob
  15. 80套传统简历模板.zip
  16. linux系统下的打印机驱动下载,用于UNIXLinux系统的打印机驱动程序-Lexmark.PDF
  17. 英汉词典 JaVa_一个Java编写的英汉词典
  18. 牛!程序媛一口气拿下BAT、美团、vivo、爱奇艺等公司Offer面经总结
  19. 这里记录几个国外的网站
  20. php在线加密源代码,2019最新PHP在线云加密平台源码

热门文章

  1. CCF NOI1011 正方形
  2. CCF201612-1 中间数(解法三)(100分)(废除!!!)
  3. matlab 可视化 —— 高级 api(montage)、insertObjectAnnotation、insertMaker
  4. Frequentist 观点和 Bayesian 观点
  5. 统计学基本概念(及辨异)
  6. 强悍的 ubuntu —— 查看软件版本及安装位置
  7. 趣学 C 语言(七)—— 文件读写操作
  8. matlab 中的内联函数、匿名函数和函数函数
  9. keil创建工程没有atmel_如何使用 KEIL 下载 HEX 文件?
  10. python安装教程-python安装教程 Pycharm安装详细教程