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 移动到其他一些节点:
[1] https://github.com/kubernetes-incubator/descheduler
关于kubernetes - 在 Kubernetes 中添加节点后重新分配 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44041965/