gpt4 book ai didi

kubernetes - 停用广告连播的自动重新安排

转载 作者:行者123 更新时间:2023-12-02 12:18:38 25 4
gpt4 key购买 nike

在节点自动缩放期间,在k8s集群(GCP)上,我的pod会自动重新安排。它们在自动缩放过程中执行计算并将结果保留在内存中的主要问题。由于重新安排时间,广告连播会丢失所有结果和任务。

我想禁用指定Pod的重新计划。我知道一些可能的解决方案:

  • nodeSelector(由于集群的动态特性,因此不太灵活)
  • pods 中断预算PDB

  • 我已经尝试了PDB并将minAvailable设置为1,但是没有用。我发现您还可以设置maxUnavailable = 0,会更有效吗?将maxUnavailable设置为0时,我无法确切了解其行为。您能进一步解释一下吗?谢谢!

    链接以获取更多详细信息- https://github.com/dask/dask-kubernetes/issues/112

    最佳答案

    将max unavailable设置为0是一种可行的方法,而且,使用节点池也是一个很好的解决方法。

    gcloud container node-pools create <nodepool> --node-taints=app=dask-scheduler:NoSchedule
    gcloud container node-pools create <nodepool> --node-labels app=dask-scheduler

    这将使用标签app = dask-scheduler创建节点池,在pod规范中,您可以执行以下操作:
    nodeSelector:
    app: dask-scheduler

    并将dask调度程序放在不会自动扩展的节点池中。

    有一个名为PDB的对象,您可以在其规范中设置maxUnavailable
    在maxUnavailable = 1的示例中,这意味着如果您定义了100个 pods ,请始终确保一次仅删除/排水/重新安排一个 pods
    对于maxUnavailable,如果您有2个容器,并且将maxUnavailable设置为0,则它​​将永远不会删除您的容器。它是调度程序
    apiVersion: policy/v1beta1
    kind: PodDisruptionBudget
    metadata:
    name: zk-pdb
    spec:
    maxUnavailable: 1
    selector:
    matchLabels:
    app: zookeeper

    关于kubernetes - 停用广告连播的自动重新安排,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53437458/

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