Kubernetes 工作节点宕机,pod 会发生什么?
Kubernetes worker node went down, what will happen to the pod?
我在 AWS 中设置了一个 EKS,设置了 2 个工作节点,并在这些节点上配置了 3 个所需容量的 autosclaing。
有时我的工作节点由于“EC2 健康检查表明它已被终止或停止”而关闭。结果我的 pod 重新启动了。我没有为 pods 启用任何副本。现在是一个。
只是想知道,尽管任何工作节点出现故障或重启,我的服务(pod)如何才能保持高可用性?
如果您的服务只有一个 pod,那么您的服务不是高可用的。这是单点故障。如果那个 pod 死掉或重新启动,就像这里发生的那样,那么在 pod 重新启动期间,你的服务就死了。
您至少需要两个 pods 才能使服务具有高可用性,它们应该位于不同的节点上(您可以强制 Kuberentes 使用 pod 将 pods 安排在不同的节点上反亲和性(https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/),这样如果一个节点像您的示例中那样出现故障,它只会取出 pod,让其他 pod 处理请求,直到可以重新安排另一个 pod。
我在 AWS 中设置了一个 EKS,设置了 2 个工作节点,并在这些节点上配置了 3 个所需容量的 autosclaing。 有时我的工作节点由于“EC2 健康检查表明它已被终止或停止”而关闭。结果我的 pod 重新启动了。我没有为 pods 启用任何副本。现在是一个。
只是想知道,尽管任何工作节点出现故障或重启,我的服务(pod)如何才能保持高可用性?
如果您的服务只有一个 pod,那么您的服务不是高可用的。这是单点故障。如果那个 pod 死掉或重新启动,就像这里发生的那样,那么在 pod 重新启动期间,你的服务就死了。
您至少需要两个 pods 才能使服务具有高可用性,它们应该位于不同的节点上(您可以强制 Kuberentes 使用 pod 将 pods 安排在不同的节点上反亲和性(https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/),这样如果一个节点像您的示例中那样出现故障,它只会取出 pod,让其他 pod 处理请求,直到可以重新安排另一个 pod。