今天,我们的实验室k8s集群停止了对集群的工作。当我研究的时候,那是因为证书过期了。
我重新获得了证书和信任,但是当我重新启动kubelet时,我们仍然将connection refused带到服务器端。apiserver正在运行,但端口6443未打开。调试日志时,输出中出现以下错误(可能是红色鲱鱼,但不确定):
Current certificate CN (system:node:lab-02) does not match requested CN (system:node:control-plane-xm2c9)
这是一个kubeadm创建的集群。我使用kubeadm重新生成所有的证书(CA除外)。使用了下列命令:
# kubeadm init phase certs apiserver --apiserver-cert-extra-sans control-plane-xm2c9 --apiserver-advertise-address 192.168.2.78
# kubeadm init phase certs apiserver-etcd-client
# kubeadm init phase certs apiserver-kubelet-client我创造了这些秘密:
# kubeadm init phase kubeconfig admin --apiserver-advertise-address 192.168.2.78
# kubeadm init phase kubeconfig kubelet --apiserver-advertise-address 192.168.2.78
# kubeadm init phase kubeconfig controller-manager --apiserver-advertise-address 192.168.2.78
# kubeadm init phase kubeconfig scheduler --apiserver-advertise-address 192.168.2.78我还在筛选原木。我认为这是我问题的根源,但我不知道如何解决。任何帮助都是很棒的!提亚
发布于 2020-12-16 14:06:48
如果我没记错的话,问题是在证书上,上面提到的命令没有更新,而是必需的。这是sa证书。幸运的是,在我开始做这方面的任何工作之前,我将所有的证书备份到/var/tmp,并且sa证书在那里并且仍然有效。当我将sa证书复制回cert目录并重新启动kubelet时,一切都再次正常工作。
https://serverfault.com/questions/1031811
复制相似问题