【发布时间】:2019-12-02 07:31:57
【问题描述】:
如果 Kube 代理关闭,kubernetes 节点上的 pod 将无法与外部世界通信。 Kubernetes 做了什么特别的事情来保证 kube-proxy 的可靠性?
同理,Kubernetes 如何保证 kubelet 的可靠性?
【问题讨论】:
-
Kubernetes 在某种程度上是 kubelet。
标签: kubernetes kubelet kube-proxy
如果 Kube 代理关闭,kubernetes 节点上的 pod 将无法与外部世界通信。 Kubernetes 做了什么特别的事情来保证 kube-proxy 的可靠性?
同理,Kubernetes 如何保证 kubelet 的可靠性?
【问题讨论】:
标签: kubernetes kubelet kube-proxy
它通过以下方式保证它们的可靠性:
拥有多个节点:如果一个kubelet 崩溃,则一个节点会宕机。同样,每个节点都运行一个kube-proxy 实例,这意味着丢失一个节点意味着丢失该节点上的kube-proxy 实例。 Kubernetes 旨在处理节点故障。如果您将在 Kubernetes 上运行的应用程序设计为可扩展的,那么您将不会将其作为单个实例运行,而是作为多个实例运行 - 并且kube-scheduler 会将您的工作负载分布在多个节点上 - 这意味着您的应用程序仍然可以访问.
支持高可用性设置:如果您在 High-Availability mode 中正确设置 Kubernetes 集群,则不会有一个主节点,而是多个主节点。这意味着,您甚至可以容忍丢失一些主节点。云提供商的托管 Kubernetes 产品始终具有高可用性。
这是我首先想到的两件事。但是,这是一个广泛的问题,因此如果您稍微详细说明“可靠性”的含义,我可以详细说明。
【讨论】:
kubelet 崩溃,则可能由于副本数量有限而导致数据丢失。