Kubernetes集群证书过期后,如何用kubeadm实现自动续期?
摘要:Kubernetes集群证书过期解决方案:使用kubeadm为证书续期。Kubernetes证书过期及续期简介,使用kubeadm为Kubernetes集群证书续期,查看k8s集群证书过期时间,为master节点续期证书,为worker节点
目录一.系统环境二.前言三.Kubernetes证书过期及续期简介四.使用kubeadm为Kubernetes集群证书续期4.1 查看k8s集群证书过期时间4.2 为master节点续期证书4.3 为worker节点替换最新的证书五.总结
一.系统环境
本文主要基于Kubernetes1.22.2和Linux操作系统Ubuntu 18.04。
服务器版本
docker软件版本
Kubernetes(k8s)集群版本
CPU架构
Ubuntu 18.04.5 LTS
Docker version 20.10.14
v1.22.2
x86_64
Kubernetes集群架构:k8scludes1作为master节点,k8scludes2,k8scludes3作为worker节点。
服务器
操作系统版本
CPU架构
进程
功能描述
k8scludes1/192.168.110.128
Ubuntu 18.04.5 LTS
x86_64
docker,kube-apiserver,etcd,kube-scheduler,kube-controller-manager,kubelet,kube-proxy,coredns,calico
k8s master节点
k8scludes2/192.168.110.129
Ubuntu 18.04.5 LTS
x86_64
docker,kubelet,kube-proxy,calico
k8s worker节点
k8scludes3/192.168.110.130
Ubuntu 18.04.5 LTS
x86_64
docker,kubelet,kube-proxy,calico
k8s worker节点
二.前言
Kubernetes集群的证书对于集群的安全性和稳定性至关重要。然而,随着时间的推移,这些证书会过期,导致集群服务不可用。本文将详细介绍如何使用kubeadm工具为Kubernetes集群续期证书。
给Kubernetes集群证书续期的前提是已经有一套可以正常运行的Kubernetes集群,关于Kubernetes(k8s)集群的安装部署,可以查看博客《Ubuntu 安装部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/17632858.html,如果你的操作系统是RHEL的,可以查看博客《Centos7 安装部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/16686769.html。
三.Kubernetes证书过期及续期简介
Kubernetes集群在初始化时,会自动生成一系列证书,包括API服务器证书、CA证书、Kubelet证书等。这些证书通常有1年的有效期。当证书过期后,Kubernetes集群的某些服务可能会受到影响,例如API服务器无法访问。为了解决证书过期的问题,我们可以使用kubeadm工具进行证书续期。
四.使用kubeadm为Kubernetes集群证书续期
4.1 查看k8s集群证书过期时间
现在k8s集群已经不能正常运行了,查询pod报错,可以看到报错信息为:“连接API服务器拒绝”。
root@k8scludes1:~# kubectl get pod -o wie
The connection to the server 192.168.110.128:6443 was refused - did you specify the right host or port?
master节点的/etc/kubernetes/pki/目录下存的是各个组件的证书。
