k8sv1.13.1版本证书过期更新问题:error: the server doesn't have a resource type "nodes"

1、首先你的有集群init文件kubeadm.yaml。这个文件时我在集群还能用之前生成的,执行kubeadm config view > kubeadm.yaml会在当前目录生成一个kubeadm.yaml文件。

2、执行 kubeadm alpha certs renew all --config=/root/kubeadm.yaml 更新证书。然后查看证书有效期

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep 'Not'

证书有效期延长了。

3、重启etcd\api\scheduler   查看节点kubectl get nodes

报错:error: the server doesn't have a resource type "nodes"

查看api的日志:

 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]

娘的!!!!!!!还报证书过期!!!!!

证书明明已经延期了啊喂!!!!

4、此处省略烦人的百度、等等。大概1W此。总结的经验是:

rm -rf $HOME/.kube
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

但是然并卵!!!!

233333333333333333333333333333

5、有一天看福禄娃突然灵光一现,是不是什么配置问题呢,admin.conf 有重大嫌疑。就看了下 /etc/kubernetes/目录下的文件生成日期。果然admin.conf 配置还是久远前的创建日期。备份一下:mv admin.conf admin.conf.bak

执行:

kubeadm init phase kubeconfig all --config /root/kubeadm.yaml

然后重复第4步骤。问题解决!!!233333333333333333333333333333333

居然TM的就是这么小点的事。

 

 

你可能感兴趣的:(k8s)