Kubernetes豆荚反亲和力-基于标签均匀分布豆荚?
我们发现我们的Kubernetes集群往往有热点,某些节点比其他节点获得的应用程序实例多得多 在本例中,我们部署了大量Apache Airflow实例,一些节点的web或调度器组件比其他节点多3倍 是否可以使用反亲和力规则强制POD在集群中更均匀地分布 例如,“首选标签吊舱最少的节点Kubernetes豆荚反亲和力-基于标签均匀分布豆荚?,kubernetes,scheduling,affinity,Kubernetes,Scheduling,Affinity,我们发现我们的Kubernetes集群往往有热点,某些节点比其他节点获得的应用程序实例多得多 在本例中,我们部署了大量Apache Airflow实例,一些节点的web或调度器组件比其他节点多3倍 是否可以使用反亲和力规则强制POD在集群中更均匀地分布 例如,“首选标签吊舱最少的节点组件=气流网”?“ 如果反亲和力不起作用,我们还应该研究其他机制吗?您是否尝试过配置kube调度程序?? kube调度程序通过两步操作为pod选择一个节点: 筛选:查找可以调度Pod的节点集 评分:对剩余节点进行排
组件=气流网”
?“
如果反亲和力不起作用,我们还应该研究其他机制吗?您是否尝试过配置
kube调度程序?
?
kube调度程序通过两步操作为pod选择一个节点:
:查找可以调度Pod的节点集筛选
:对剩余节点进行排序,以选择最合适的Pod位置评分
kube-scheduler --policy-config-file <filename>
kube调度程序--策略配置文件
:支持资源使用平衡的节点BalancedResourceAllocation
.spec.template
:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: "component"
operator: In
values:
- airflow-web
topologyKey: "kubernetes.io/hostname"
你能再解释一下它的作用吗?猜它是->并且需要1.19。我们在1.16,但还是很高兴知道。如果另一个解决方案没有出现,Up-voted将接受。谢谢我们这里的一个问题是,所有节点的资源使用率都很低,并且都有很多很小的临时豆荚。我们发现了两个短暂的小吊舱问题-(1)是docker速率限制问题,(2)是PLEG问题-即内存/cpu低,但由于节点创建/删除了太多吊舱,吊舱管理开销变得有问题。这会让我们实现类似“所有合理节点选项的循环”吗?例如,找到所有适合平衡的节点,然后随机选择一个节点,这样它就不会成为第一个节点的热点?(这似乎经常发生)。