【发布时间】:2018-09-27 20:45:51
【问题描述】:
我们的 Kubernetes 1.6 集群在 2017 年 4 月 13 日构建集群时生成了证书。
2017 年 12 月 13 日,我们的集群升级到 1.8 版,并生成了新证书 [显然是一组不完整的证书]。
2018 年 4 月 13 日,我们开始在 Kubernetes 的 api-server 仪表板中看到这条消息:
[authentication.go:64] Unable to authenticate the request due to an error: [x509: certificate has expired or is not yet valid, x509: certificate has expired or is not yet valid]
尝试在 12 月 13 日生成的证书 [apiserver-kubelet-client.crt 和 apiserver-kubelet-client.crt] 中指向 /etc/kubernetes/kubelet.conf 内的 client-certificate 和 client-key,但继续看到上面的错误。
尝试将 client-certificate 和 client-key 指向 /etc/kubernetes/kubelet.conf 在 12 月 13 日生成的不同 证书 [apiserver.crt 和 @ 987654328@](老实说我不明白这2套certs/keys的区别),但是继续看到上面的错误。
尝试将/etc/kubernetes/kubelet.conf 中的 client-certificate 和 client-key 指向不存在的文件,并且没有任何 kube* 服务会启动,/var/log/syslog抱怨这个:
Apr 17 17:50:08 kuber01 kubelet[2422]: W0417 17:50:08.181326 2422 server.go:381] invalid kubeconfig: invalid configuration: [unable to read client-cert /tmp/this/cert/does/not/exist.crt for system:node:node01 due to open /tmp/this/cert/does/not/exist.crt: no such file or directory, unable to read client-key /tmp/this/key/does/not/exist.key for system:node:node01 due to open /tmp/this/key/does/not/exist.key: no such file or directory]
关于如何克服这个错误,甚至在更细粒度的层面上解决它有什么建议吗?正在考虑根据https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-alpha/#cmd-phase-certs 中的说明为 api-server (kubeadm alpha phase certs apiserver) 重新生成证书……但不确定我是否会造成更大的损害。
对于 Kubernetes 来说相对较新,并且设置此设置的绅士无法咨询......感谢任何帮助。谢谢。
【问题讨论】:
标签: kubernetes x509certificate kubernetes-apiserver