Kubernetes (k3s):集群上的过期证书
Kubernets (k3s): expired certs on cluster
我刚刚无法访问我的 k3s。
这周我检查了证书是否已自动更新...结果是这样的:
[root@vmpkube001 tls]# for crt in *.crt; do printf '%s: %s\n' "$(date --date="$(openssl x509 -enddate -noout -in "$crt"|cut -d= -f 2)" --iso-8601)" "$crt"; done | sort
2021-09-18: client-admin.crt
2021-09-18: client-auth-proxy.crt
2021-09-18: client-cloud-controller.crt
2021-09-18: client-controller.crt
2021-09-18: client-k3s-controller.crt
2021-09-18: client-kube-apiserver.crt
2021-09-18: client-kube-proxy.crt
2021-09-18: client-scheduler.crt
2021-09-18: serving-kube-apiserver.crt
2029-11-03: client-ca.crt
2029-11-03: request-header-ca.crt
2029-11-03: server-ca.crt
但是 cli 坏了:
仪表板也一样:
集群“年龄”约为 380 天左右。
我是 运行 centos7 集群中的“v1.18.12+k3s1”
我更改服务器上的日期以便能够再次执行 kubectl...
秘密是错误的...如何更新?
节点日志:
Nov 18 16:34:17 pmpnode001.agrotis.local k3s[6089]: time="2020-11-18T16:34:17.400604478-03:00" level=error msg="server https://127.0.0.1:33684/cacerts is not trusted: Get https://127.0.0.1:33684/cacerts: x509: certificate has expired or is not yet valid"
不仅如此,互联网上关于此问题的每一个案例都说明了一些关于 kubeadm alpha 证书的事情。没有 kubeadm,我在 kubeclt 中唯一的“alpha”功能是调试。
我成功了。
事实证明,自动续订过程中存在一些错误。它已被修补,但他们忘记将其向后移植到 1.18 分支。
我必须将它更新到 1.19.4 才能正常工作。
要忽略此错误,请按照下列步骤操作:
第一步.停止k3s
systemctl stop k3s.service
步骤 2. 停止时间同步
hwclock --debug
timedatectl set-ntp 0
systemctl stop ntp.service
systemctl status systemd-timesyncd.service
第 3 步。将日期更新为到期后 <90 天
date $(date "+%m%d%H%M%Y" --date="90 days ago")
第四步.重启k3s
systemctl start k3s.service
只需运行这个来测试集群!
kubectl get nodes
我刚刚无法访问我的 k3s。
这周我检查了证书是否已自动更新...结果是这样的:
[root@vmpkube001 tls]# for crt in *.crt; do printf '%s: %s\n' "$(date --date="$(openssl x509 -enddate -noout -in "$crt"|cut -d= -f 2)" --iso-8601)" "$crt"; done | sort
2021-09-18: client-admin.crt
2021-09-18: client-auth-proxy.crt
2021-09-18: client-cloud-controller.crt
2021-09-18: client-controller.crt
2021-09-18: client-k3s-controller.crt
2021-09-18: client-kube-apiserver.crt
2021-09-18: client-kube-proxy.crt
2021-09-18: client-scheduler.crt
2021-09-18: serving-kube-apiserver.crt
2029-11-03: client-ca.crt
2029-11-03: request-header-ca.crt
2029-11-03: server-ca.crt
但是 cli 坏了:
仪表板也一样:
集群“年龄”约为 380 天左右。 我是 运行 centos7 集群中的“v1.18.12+k3s1”
我更改服务器上的日期以便能够再次执行 kubectl...
节点日志:
Nov 18 16:34:17 pmpnode001.agrotis.local k3s[6089]: time="2020-11-18T16:34:17.400604478-03:00" level=error msg="server https://127.0.0.1:33684/cacerts is not trusted: Get https://127.0.0.1:33684/cacerts: x509: certificate has expired or is not yet valid"
不仅如此,互联网上关于此问题的每一个案例都说明了一些关于 kubeadm alpha 证书的事情。没有 kubeadm,我在 kubeclt 中唯一的“alpha”功能是调试。
我成功了。
事实证明,自动续订过程中存在一些错误。它已被修补,但他们忘记将其向后移植到 1.18 分支。 我必须将它更新到 1.19.4 才能正常工作。
要忽略此错误,请按照下列步骤操作:
第一步.停止k3s
systemctl stop k3s.service
步骤 2. 停止时间同步
hwclock --debug
timedatectl set-ntp 0
systemctl stop ntp.service
systemctl status systemd-timesyncd.service
第 3 步。将日期更新为到期后 <90 天
date $(date "+%m%d%H%M%Y" --date="90 days ago")
第四步.重启k3s
systemctl start k3s.service
只需运行这个来测试集群!
kubectl get nodes