k8s证书过期带来的问题解决

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 解决k8s自带签名证书过期后,节点状态为NotReady的恢复。

现象:

首先是master节点,执行kubectl get nodes 报错,在对master节点恢复后,恢复方法如下:

sudo kubeadm certs renew all --config=./kubeadm-init-config.yaml

后,发现worker节点依然是not ready状态:

kiosk@k8s-master:~$ k get nodes
NAME          STATUS     ROLES           AGE    VERSION
k8s-master    Ready      control-plane   425d   v1.24.1
k8s-worker1   NotReady   <none>          425d   v1.24.1
k8s-worker2   NotReady   <none>          425d   v1.24.1

同时在worker节点上查看kubelet状态,不是active状态,经过试验,发现调整了worker节点的时间,前置2个月,kubelet状态就正常了。
判定是worker节点没有更新证书。

在worker节点上执行:

kubeadm certs renew all

并不能解决问题。

但问题已经聚焦,在是证书过期问题没有解决。

于是考虑在master节点上,生成worker节点的kubelet.conf文件,复制过去。具体操作如下:

root@k8s-master:/home/kiosk# kubeadm init phase kubeconfig kubelet --node-name k8s-worker1 --config ./kubeadm-config.yaml --kubeconfig-dir /home/kiosk/tmp    
[kubeconfig] Writing "kubelet.conf" kubeconfig file

解释一下:

  • --node-name k8s-worker1是指定worker节点,
  • --config ./kubeadm-config.yaml,这个需要到集群创建时,使用的kubeadm-config.yaml文件所在位置
  • --kubeconfig-dir /home/kiosk/tmp 意思是生成一个配置文件到tmp目录下,并不是初始化集群

接着拷贝到worker1节点:

root@k8s-master:/home/kiosk/tmp# scp ./kubelet.conf 192.168.147.129:/etc/kubernetes/

在worker1节点上查看:

root@k8s-worker1:/etc/kubernetes# systemctl restart kubelet
//重启下服务
root@k8s-worker1:/etc/kubernetes# ls /var/lib/kubelet/pki/
kubelet-client-2022-08-16-12-45-49.pem  kubelet-client-2023-10-15-16-13-31.pem  kubelet-client-current.pem  kubelet.crt  kubelet.key
root@k8s-worker1:/etc/kubernetes# ll  /var/lib/kubelet/pki/  
total 24
drwxr-xr-x 2 root root 4096 Oct 15 16:13 ./
drwxr-xr-x 8 root root 4096 Aug 16  2022 ../
-rw------- 1 root root 1118 Aug 16  2022 kubelet-client-2022-08-16-12-45-49.pem
-rw------- 1 root root 1114 Oct 15 16:13 kubelet-client-2023-10-15-16-13-31.pem
lrwxrwxrwx 1 root root   59 Oct 15 16:13 kubelet-client-current.pem -> /var/lib/kubelet/pki/kubelet-client-2023-10-15-16-13-31.pem
## 链接到新pem文件了
-rw-r--r-- 1 root root 2271 Aug 16  2022 kubelet.crt
-rw------- 1 root root 1679 Aug 16  2022 kubelet.key
## 查看证书
root@k8s-worker1:/etc/kubernetes# openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text  |grep Not
            Not Before: Oct 15 16:08:31 2023 GMT
            Not After : Oct 14 16:08:31 2024 GMT

再次查看kubelet服务:

root@k8s-worker1:/etc/kubernetes# systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
     Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/kubelet.service.d
             └─10-kubeadm.conf
     Active: active (running) since Sun 2023-10-15 16:13:56 UTC; 14min ago
       Docs: https://kubernetes.io/docs/home/
   Main PID: 6413 (kubelet)
      Tasks: 15 (limit: 4534)
     Memory: 37.7M
        CPU: 26.264s

在master节点上查看:

root@k8s-master:/home/kiosk/tmp# k get nodes
NAME          STATUS     ROLES           AGE    VERSION
k8s-master    Ready      control-plane   425d   v1.24.1
k8s-worker1   Ready      <none>          425d   v1.24.1
k8s-worker2   NotReady   <none>          425d   v1.24.1

同理,操作worker2节点。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
相关文章
|
7月前
|
Kubernetes 容器 Perl
kubeadm初始化k8s集群延长证书过期时间
kubeadm初始化k8s集群延长证书过期时间
|
3月前
|
Prometheus 监控 Kubernetes
监控 Kubernetes 集群证书过期时间的三种方案
监控 Kubernetes 集群证书过期时间的三种方案
|
5月前
|
Kubernetes Linux 调度
K8S证书过期解决办法之替换证书
K8S证书过期解决办法之替换证书
321 0
|
Kubernetes 测试技术 API
Kubernetes 证书过期怎么玩
Kubernetes 证书过期怎么玩
293 1
|
5天前
|
运维 Kubernetes 监控
Kubernetes 集群的持续性能优化实践
【4月更文挑战第26天】 在动态且不断增长的云计算环境中,维护高性能的 Kubernetes 集群是一个挑战。本文将探讨一系列实用的策略和工具,旨在帮助运维专家监控、分析和优化 Kubernetes 集群的性能。我们将讨论资源分配的最佳实践,包括 CPU 和内存管理,以及集群规模调整的策略。此外,文中还将介绍延迟和吞吐量的重要性,并提供日志和监控工具的使用技巧,以实现持续改进的目标。
|
8天前
|
存储 运维 Kubernetes
Kubernetes 集群的监控与维护策略
【4月更文挑战第23天】 在微服务架构日益盛行的当下,容器编排工具如 Kubernetes 成为了运维工作的重要环节。然而,随着集群规模的增长和复杂性的提升,如何确保 Kubernetes 集群的高效稳定运行成为了一大挑战。本文将深入探讨 Kubernetes 集群的监控要点、常见问题及解决方案,并提出一系列切实可行的维护策略,旨在帮助运维人员有效管理和维护 Kubernetes 环境,保障服务的持续可用性和性能优化。
|
9天前
|
存储 运维 Kubernetes
Kubernetes 集群的持续性能优化实践
【4月更文挑战第22天】在动态且复杂的微服务架构中,确保 Kubernetes 集群的高性能运行是至关重要的。本文将深入探讨针对 Kubernetes 集群性能优化的策略与实践,从节点资源配置、网络优化到应用部署模式等多个维度展开,旨在为运维工程师提供一套系统的性能调优方法论。通过实际案例分析与经验总结,读者可以掌握持续优化 Kubernetes 集群性能的有效手段,以适应不断变化的业务需求和技术挑战。
|
19天前
|
运维 Kubernetes 监控
Kubernetes 集群的监控与维护策略
【4月更文挑战第12天】在微服务架构日益普及的当下,Kubernetes 作为容器编排的事实标准,承载着运行和管理大量服务的重要职责。本文将深入探讨 Kubernetes 集群的监控要点,并提出一系列切实可行的维护策略,旨在帮助运维人员确保集群的稳定性和性能优化。
|
29天前
|
Kubernetes Cloud Native 容器
完全免费的K8S学习平台:在线集群环境助力你的云原生之路!
完全免费的K8S学习平台:在线集群环境助力你的云原生之路!
35 1
|
27天前
|
数据库 存储 监控
什么是 SAP HANA 内存数据库 的 Delta Storage
什么是 SAP HANA 内存数据库 的 Delta Storage
17 0
什么是 SAP HANA 内存数据库 的 Delta Storage

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多