k8s 证书过期的处理方法(k8s v13.4)

kubeadm安装的k8s集群有一个证书问题,证书的有效期为一年,过期的话kubectl命令就会异常。解决办法如下:

查看证书是否有效:
# sudo openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ’ Not '
输出:

Not Before: May 24 03:32:37 2019 GMT
Not After : May 23 03:32:38 2020 GMT	
【如果遇到 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】

继续:在当前目录下编辑配置文件kubeadm.conf并写入以下内容

apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.13.4
imageRepository: my.registry:5000/google_containers

更新证书命令:
# kubeadm alpha certs renew all --config kubeadm.conf
# sudo openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ’ Not '
输出:

Not Before: May 24 03:32:37 2019 GMT
Not After : Aug 15 09:43:03 2020 GMT

重新生成配置文件:
# mv /etc/kubernetes/*.conf ~/.
# kubeadm init phase kubeconfig all --config kubeadm.conf

更新**.kube**下的配置文件:
# mv $HOME/.kube/config $HOME/.kube/config.old
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config

重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器:
# docker ps | grep -v pause | grep -E “etcd|scheduler|controller|apiserver” | awk ‘{print $1}’ | awk ‘{print “docker”,“restart”,$1}’ | bash
以上步骤实测可用,仅限于1.13.4单节点集群。

【k8s端口被占用:[ERROR FileAvailable--etc-kubernetes-manifests-kub、[ERROR Port-10250]: Port 10250 is in use
	端口被占用。执行 kubeadm reset】
Logo

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

更多推荐