【K8s】Kubernetes 集群证书过期处理方法

2024-09-02 12:47:31 浏览数 (1)

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发!如果您有其他想要了解的,欢迎私信联系我~

背景介绍

使用 kubeadm 安装的 Kubernetes 集群,运行一段时间后执行 kubectl 命令突然出现以下报错:

代码语言:javascript复制
Unable to connect to the server: x509: certificate has expired or is not yet valid: current time 2023-09-22T15:05:09 08:00 is after 2023-09-20T04:04:02Z

报错原因是 Kubernetes 集群证书已经过期(默认有效期 365 天),处理方法是对 Kubernetes 集群证书进行更新以重置有效期,本文将介绍具体处理过程。

相关概念

Kubernetes 集群证书是用于在 Kubernetes 集群中实现安全通信的关键组件,主要用于在集群的各个组件之间建立信任和进行身份验证。

Kubernetes 集群证书包括:

  • CA(证书颁发机构)证书:用于签名其他证书,是信任链的根
  • API Server 证书:用于 API Server 的 TLS 认证
  • kubelet 证书:用于 kubelet 与 API Server 之间的通信
  • kube-proxy 证书:用于 kube-proxy 与 API Server 之间的通信
  • etcd 证书:用于 etcd 集群内部节点之间的通信
  • 服务账户证书:用于服务账户与 API Server 之间的通信

kubeadm 是 Kubernetes 集群的启动和初始化工具,它在创建集群时生成 Kubernetes 集群证书,并默认设置有效期为一年。

处理过程

1、备份证书

代码语言:javascript复制
cd /etc/kubernetes && mv pki pki-old

2、检测证书

代码语言:javascript复制
# kubeadm 20 之前的版本使用本命令
kubeadm alpha certs check-expiration
 
# kubeadm 20 之后的版本使用本命令
kubeadm certs check-expiration
 



	

0 人点赞