Kuberbetes-CA证书过期解决方案

发布于:2025-05-16 ⋅ 阅读:(16) ⋅ 点赞:(0)


当使用 kubeadm 安装的 Kubernetes 集群证书过期时,可以通过以下步骤更新证书。

一.查看证书有效期信息

# 查看证书过期时间 => k8s1.15+版本的查看方法
kubeadm certs check-expiration

在这里插入图片描述
字段说明

字段 解释
CERTIFICATE 证书的名称
EXPIRES 证书过期的时间点
RESIDUAL TIME 当前时间距离证书过期的剩余时间
CERTIFICATE AUTHORITY 证书的颁发机构
EXTERNALLY MANAGED 证书是否由外部系统管理

证书字段详解

CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 备注
admin.conf Aug 02, 2025 08:36 UTC 79d ca no Kubeconfig 文件,包含集群访问的配置
apiserver Aug 02, 2025 08:36 UTC 79d ca no Kubernetes API 服务器的证书
apiserver-etcd-client Aug 02, 2025 08:36 UTC 79d etcd-ca no API 服务器与 ETCD 之间的客户端证书
apiserver-kubelet-client Aug 02, 2025 08:36 UTC 79d ca no API 服务器与 Kubelet 之间的客户端证书
controller-manager.conf Aug 02, 2025 08:36 UTC 79d ca no Kubernetes 控制器管理器的 Kubeconfig 文件
etcd-healthcheck-client Aug 02, 2025 08:36 UTC 79d etcd-ca no 用于 ETCD 健康检查的客户端证书
etcd-peer Aug 02, 2025 08:36 UTC 79d etcd-ca no ETCD 节点间的对等通信证书
etcd-server Aug 02, 2025 08:36 UTC 79d etcd-ca no ETCD 服务器的证书
front-proxy-client Aug 02, 2025 08:36 UTC 79d front-proxy-ca no 前端代理的客户端证书
scheduler.conf Aug 02, 2025 08:36 UTC 79d ca no Kubernetes 调度器的 Kubeconfig 文件

显示证书过期还有79天

证书颁发机构字段详解

CERTIFICATE AUTHORITY EXPIRES RESIDUAL TIME EXTERNALLY MANAGED 备注
ca Jul 31, 2034 08:36 UTC 9y no Kubernetes 的主证书颁发机构
etcd-ca Jul 31, 2034 08:36 UTC 9y no ETCD 的证书颁发机构
front-proxy-ca Jul 31, 2034 08:36 UTC 9y no 前端代理的证书颁发机构

二.解决方法

1.备份原有证书和配置文件

# 备份整个 /etc/kubernetes 目录
sudo cp -r /etc/kubernetes /etc/kubernetes.bak

# 备份 kubeconfig 文件
sudo cp $HOME/.kube/config $HOME/.kube/config.bak

2.更新证书

# 使用 kubeadm 自动更新所有证书
sudo kubeadm certs renew all

在这里插入图片描述
根据提示,需要重启kube-apiserver,kube-controller-manager,kube-scheduler 和etcd组件,因此还需再进行重启操作

3.重启pod

# 查看这些pod
kubectl get pod -n kube-system

在这里插入图片描述

# 删除这些pod
kubectl delete pod -n kube-system etcd-k8s-master kube-apiserver-k8s-master kube-controller-manager-k8s-master kube-scheduler-k8s-master

在这里插入图片描述

4.更新kubecofig文件

# 重新生成管理员 kubeconfig
sudo kubeadm init phase kubeconfig admin

# 替换原有配置(需备份原文件)
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

在这里插入图片描述

5.查看证书过期时间

# 确认证书已更新
sudo kubeadm certs check-expiration

在这里插入图片描述

6.重启工作节点kubelet

systemctl restart kubelet
systemctl status kubelet

在这里插入图片描述

7.验证集群状态

kubectl get nodes

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到