问题现象

K8S集群证书过期后,会导无法创建Pod,通过kubectl get nodes也无法获取信息,甚至dashboard也无法访问。

一、确认K8S证书过期时间

查看k8s某一证书过期时间:

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not

显示如下,通过下面可看到证书有效期是1年,从2021到2022年:



其它证书同理,K8s各个证书过期时间如下:

/etc/kubernetes/pki/apiserver.crt           #1年有效期
/etc/kubernetes/pki/front-proxy-ca.crt #10年有效期
/etc/kubernetes/pki/ca.crt #10年有效期
/etc/kubernetes/pki/apiserver-etcd-client.crt #1年有效期
/etc/kubernetes/pki/front-proxy-client.crt #1年有效期
/etc/kubernetes/pki/etcd/server.crt #1年有效期
/etc/kubernetes/pki/etcd/ca.crt #10年有效期
/etc/kubernetes/pki/etcd/peer.crt #1年有效期
/etc/kubernetes/pki/etcd/healthcheck-client.crt #1年有效期
/etc/kubernetes/pki/apiserver-kubelet-client.crt #1年有效期

或使用统一命令查看

kubeadm alpha certs check-expiration

二、使用延长证书过期的方法解决K8S证书过期问题

K8S在过期之前,使用kubeadm alpha phase里的certs和kubeconfig命令,同时配合kubelet证书自动轮换机制来解决这个问题(具体操作可以百度搜索),这里介绍证书已经过期的解决方法,以下延长证书过期的方法适合kubernetes1.14、1.15、1.16、1.17、1.18版本。操作步骤如下:

2.1 下载update-kubeadm-cert.sh

百度网盘下载:

链接:https://pan.baidu.com/s/1WyVAwyL3mOGVFgpQ2tomCw

提取码:f6sa

2.2 把update-kubeadm-cert.sh文件上传到k8s各节点任意位置

2.3 执行如下命令

1)给update-kubeadm-cert.sh证书授权可执行权限

chmod +x update-kubeadm-cert.sh

2)执行下面命令,修改证书过期时间,把时间延长到10年

./update-kubeadm-cert.sh all

3)在master节点查询Pod是否正常,能查询出数据说明证书签发完成

注:执行命令时需要断开连接重新连接命令才生效

kubectl  get pods -n kube-system

显示如下,能够看到pod信息,说明证书签发正常:

4)重启kubelet

systemctl restart kubelet

三、验证证书有效时间是否延长到10年

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text  | grep Not

显示如下,通过下面可看到apiserver证书有效期是10年,从2021到2031年:

其它证书同理进行验证,或使用统一查看命令

kubeadm alpha certs check-expiration

(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢)

Kubernetes集群证书过期解决办法的更多相关文章

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

    前言 Kubernetes 中大量用到了证书, 比如 ca证书.以及 kubelet.apiserver.proxy.etcd等组件,还有 kubeconfig 文件. 如果证书过期,轻则无法登录 K ...

  2. kubernetes集群证书过期之后--转发

    步骤 如果有多master,需要在每个master上进行以下操作. 需要进行以下步骤 重新生成证书 重新生成对应的配置文件 重启docker 和 kubelet 拷贝kubectl 客户端文件 [ro ...

  3. k8s集群证书过期(kubeadm 1.10.2 )

    1.k8s 集群架构描述 kubeadm v1.10.2创建k8s集群. master节点高可用,三节点(10.18.60.3.10.18.60.4.10.18.60.5). LVS实现master三 ...

  4. kubernetes集群证书更新

    kubeadm 默认证书为一年,一年过期后,会导致api service不可用,使用过程中会出现:x509: certificate has expired or is not yet valid. ...

  5. hadoop 集群常见错误解决办法

    hadoop 集群常见错误解决办法 hadoop 集群常见错误解决办法: (一)启动Hadoop集群时易出现的错误: 1.   错误现象:Java.NET.NoRouteToHostException ...

  6. 如何处理 Kubeadm 搭建的集群证书过期问题

    Kubeadm 证书过期处理 以下内容参考了如下链接:https://www.cnblogs.com/skymyyang/p/11093686.html 一.处理证书已过期的集群 使用 kubeadm ...

  7. k8s kubernetes 集群 证书更新操作

    转载自https://www.cnblogs.com/kuku0223/p/12978716.html 1. 各个证书过期时间 /etc/kubernetes/pki/apiserver.crt #1 ...

  8. 解决hadoop 集群启动常见错误办法

    hadoop 集群常见错误解决办法 hadoop 集群常见错误解决办法: (一)启动Hadoop集群时易出现的错误: 1.   错误现象:Java.NET.NoRouteToHostException ...

  9. [Kubernetes]集群配置免密登录Permission denied (publickey,password) 解决办法

    在用ansible部署Kubernetes集群是需要配置免密登录,但是遇到Permission denied (publickey,password)的问题 首先推断可能是sshd_config的配置 ...

  10. K8S 使用Kubeadm搭建高可用Kubernetes(K8S)集群 - 证书有效期100年

    1.概述 Kubenetes集群的控制平面节点(即Master节点)由数据库服务(Etcd)+其他组件服务(Apiserver.Controller-manager.Scheduler...)组成. ...

随机推荐

  1. 项目中的坑记录~v-if和v-show的坑

    有个功能是这样的,点击获取验证码,获取验证码之后将输入框禁用,进行倒计时11秒. 问题:第一次的倒计时是从6开始的, 之后的倒计时都是从9开始倒计,没有从11开始 解决:主要是用了v-show.倒计时 ...

  2. 如何让 MGR 不从 Primary 节点克隆数据?

    问题 MGR 中,新节点在加入时,为了与组内其它节点的数据保持一致,它会首先经历一个分布式恢复阶段.在这个阶段,新节点会随机选择组内一个节点(Donor)来同步差异数据. 在 MySQL 8.0.17 ...

  3. Known框架实战演练——进销存框架搭建

    本文介绍如何使用Known开发框架搭建进销存管理系统的项目结构,以及开发前的一些配置和基础代码. 项目代码:JxcLite 开源地址: https://gitee.com/known/JxcLite ...

  4. Linux 文本文件编辑相关命令简介【Linux 常用命令系列二】

    〇.前言 本文介绍了如何通过 vim 命令,对文本文件进行打开.编辑.保存等相关操作,并通过简单的示例演示了常用用法. 一.关于文本文件的操作 1.1 打开,查看(cat).编辑(vim) 打开文本文 ...

  5. 如何理解IOC中的“反转”和DI中的“注入”

    在理解 IOC 中的"反转"和 DI 中的"注入"之前,首先要理解原本的控制流程. 在传统的应用程序中,对象之间的依赖关系通常由调用方(例如客户端或者上层模块) ...

  6. RPA美团外卖商家中心批量发送消息

    美团外卖商家中心批量发送消息,首先我们需要确定给谁发,发送什么内容 给谁发:可以传入美团用户名.美团订单号.美团将通过此条件进行搜索进入会话框 发送什么内容:批量发送信息给不同的用户,比如给不同的订单 ...

  7. 【MySQL】Windows-8.0.19 安装版 下载安装

    下载地址 https://dev.mysql.com/downloads/windows/installer/8.0.html 跳过登陆 只选择基本服务 安装依赖环境,如果已存在,圆圈显示绿点,下一步 ...

  8. 【JavaScript】文件上传下载问题

    问题原因 一般文件上传前端甚至可以不涉及JS来实现 input标签套在form标签,由form标签直接发送请求就可以实现上传功能 但是现在很多项目都使用前后端分离,AJAX一刀切所有. input标签 ...

  9. python数据分析与可视化基础

    一.数据分析介绍:1.数据分析含义:数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用.数据分析是为了提取有用信息和形成 ...

  10. 人形机器人(具身智能,Embodied Intelligence)—— 抓取动作(上半身动作规划)的各大公司技术路线

    视频地址: https://www.youtube.com/watch?v=UZBSXzNKB1Q