【问题标题】:Kubernetes node without master无主节点的 Kubernetes 节点
【发布时间】:2020-09-27 14:08:39
【问题描述】:

集群由一个主节点和一个工作节点组成。如果 master 关闭并且 worker 重新启动,则不会在启动时启动任何工作负载(部署)。如何以及是否可以让工人在没有主人的情况下恢复上一个状态?

Kubernetes 1.18.3

工作节点上安装:kubelet、kubectl、kubeadm

【问题讨论】:

  • 当您说工作量时,您的意思是什么?主节点通常不运行工作负载。主节点也有etcd吗?您是否丢失了 etcd 中的数据?
  • 我在我的问题中添加了缺失的信息。

标签: kubernetes kubectl kubeadm kubelet


【解决方案1】:

理想情况下,您应该有多个(通常是 3 或 5 个奇数)节点作为主节点,并通过 LoadBalancer 从工作节点访问。

状态存储在 ETCD 中,工作节点通过 API 服务器访问。因此,如果没有运行主节点,工作人员就无法知道所需的状态。

虽然不推荐你,但可以在这里使用static pod 作为潜在的解决方案。静态 Pod 由特定节点上的 kubelet 守护进程直接管理,无需 API 服务器观察它们。与控制平面管理的 Pod 不同(例如,一个 Deployment ),而不是 kubelet 监视每个静态 Pod(并在它崩溃时重新启动它)。

使用静态 Pod 的警告是因为这些 Pod 不依赖于 API Server,因此静态 Pod 无法使用 kubectl 或其他 Kubernetes API 客户端进行管理。

【讨论】:

    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2020-07-08
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多