解决k8s和rancher 证书过期

k8s 证书过期

查看证书状态

# for i in /etc/kubernetes/pki/*.crt;do echo $i; openssl x509 -in $i -text -noout|egrep "Not Before|Not After";echo "-----------";done
/etc/kubernetes/pki/apiserver.crt
Not Before: Sep  7 05:31:38 2020 GMT
Not After : Sep  7 05:31:39 2021 GMT
-----------
/etc/kubernetes/pki/apiserver-etcd-client.crt
Not Before: Sep  7 05:31:42 2020 GMT
Not After : Sep  7 05:31:45 2021 GMT
-----------
/etc/kubernetes/pki/apiserver-kubelet-client.crt
Not Before: Sep  7 05:31:38 2020 GMT
Not After : Sep  7 05:31:39 2021 GMT
-----------
/etc/kubernetes/pki/ca.crt
Not Before: Sep  7 05:31:38 2020 GMT
Not After : Sep  5 05:31:38 2030 GMT
-----------
/etc/kubernetes/pki/front-proxy-ca.crt
Not Before: Sep  7 05:31:40 2020 GMT
Not After : Sep  5 05:31:40 2030 GMT
-----------
/etc/kubernetes/pki/front-proxy-client.crt
Not Before: Sep  7 05:31:40 2020 GMT
Not After : Sep  7 05:31:41 2021 GMT
-----------

#vim kubeadm.yaml

cd /etc/kubernetes/pki/
cp -R pki/ pki_bak



# kubeadm alpha certs renew all --config=/root/k8s/kubeadm-config.yaml
certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself renewed
certificate for serving the Kubernetes API renewed
certificate the apiserver uses to access etcd renewed
certificate for the API server to connect to kubelet renewed
certificate embedded in the kubeconfig file for the controller manager to use renewed
certificate for liveness probes to healthcheck etcd renewed
certificate for etcd nodes to communicate with each other renewed
certificate for serving etcd renewed
certificate for the front proxy client renewed
certificate embedded in the kubeconfig file for the scheduler manager to use renewed

for i in /etc/kubernetes/pki/*.crt;do echo $i; openssl x509 -in $i -text -noout|egrep "Not Before|Not After";echo "-----------";done
/etc/kubernetes/pki/apiserver.crt
Not Before: Sep  7 05:31:38 2020 GMT
Not After : Sep  8 02:44:45 2022 GMT
-----------
/etc/kubernetes/pki/apiserver-etcd-client.crt
Not Before: Sep  7 05:31:42 2020 GMT
Not After : Sep  8 02:44:46 2022 GMT
-----------
/etc/kubernetes/pki/apiserver-kubelet-client.crt
Not Before: Sep  7 05:31:38 2020 GMT
Not After : Sep  8 02:44:47 2022 GMT
-----------
/etc/kubernetes/pki/ca.crt
Not Before: Sep  7 05:31:38 2020 GMT
Not After : Sep  5 05:31:38 2030 GMT
-----------
/etc/kubernetes/pki/front-proxy-ca.crt
Not Before: Sep  7 05:31:40 2020 GMT
Not After : Sep  5 05:31:40 2030 GMT
-----------
/etc/kubernetes/pki/front-proxy-client.crt
Not Before: Sep  7 05:31:40 2020 GMT
Not After : Sep  8 02:44:50 2022 GMT
-----------

#  kubeadm init phase kubeconfig all
I0908 10:45:46.721917   15732 version.go:251] remote version is much newer: v1.22.1; falling back to: stable-1.16
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/admin.conf"
[kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/kubelet.conf"
[kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/controller-manager.conf"
[kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/scheduler.conf"

# cp -pr /etc/kubernetes/admin.conf /root/.kube/config

重启服务

docker ps | egrep "kube-apiserver|kube-controller|kube-scheduler|etcd" | grep -v pause | awk '{print $1}'

rancher 2.4+ 证书过期

docker exec -it rancher  /bin/bash

cd k3s/server/tls

for i in `ls *.crt` ;do openssl x509 -in $i -noout -dates;echo $i;done
kubectl --insecure-skip-tls-verify -n kube-system delete secrets k3s-serving
kubectl --insecure-skip-tls-verify delete secret serving-cert -n cattle-system
rm -f /var/lib/rancher/k3s/server/tls/dynamic-cert.json

 docker restart 3d891f9cea18
 curl -insecure -sfL https://10.90.28.250/v3
 docker restart 3d891f9cea18

ranche 过期集群异常

删除secret ,重启 cattle-cluster-agent  和  cattle-node-agent

k3s 证书过期

删掉 secret k3s-serving
kubectl --insecure-skip-tls-verify -n kube-system delete secrets k3s-serving

删掉 系统中的文件dynamic-cert.json
rm -f /var/lib/rancher/k3s/server/tls/dynamic-cert.json

删掉目前k3s 进程,重启 k3s 进程
systemctl restart k3s

查看证书时间
for i in `ls /var/lib/rancher/k3s/server/tls/*.crt`; do echo $i; openssl x509 -enddate -noout -in $i; done
posted @ 2021-09-09 17:17  Squidweber  阅读(109)  评论(0)    收藏  举报