gpt4 book ai didi

kubernetes - ReplicationControllerStatus.replicas 下集群 API 返回的 Pod 的状态是什么

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

在查看复制 Controller 时,它会返回最新的 replicas数下ReplicationControllerStatus .我在文档中的任何地方都找不到 pod 的状态需要什么才能将其包含在其中。对 pod 进行调度是否足够?我注意到一个复制 Controller 会报告其状态的 pod,即使这些 pod 仍处于挂起状态。

最佳答案

非常有趣的问题!为了回答这个问题,我相信我们需要走《星球大战》的路线并使用来源:

  • ReplicationManager有一些关于预期的暗示
  • 然后,有controller_utils.go有更多迹象
  • 但是,计算的核心似乎在 updateReplicaCount

  • 更新 :我的同事 Stefan Schimanski 刚刚向我指出,实际上答案有点复杂;关键是 FilterActivePods :
    func FilterActivePods(pods []api.Pod) []*api.Pod {
    var result []*api.Pod
    for i := range pods {
    if api.PodSucceeded != pods[i].Status.Phase &&
    api.PodFailed != pods[i].Status.Phase &&
    pods[i].DeletionTimestamp == nil {
    result = append(result, &pods[i])
    }
    }
    return result
    }

    这意味着最终条件是: 尚未终止且未处于正常终止状态的 pod .

    请注意,在 Kubernetes 上下文中“已调度”的定义很简单
    pod.spec.nodeName != ""

    特定节点上的 Kubelet 监视 API 服务器以查找具有匹配 nodeName 的 pod然后将在所述节点上启动 pod。

    关于kubernetes - ReplicationControllerStatus.replicas 下集群 API 返回的 Pod 的状态是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33755308/

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