Flatcar Linux 上的 Kubernetes 在主节点重启后不会启动 kube API 服务器

Flatcar Linux 上的 Kubernetes 在主节点重启后不会启动 kube API 服务器

感谢您阅读并花时间审查这个问题。

lokoctl我在使用 Kubernetes 集群时遇到了问题。它运行的是 Flatcar Linux,由 Kinvolk 制造,最近被微软收购。我使用他们的 Lokomotive ( ) 工具设置了集群。

我总共有4个节点。

  • socrates001 (大师)
  • socrates002 (节点)
  • socrates003 (节点)
  • socrates004 (节点)

今天下午 2 点左右,我的主节点由于 Lokomotive(Kinvolk 制作的集群管理工具)提供的自动更新服务而重新启动。

我的主节点恢复了,但是 k8s 没有。

docker container lsran on的输出socrates001如下:

CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS         PORTS     NAMES
e33995c69e10   quay.io/kinvolk/kubelet:v1.21.4   "/usr/local/bin/kube…"   7 minutes ago   Up 7 minutes             kubelet
b6093a1f343a   quay.io/coreos/etcd:v3.4.16       "/usr/local/bin/etcd"    7 minutes ago   Up 7 minutes             etcd

这表明 Kubelet 和 Etcd 正在运行。然而 Kubelet 却给了我很多错误,老实说,我不知道从哪里开始挖掘……

当我运行 时journalctl -u kubelet,它给出了以下输出,我已将其放入 Pastebin 中,因为它太大了。警告,它太大了。 https://pastebin.com/A9Lmf0tc

我已经尝试过的事情:

  • 重启主节点
  • 重启 kubelet
  • 重启 etcd
  • 手动尝试启动 kube api,但是它立即被终止(我认为是被 kubelet 终止的)
  • 强制关闭sudo swapoff -a,但是在配置集群期间,我很确定 Lokomotive 已经在 Flatcar Linux 上将其关闭。

我完全不知道为什么会发生这种情况,所以欢迎大家发表评论和回答!我是一名学生,时间充裕,所以你应该很快就会得到答复。

提前致谢!

编辑:看来 Kubelet Checkpointer 中有一个错误。我在这里向 Lokomotive 提交了一个问题:https://github.com/kinvolk/lokomotive/issues/1576

相关内容