3

看起来我可能需要遍历v1.Node->NodeStatus->Conditions[]切片并按转换时间排序并查找最近的定时条件是否为NodeConditionType == "Ready". 我想知道是否有更好的方法或者该方法是否有缺陷?

4

2 回答 2

3

您正在寻找正确的位置,但条件可能不会完全按照您的问题所暗示的方式起作用。条件不应被视为基于时间的事件,而应被视为当前状态。引用API 约定文档

条件表示对象状态的最新可用观察。

因此,不必查找最新的 Condition,而是您有兴趣观察的状态类型的条件。应该只有一个NodeConditionTypeReady,但您需要检查该.Status字段NodeCondition以确认其值是否是TrueFalseUnknown

于 2019-08-04T17:55:24.723 回答
0

在我的情况下,我启用TaintBasedEvictionsTaintNodesByCondition特性门,k8s节点控制器会在节点上自动添加一些污点(例如node.kubernetes.io/not-readynode.kubernetes.io/unreachable),我只需要观察节点,检查污点。

于 2019-08-04T04:03:39.143 回答