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