Microk8s 停止工作。 Status 说没有运行,inspect 只返回四个服务

Posted

技术标签:

【中文标题】Microk8s 停止工作。 Status 说没有运行,inspect 只返回四个服务【英文标题】:Microk8s stopped working. Status says not running, inspect just returns four services 【发布时间】:2021-12-07 09:25:31 【问题描述】:

我的两个运行 1.21 版的 microk8s 集群刚刚停止工作。

kubectl 本地返回The connection to the server 127.0.0.1:16443 was refused - did you specify the right host or port?

microk8s.status 说没有运行,microk8s.inspect 只检查四个服务:

Inspecting services
  Service snap.microk8s.daemon-cluster-agent is running
  Service snap.microk8s.daemon-containerd is running
  Service snap.microk8s.daemon-apiserver-kicker is running
  Service snap.microk8s.daemon-kubelite is running

未提及 Apiserver,它没有运行(单独检查状态显示“不会与 kubelite 一起运行”)

我没有改变任何机器上的任何东西。

我尝试将 microk8s 升级到 1.22 - 没有变化。

apiserver 的journal.log 说:

Oct 18 07:57:05 myserver microk8s.daemon-kubelite[30037]: I1018 07:57:05.143264   30037 daemon.go:65] Starting API Server
Oct 18 07:57:05 myserver microk8s.daemon-kubelite[30037]: Flag --insecure-port has been deprecated, This flag has no effect now and will be removed in v1.24.
Oct 18 07:57:05 myserver microk8s.daemon-kubelite[30037]: I1018 07:57:05.144650   30037 server.go:654] external host was not specified, using 192.168.1.10
Oct 18 07:57:05 myserver microk8s.daemon-kubelite[30037]: W1018 07:57:05.144719   30037 authentication.go:507] AnonymousAuth is not allowed with the AlwaysAllow authorizer. Resetting AnonymousAuth to false. You should use a different authorizer

快照服务:

Service                               Startup  Current   Notes
microk8s.daemon-apiserver             enabled  inactive  -
microk8s.daemon-apiserver-kicker      enabled  active    -
microk8s.daemon-cluster-agent         enabled  active    -
microk8s.daemon-containerd            enabled  active    -
microk8s.daemon-control-plane-kicker  enabled  inactive  -
microk8s.daemon-controller-manager    enabled  inactive  -
microk8s.daemon-etcd                  enabled  inactive  -
microk8s.daemon-flanneld              enabled  inactive  -
microk8s.daemon-kubelet               enabled  inactive  -
microk8s.daemon-kubelite              enabled  active    -
microk8s.daemon-proxy                 enabled  inactive  -
microk8s.daemon-scheduler             enabled  inactive  -

不是这个(https://github.com/ubuntu/microk8s/issues/2486),info.yaml 和 cluster.yaml 的内容都是正确的。

所有机器都是在 Windows Server 集群中以 Hyper-V 运行的虚拟 Ubuntu。

【问题讨论】:

查看这个类似的问题和答案:***.com/questions/64183516/… 如果您仍有问题,请提供更多日志 这是一个类似但相同的问题。 【参考方案1】:

原来集群中有两个不同的问题,我没有改变任何东西并不完全正确。

单节点集群:

cluster.yaml 不正确,它是空的。将 localnode.yaml 的内容复制到 cluster.yaml 解决了这个问题。

多节点集群:

由于 microk8s snap 的自动刷新失败,一个节点已离线(microk8s 未运行)。

我暂时关闭了一个节点几天。只剩下一个节点对 dqlite 的 master 进行投票,但失败了。当关闭的节点重新打开时,集群已经失败。在第三个节点上取消自动刷新修复了集群。

【讨论】:

以上是关于Microk8s 停止工作。 Status 说没有运行,inspect 只返回四个服务的主要内容,如果未能解决你的问题,请参考以下文章

microk8s 搭建

在 WSL 2 上使用 Ansible 通过 snap 安装 microk8s

代码建议停止工作(颤振)

microk8s常用命令速查

[k8s] 如何在Centos7上安装microk8s

使用 microk8s 从主机简单入口?