Kubernetes (k3s):集群上的过期证书

3

我刚刚失去了访问我的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)出现了问题: image

同样的情况也发生在仪表盘上:

image

集群“age”已经有大约380多天了。 我在一个centos7集群中运行“v1.18.12+k3s1”。

我更改了服务器日期以便能够再次执行kubectl... enter image description here 密码不正确...如何更新?

节点日志:

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”功能是debug。

2个回答

1

要忽略此错误,请按照以下步骤操作:

步骤1. 停止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")

步骤4. 重新启动k3s

systemctl start k3s.service 

只需运行此命令以测试集群!

kubectl get nodes

1

我已经搞定了。

原来自动续订过程中存在一些漏洞。虽然已经修补,但他们忘记将其回溯到1.18分支。 我必须将其更新到1.19.4才能使其正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接