k8s证书过期

k8s证书过期

bash 复制代码
[root@k8s-master102 ~]# kubectl get pod -A
Unable to connect to the server: x509: certificate has expired or is not yet valid: current time 2023-07-25T15:14:00+08:00 is after 2023-07-24T16:25:58Z

解决方案

  1. 备份 kubernetes配置
bash 复制代码
cp -r /etc/kubernetes  /etc/kubernetes_bak
  1. 检测证书过期
bash 复制代码
kubeadm certs check-expiration
  1. 更新证书
bash 复制代码
kubeadm certs renew all
  1. 重启kube-apiserver、kube-controller-manage、kube-scheduler
bash 复制代码
# 重启 kubelet
systemctl restart kubelet

# 重启kube-apiserver、kube-controller-manage、kube-scheduler
docker ps |grep kube-apiserver|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
docker ps |grep kube-controller-manage|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
docker ps |grep kube-scheduler|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
  1. 更新用户配置
bash 复制代码
# 备份
cp -rp $HOME/.kube/config $HOME/.kube/config.bak
# 并生成新的配置文件
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

此步骤可能会出现报错error: You must be logged in to the server (Unauthorized),请参考注意事项

注意事项

  1. 第3步更新证书以后需要重新启动
bash 复制代码
# 重启 kubelet
systemctl restart kubelet

# 重启kube-apiserver、kube-controller-manage、kube-scheduler
# 如果是docker作为容器的话,可执行如下命令。其余容器方法类似
docker ps |grep kube-apiserver|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
docker ps |grep kube-controller-manage|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
docker ps |grep kube-scheduler|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
  1. 第4步不生效,始终报错error: You must be logged in to the server (Unauthorized)

解决方案:

bash 复制代码
# 删除 cache
$HOME/.kube/cache
# 重新生成
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
相关推荐
潮起鲸落入海3 小时前
Kubernetes Metric Server, Quota and Limits
容器·kubernetes
梦想的颜色3 小时前
Docker 容器化本地部署 Claude Code 完整硬核教程|隔离沙盒 + 国产模型直连 + 持久化 Skill
运维·容器·ai 工程化·沙盒隔离·docker 本地部署·claude code硬核实战·国内国产模型接入
摇滚侠4 小时前
云原生 Java 架构师的第一课 K8s+Docker+KubeSphere+DevOps 19-25
java·云原生·kubernetes
渣渣盟4 小时前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器
我叫张小白。5 小时前
一个微服务电商+社区项目(瓷韵app)的技术深度复盘
docker·微服务·云原生·架构
咕噜咕噜的猪大侠5 小时前
《K8s 核心知识梳理:Deployment 滚动更新、JobCronJob、DaemonSet 和 Service》
云原生·容器·kubernetes
虚心的百褶裙5 小时前
远程调用服务架构设计及zookeeper技术详解(下篇)
分布式·zookeeper·云原生
Geek-Chow6 小时前
微服务认证与授权:08 — OPA(PDP)
微服务·云原生·架构
阿标在干嘛6 小时前
100+微服务的统一出入口:政策快报平台的API网关设计
微服务·云原生·架构
摇滚侠6 小时前
云原生 Java 架构师的第一课 K8s+Docker+KubeSphere+DevOps 26-40
java·云原生·kubernetes