microk8s 到端口 16443 的连接被拒绝

microk8s Connection to port 16443 was refused

我收到以下错误消息:

root@master-1:~# microk8s.kubectl get no
The connection to the server 127.0.0.1:16443 was refused - did you specify the right host or port?

甚至 microk8s.kubectl cluster-info dump 也失败并显示上述消息。当我运行microk8s start还是一样

很难确切地说出这里可能出了什么问题,但您可以采取一些措施来解决您的问题:

  • .kube/config 缺失或配置不正确。创建或复制一个有效的 kubeconfig 文件来解决这个问题。

  • swap 没有关闭。启用 swap 后,kubelet 服务将不会启动。执行:sudo swapoff -a 以确保它被禁用。

  • kubelet 可能已关闭。检查 kubelet 日志并确保 kube-apiserver 已启动并且 运行.

  • 检查哪些端口适合使用 telnet 命令。

检查你的 /etc/hosts 文件 应该有这些行

127.0.0.1 本地主机 127.0.1.1 命名你的服务器

iptables 是由 ansible 提供的,它扰乱了 microk8s iptables 配置

对我来说 Ubuntu 20.04.4 LTS (Focal Fossa),这两个命令拯救了我的一天:

sudo microk8s.refresh-certs --cert ca.crt

sudo microk8s.refresh-certs --cert server.crt