Kubernetes星系团共识缺失的实际后果?

Kubernetes星系团共识缺失的实际后果?,kubernetes,google-kubernetes-engine,etcd,consensus,Kubernetes,Google Kubernetes Engine,Etcd,Consensus,Kubernetes星系团失去共识的实际后果到底是什么?或者换句话说:Kubernetes集群上的哪些功能需要共识?什么有效,什么无效 例如(实际上仅限于此): 现有的吊舱会继续运行吗 吊舱还能水平伸缩吗 示例场景:具有两个节点的集群丢失一个节点。不可能达成共识。共识是etcd的基础,etcd是Kubernetes建立的分布式数据库。如果没有共识,您可以从数据库中读取,但不能写入。例如,如果3个节点中只有1个可用 当您丢失仲裁时,etcd将进入只读状态,在该状态下,它可以使用数据进行响应,但

Kubernetes星系团失去共识的实际后果到底是什么?或者换句话说:Kubernetes集群上的哪些功能需要共识?什么有效,什么无效

例如(实际上仅限于此):

  • 现有的吊舱会继续运行吗
  • 吊舱还能水平伸缩吗

示例场景:具有两个节点的集群丢失一个节点。不可能达成共识。

共识是etcd的基础,etcd是Kubernetes建立的分布式数据库。如果没有共识,您可以从数据库中读取,但不能写入。例如,如果3个节点中只有1个可用

当您丢失仲裁时,etcd将进入只读状态,在该状态下,它可以使用数据进行响应,但无法执行新操作,因为它无法决定是否允许该操作

Kubernetes的设计使得POD只需要Kubernetes进行更改,例如部署。之后,它们以松散耦合的方式独立于kubernetes运行

Kubernetes用于在etcd数据库中保持所需状态。然后控制器观察etcd的变化并根据变化采取行动。这意味着,如果etcd没有达成一致意见,您不能扩展或更改POD的任何配置。Kubernetes执行许多自愈操作,但如果etcd不可用,它们将无法工作,因为所有操作都是通过ApiServer和etcd完成的

失去法定人数意味着无法进行新操作。所有正在运行的操作都将继续运行,直到出现故障


非常感谢!解释得很好。接受回答:-)