ReplicationControllerStatus.replicas下群集API返回的pod的状态是什么

时间:2015-11-17 11:04:03

标签: kubernetes

在观看复制控制器时,它会在replicas下返回最近的ReplicationControllerStatus计数。我无法在文档中的任何地方找到pod的状态,以便将其包含在那里。是否足够安排吊舱?我注意到一个复制控制器报告pod的状态,即使pod仍处于待处理状态。

1 个答案:

答案 0 :(得分:1)

非常有趣的问题!为了回答这个问题,我相信我们需要走星球大战的步行和使用来源

更新:我的同事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
}

这意味着最终条件是:尚未终止并且没有正常终止的广告

请注意,Kubernetes上下文中“预定”的定义只是

pod.spec.nodeName != ""

特定节点上的Kubelet会监视API服务器以查找匹配nodeName的pod,然后在该节点上启动pod。