2

我是 Kubernetes 和集群的新手。

我想提出一个高可用性 Master Only Kubernetes 集群(不需要!)。

我有 2 个实例/服务器运行 Kubernetes 守护程序,并在两个节点上运行不同类型的 pod。

现在我想以某种方式创建集群,如果主机(2)之一关闭,那么来自该主机(2)的所有 pod 都应该移动到另一台主机(1)。

一旦主机(2)出现。豆荚应该飘回来。

请让我知道是否有任何方法可以实现这一目标?

4

2 回答 2

3

由于您的要求是拥有 2 节点仅主集群并且还具有 HA 功能,因此遗憾的是没有直接的方法来实现它。

原因是 kubeadm 部署的 2 节点 master-only 集群只有 2 个 etcd pod(每个节点上一个)。这使您没有容错能力。这意味着如果其中一个节点出现故障,etcd 集群将失去仲裁,剩余的 k8s 主节点将无法运行。

现在,如果您可以拥有一个可以维护奇数个 etcd 成员的外部 etcd 集群,那么可以,您可以拥有一个 2 节点 k8s 集群并且仍然具有 HA 功能。

于 2020-06-18T04:16:32.223 回答
0

主节点可能也用作工作节点,但不建议在生产环境中使用,主要是出于性能原因。

默认情况下,kubeadm配置主节点,以便不能在其上运行任何工作负载,并且只有稍后添加的常规节点才能处理它。但是您可以轻松地覆盖此默认行为。

为了使工作负载也可以在主节点上调度,您需要从中删除以下taint,这是默认添加的:

kubectl taint nodes --all node-role.kubernetes.io/master-

要安装和配置多主 Kubernetes 集群,您可以按照教程进行操作。它描述了具有 3 个主节点的场景,但您可以轻松地根据需要对其进行自定义。

于 2019-07-25T14:34:14.160 回答