我创建了一个由10台计算机组成的K8S集群。它具有不同内存和内核(4内核32 GB,4内核8 GB)的cpus。现在,当我在集群上部署任何应用程序时,它是以随机方式创建容器的。它不是基于内存或负载来创建POD。 Kubernetes大师如何在集群中分配Pod?我没有得到任何重要的答案。如何配置群集以最佳利用资源?
答案 0 :(得分:2)
Kubernetes使用scheduler来决定哪个pod在哪个节点上启动。一种改进是告诉调度程序您的吊舱需要什么作为最小和最大资源。
资源是诸如emtpy dir(含1.11)之类的内存(以字节为单位),CPU(以cpu为单位)和临时存储。在为部署提供这些信息时,Kubernetes可以做出更好的决策,在哪里运行。 没有这些信息,nginx pod的调度方式将与任何繁重的Java应用程序相同。
限制和请求配置在here中进行了描述。设置两个限制是一个好主意,可以使调度变得更容易,并避免pod运行amok和使用所有节点资源。
如果这还不够,还可以添加自定义调度程序,对此documentation
进行了说明