解决问题:

估计跟移动有关,下面那个没解决问题,是因为在原有文件的基础上修改的吧?而这里直接是移走,重新生成了新的。不太清楚是不是这个原因。

$ cd /etc/kubernetes/pki/
$ mv {apiserver.crt,apiserver-etcd-client.key,apiserver-kubelet-client.crt,front-proxy-ca.crt,front-proxy-client.crt,front-proxy-client.key,front-proxy-ca.key,apiserver-kubelet-client.key,apiserver.key,apiserver-etcd-client.crt} ~/
$ kubeadm init phase certs all
$ cd /etc/kubernetes/
$ mv {admin.conf,controller-manager.conf,kubelet.conf,scheduler.conf} ~/
$ kubeadm init phase kubeconfig all
$ reboot
$ cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

没解决问题前,执行命令访问不了

[root@mcwk8s-master /etc/kubernetes]$ kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?
[root@mcwk8s-master /etc/kubernetes]$

可以正常访问了

[root@mcwk8s-master /etc/kubernetes]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
mcwk8s-master Ready control-plane,master 658d v1.23.1
mcwk8s-node1 Ready <none> 658d v1.23.1
mcwk8s-node2 Ready <none> 658d v1.23.1
[root@mcwk8s-master /etc/kubernetes]$

即使过期问题解决了,并且kubectl命令执行不报错了,但是kubelet依然状态有错误信息

[root@mcwk8s-master /etc/kubernetes]$ systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: active (running) since Fri 2023-11-10 22:12:49 CST; 10min ago
Docs: https://kubernetes.io/docs/
Main PID: 41564 (kubelet)
Memory: 38.9M
CGroup: /system.slice/kubelet.service
└─41564 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --c... Nov 10 22:12:51 mcwk8s-master kubelet[41564]: I1110 22:12:51.055339 41564 reconciler.go:216] "operationExecutor.VerifyControllerAttachedVolum...
Nov 10 22:12:51 mcwk8s-master kubelet[41564]: I1110 22:12:51.055369 41564 reconciler.go:216] "operationExecutor.VerifyControllerAttachedVolum...
Nov 10 22:12:51 mcwk8s-master kubelet[41564]: I1110 22:12:51.055388 41564 reconciler.go:157] "Reconciler: start to sync state"
Nov 10 22:12:52 mcwk8s-master kubelet[41564]: I1110 22:12:52.164131 41564 request.go:665] Waited for 1.005490743s due to client-side t...y/token
Nov 10 22:12:53 mcwk8s-master kubelet[41564]: E1110 22:12:53.174259 41564 kubelet.go:1711] "Failed creating a mirror pod for" err="pod...master"
Nov 10 22:12:53 mcwk8s-master kubelet[41564]: E1110 22:12:53.380123 41564 kubelet.go:1711] "Failed creating a mirror pod for" err="pod...master"
Nov 10 22:12:53 mcwk8s-master kubelet[41564]: E1110 22:12:53.580643 41564 kubelet.go:1711] "Failed creating a mirror pod for" err="pod...master"
Nov 10 22:12:53 mcwk8s-master kubelet[41564]: E1110 22:12:53.777755 41564 kubelet.go:1711] "Failed creating a mirror pod for" err="pod...master"
Nov 10 22:12:58 mcwk8s-master kubelet[41564]: I1110 22:12:58.422831 41564 prober_manager.go:255] "Failed to trigger a manual run" prob...diness"
Nov 10 22:12:59 mcwk8s-master kubelet[41564]: I1110 22:12:59.838708 41564 prober_manager.go:255] "Failed to trigger a manual run" prob...diness"
Hint: Some lines were ellipsized, use -l to show in full.
[root@mcwk8s-master /etc/kubernetes]$

没解决问题:

journalctl -u kubelet --no-pager 发现kubelet启动失败

E0728 23:35:23.526561 12500 bootstrap.go:265] part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: 2022-10-05 03:16:49 +0000 UTC
E0728 23:35:23.526583 12500 server.go:292] "Failed to run kubelet" err="failed to run Kubelet: unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such file or directory

从日志给出的提示说明是证书过期导致。

统一查看证书是否过期 :
kubeadm certs check-expiration

过期,需要重新生成证书

备份并重新生成证书
cp -r /etc/kubernetes/pki /etc/kubernetes/pki.bak20230729
cd /etc/kubernetes/pki
kubeadm certs renew all

备份并重新生成配置文件
cp -r /etc/kubernetes /etc/kubernetes.bak
cd /etc/kubernetes
kubeadm init phase kubeconfig all

重启kubelet
systemctl restart kubelet

用更新后的admin.conf替换/root/.kube/config文件
cp /etc/kubernetes/admin.conf ~/.kube/config

这时候一定要注意是否存在.kube文件夹,有的话一定要先删除,否则永远卡在激活中状态

执行完删除命令,在执行上面的复制命令

rm -rf $HOME/.kube
cp /etc/kubernetes/admin.conf ~/.kube/config

查看kubelet启动状态
systemctl status kubelet

参考资料:kubernetes 坑人的错误!!!Unable to connect to the server: x509: certificate signed by unknown authority

原文链接:https://blog.csdn.net/paopaodog/article/details/131990391

$ cd /etc/kubernetes/pki/
$ mv {apiserver.crt,apiserver-etcd-client.key,apiserver-kubelet-client.crt,front-proxy-ca.crt,front-proxy-client.crt,front-proxy-client.key,front-proxy-ca.key,apiserver-kubelet-client.key,apiserver.key,apiserver-etcd-client.crt} ~/
$ kubeadm init phase certs all
$ cd /etc/kubernetes/
$ mv {admin.conf,controller-manager.conf,kubelet.conf,scheduler.conf} ~/
$ kubeadm init phase kubeconfig all
$ reboot
$ cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

kubeadm部署的k8s证书过期问题 k8s问题排查:the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired的更多相关文章

  1. 使用kubeadm部署k8s

    k8s组件 master,node master中包括apiserver,scheduler,controller.etcd apiserver:负责接收用户请求,并且保存至etcd中. schedu ...

  2. kubeadm部署k8s

      Kubernetes技术已经成为了原生云技术的事实标准,它是目前基础软件领域最为热门的分布式调度和管理平台.于是,Kubernetes也几乎成了时下开发工程师和运维工程师必备的技能之一. 官方文档 ...

  3. kubeadm部署安装+dashboard+harbor

    kubeadm 部署安装+dashboard+harbor master(2C/4G,cpu核心数要求大于2) 192.168.80.10 docker.kubeadm.kubelet.kubectl ...

  4. 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三 ...

  5. kubeadm部署高可用K8S集群(v1.14.2)

    1. 简介 测试环境Kubernetes 1.14.2版本高可用搭建文档,搭建方式为kubeadm 2. 服务器版本和架构信息 系统版本:CentOS Linux release 7.6.1810 ( ...

  6. 使用kubeadm部署K8S v1.17.0集群

    kubeadm部署K8S集群 安装前的准备 集群机器 172.22.34.34 K8S00 172.22.34.35 K8S01 172.22.34.36 K8S02 注意: 本文档中的 etcd . ...

  7. 使用kubeadm部署k8s集群[v1.18.0]

    使用kubeadm部署k8s集群 环境 IP地址 主机名 节点 10.0.0.63 k8s-master1 master1 10.0.0.63 k8s-master2 master2 10.0.0.6 ...

  8. k8s采坑记 - 解决二进制安装环境下证书过期问题

    前言 上一篇k8s采坑记 - 证书过期之kubeadm重新生成证书阐述了如何使用kubeadm解决k8s证书过期问题. 本篇阐述使用二进制安装的kubernetes环境,如何升级过期证书? k8s配置 ...

  9. 【k8s学习笔记】使用 kubeadm 部署 v1.18.5 版本 Kubernetes集群

    说明 本文系搭建kubernetes v1.18.5 集群笔记,使用三台虚拟机作为 CentOS 测试机,安装kubeadm.kubelet.kubectl均使用yum安装,网络组件选用的是 flan ...

  10. Kubeadm证书过期时间调整

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

随机推荐

  1. #莫比乌斯反演#ZOJ 3435 Ideal Puzzle Bobble SP7001 VLATTICE

    ZOJ 3435 Ideal Puzzle Bobble SP7001 VLATTICE - Visible Lattice Points(洛谷题目传送门) SP7001 VLATTICE - Vis ...

  2. OpenHarmony之NAPI框架介绍

      张志成 诚迈科技高级技术专家 NAPI是什么 NAPI的概念源自Nodejs,为了实现javascript脚本与C++库之间的相互调用,Nodejs对V8引擎的api做了一层封装,称为NAPI.可 ...

  3. 文档贡献与写作必读-OpenHarmony开发者文档风格指南

    在您使用OpenHarmony文档或参与OpenHarmony文档/生态内容贡献时,是否遇到过如下问题: ● 应该使用第一人称还是第二人称来写作? ● Markdown文件应该如何命名? ● 代码块及 ...

  4. Python 中的数字类型与转换技巧

    Python中有三种数字类型: int(整数) float(浮点数) complex(复数) 当您将值分配给变量时,将创建数字类型的变量: 示例:获取您自己的Python服务器 x = 1 # int ...

  5. Redis之父萨尔瓦多·桑菲利波又名安蒂雷斯

    萨尔瓦多·桑菲利波又名安蒂雷斯 个人博客连接 嗨,我是萨尔瓦多·桑菲利波,也被称为安提雷斯, 一位居住在卡塔尼亚的意大利计算机程序员. 我于7年1977月2020日出生在坎波贝洛迪利卡塔. 2022 ...

  6. 直播预告丨“Hello ArkUI:初识Slider组件(JS)”周三约起

    12月1日 19:00-20:30,Hello HarmonyOS系列课程的第三节Hello ArkUI:初识Slider组件(JS)线上直播,将手把手教你熟悉最新的ArkUI,使用JS语言编写一个包 ...

  7. Windows XP Vmware 无法自适应窗口

    之前在吾爱破解上找到一个 WindowsXP SP3 的精简系统(目前找不到在哪了),自带 VMtools 和 52 破解工具包,很适合 XP 系统下的逆向和病毒分析.目前准备学习一下<恶意代码 ...

  8. Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: No outputs for the main artifact of variant: debug

    前言 遇到这种情况极大可能属于gradle 与 android studio版本不匹配的情况. 因为我是在升级android studio遇到的这个问题. 方法 一个方法是:降低android stu ...

  9. Django框架——图书管理系统、聚合查询、分组查询、F与Q查询

    图书管理系统 1.表设计 先考虑普通字段再考虑外键字段 数据库迁移.测试数据录入 2.首页展示 3.书籍展示 4.书籍添加 5.书籍编辑 后端如何获取用户想要编辑的数据.前端如何展示出待编辑的数据 6 ...

  10. 阿里云 MSE 支持 Go 语言流量防护

    简介: OpenSergo 开源项目联合 Sentinel 项目,正在制定.完善限流降级标准,方便不同语言应用通过统一控制面来实现统一的微服务治理.阿里云微服务引擎(MSE)也会逐步支持 OpenSe ...