【问题标题】:how does kubernetes guarantee reliability of kube proxy and kubelet?kubernetes 如何保证 kube proxy 和 kubelet 的可靠性?
【发布时间】:2019-12-02 07:31:57
【问题描述】:

如果 Kube 代理关闭,kubernetes 节点上的 pod 将无法与外部世界通信。 Kubernetes 做了什么特别的事情来保证 kube-proxy 的可靠性?

同理,Kubernetes 如何保证 kubelet 的可靠性?

【问题讨论】:

  • Kubernetes 在某种程度上 kubelet。

标签: kubernetes kubelet kube-proxy


【解决方案1】:

它通过以下方式保证它们的可靠性:

  • 拥有多个节点:如果一个kubelet 崩溃,则一个节点会宕机。同样,每个节点都运行一个kube-proxy 实例,这意味着丢失一个节点意味着丢失该节点上的kube-proxy 实例。 Kubernetes 旨在处理节点故障。如果您将在 Kubernetes 上运行的应用程序设计为可扩展的,那么您将不会将其作为单个实例运行,而是作为多个实例运行 - 并且kube-scheduler 会将您的工作负载分布在多个节点上 - 这意味着您的应用程序仍然可以访问.

  • 支持高可用性设置:如果您在 High-Availability mode 中正确设置 Kubernetes 集群,则不会有一个主节点,而是多个主节点。这意味着,您甚至可以容忍丢失一些主节点。云提供商的托管 Kubernetes 产品始终具有高可用性。

这是我首先想到的两件事。但是,这是一个广泛的问题,因此如果您稍微详细说明“可靠性”的含义,我可以详细说明。

【讨论】:

  • 在 Kubernetes 上运行有状态服务怎么样?如果多个kubelet 崩溃,则可能由于副本数量有限而导致数据丢失。
  • @yuyang 在任何类型的环境中管理有状态服务都是一个需要解决的复杂问题,在 Kubernetes 中也不例外。因此,它不能保证数据的一致性或没有数据丢失——它只是(尽可能地)提供了能够构建有弹性的有状态应用程序的原语/机制。但是,应用程序开发人员在考虑节点/pod 丢失、尝试从不同的故障场景中恢复等方面发挥了重要作用。阅读更多关于 StatefulSets 的信息:kubernetes.io/docs/concepts/workloads/controllers/statefulset
猜你喜欢
  • 2020-06-16
  • 2017-11-02
  • 2022-01-25
  • 2021-05-07
  • 1970-01-01
  • 2016-10-04
  • 2015-12-27
  • 1970-01-01
  • 2021-12-20
相关资源
最近更新 更多