gpt4 book ai didi

kubernetes - 当你耗尽 Kubernetes 集群中的节点时会发生什么?

转载 作者:行者123 更新时间:2023-12-02 11:35:22 26 4
gpt4 key购买 nike

当您排空 Kubernetes 集群中的节点时,我想澄清一下维护准备工作:

这是我在您运行时所知道的 kubectl drain MY_NODE :

  • 节点被封锁
  • Pod 正常关闭
  • 您可以选择忽略 Daemonset pod,因为如果它们被关闭,它们将立即再次重新生成。

  • 我对节点耗尽时会发生什么感到困惑。

    问题:
  • pod 会发生什么?据我所知,Kubernetes 中没有 Pod 的“实时迁移”。
  • Pod 会被关闭然后在另一个节点上自动启动吗?还是这取决于我的配置? (即 Pod 是否可以通过 Drain 关闭而不在另一个节点上启动)

  • 我希望对此进行一些澄清以及任何最佳实践或建议。提前致谢。

    最佳答案

    默认 kubectl drain是非破坏性的,您必须重写才能更改该行为。它使用以下默认值运行:

      --delete-local-data=false
    --force=false
    --grace-period=-1
    --ignore-daemonsets=false
    --timeout=0s


    这些保护措施中的每一个都处理不同类别的潜在破坏(本地数据、裸 Pod、优雅终止、守护进程)。它还尊重 Pod 中断预算以遵守工作负载可用性。任何非裸 pod 都将通过其各自的 Controller (例如 daemonset controllerreplication controller )在新节点上重新创建。

    是否要覆盖该行为取决于您(例如,如果运行 jenkins 作业,您可能有一个裸机。如果您通过设置 --force=true 进行覆盖,它将删除该 Pod 并且不会重新创建它)。如果你不覆盖它,节点将无限期地处于排放模式( --timeout=0s ))。

    关于kubernetes - 当你耗尽 Kubernetes 集群中的节点时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56861796/

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