症状

# 使用kubectl任何指令都提示这个
The connection to the server 192.168.163.130:6443 was refused - did you spec

注意

出该症状不一定是证书过期,最好查下k8s各个依赖的运行状态

解决证书过期问题

1. 查看k8s某一证书过期时间:
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not

结果:在这里插入图片描述

    如果遇到 openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file
	查找一下libssl.so.1.1的位置,然后连接到/usr/lib64/libssl.so.1.1即可。如下我的位置是在/usr/local/lib64/libssl.so.1.1,连接到/usr/lib64/libssl.so.1.1就可以了。
	[root@localhost ~]# find / -name libssl.so.1.1
	/usr/local/lib64/libssl.so.1.1
	[root@localhost ~]# ln -s /usr/local/lib64/libssl.so.1.1  /usr/lib64/libssl.so.1.1
	[root@localhost ~]# ln -s /usr/local/lib64/libcrypto.so.1.1  /usr/lib64/libcrypto.so.1.1
	[root@localhost ~]# openssl version
	OpenSSL 1.1.1  11 Sep 2018

其它证书同理,K8s各个证书过期时间如下:

/etc/kubernetes/pki/apiserver.crt           #1年有效期
/etc/kubernetes/pki/front-proxy-ca.crt        #10年有效期
/etc/kubernetes/pki/ca.crt              #10年有效期
/etc/kubernetes/pki/apiserver-etcd-client.crt    #1年有效期
/etc/kubernetes/pki/front-proxy-client.crt      #1年有效期
/etc/kubernetes/pki/etcd/server.crt         #1年有效期
/etc/kubernetes/pki/etcd/ca.crt           #10年有效期
/etc/kubernetes/pki/etcd/peer.crt          #1年有效期
/etc/kubernetes/pki/etcd/healthcheck-client.crt  #1年有效期
/etc/kubernetes/pki/apiserver-kubelet-client.crt  #1年有效期

或使用统一命令查看

kubeadm alpha certs check-expiration
2. 使用延长证书过期的方法解决K8S证书过期问题

K8S在过期之前,使用kubeadm alpha phase里的certs和kubeconfig命令,同时配合kubelet证书自动轮换机制来解决这个问题(具体操作可以百度搜索),这里介绍证书已经过期的解决方法,以下延长证书过期的方法适合kubernetes1.14、1.15、1.16、1.17、1.18版本。操作步骤如下:

2.1 下载脚本update-kubeadm-cert.sh

https://download.csdn.net/download/only_xiao_/87621294?spm=1001.2014.3001.5503

2.2 把update-kubeadm-cert.sh文件上传到k8s各节点任意位置
2.3 在每个节点都执行如下命令

1)给update-kubeadm-cert.sh证书授权可执行权限
chmod +x update-kubeadm-cert.sh

2)执行下面命令,修改证书过期时间,把时间延长到10年
./update-kubeadm-cert.sh all

3)在master节点查询Pod是否正常,能查询出数据说明证书签发完成
注:执行命令时需要断开连接重新连接命令才生效

kubectl  get pods -n kube-system

在这里插入图片描述

4)重启kubelet
systemctl restart kubelet

3、验证证书有效时间是否延长到10年

使用 1 中的指令
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐