gpt4 book ai didi

kubernetes - 在 Kubernetes 中添加节点后重新分配 pod

转载 作者:行者123 更新时间:2023-12-02 11:28:57 24 4
gpt4 key购买 nike

Kubernetes集群添加节点后,pods应该怎么处理?

我的意思是,理想情况下,我希望在新添加的节点上停止并启动其中一些。我是否必须手动选择一些停止并希望它们被安排在新添加的节点上重新启动?

我不关心亲和力,只关心半均匀分布。

也许有一种方法可以让 pod 的数量始终等于节点的数量?

举个例子:

我正在使用 juju 在 AWS 上配置小型 Kubernetes 集群。一个师傅,两个 worker 。这只是一个游乐场。

我的应用程序是 apache 服务 PHP 和静态文件。所以我有一个部署,一个 NodePort 类型的服务和一个使用 nginx-ingress-controller 的入口。

我已经关闭了其中一个工作实例,并且我的应用程序 Pod 在仍然可以工作的实例上重新创建。

然后我重新启动了实例,主人拿起它并在那里启动了 nginx 入口 Controller 。但是当我尝试删除我的应用程序 pod 时,它们是在继续运行的实例上重新创建的,而不是在重新启动的实例上。

不确定它是否重要,但我没有任何 DNS 设置。刚刚使用来自我的入口的主机值将其中一个实例的 IP 添加到/etc/hosts。

最佳答案

descheduler[1] kuberenets 孵化器项目可能会有所帮助。以下是介绍

由于 Kubernetes 集群非常动态并且它们的状态会随着时间变化,出于各种原因,可能需要将已经运行的 pod 移动到其他一些节点:

  • 一些节点使用不足或过度使用。
  • 最初的调度决策不再成立,因为污点或标签被添加到节点或从节点删除,不再满足 pod/节点亲和性要求。
  • 一些节点出现故障,它们的 pod 移动到其他节点。
  • 新节点被添加到集群中。

  • [1] https://github.com/kubernetes-incubator/descheduler

    关于kubernetes - 在 Kubernetes 中添加节点后重新分配 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44041965/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com