看起来我可能需要遍历v1.Node->NodeStatus->Conditions[]
切片并按转换时间排序并查找最近的定时条件是否为NodeConditionType == "Ready"
. 我想知道是否有更好的方法或者该方法是否有缺陷?
问问题
1418 次
2 回答
3
您正在寻找正确的位置,但条件可能不会完全按照您的问题所暗示的方式起作用。条件不应被视为基于时间的事件,而应被视为当前状态。引用API 约定文档:
条件表示对象状态的最新可用观察。
因此,不必查找最新的 Condition,而是您有兴趣观察的状态类型的条件。应该只有一个NodeConditionType
是Ready
,但您需要检查该.Status
字段NodeCondition
以确认其值是否是True
,False
或Unknown
。
于 2019-08-04T17:55:24.723 回答
0
在我的情况下,我启用TaintBasedEvictions
和TaintNodesByCondition
特性门,k8s节点控制器会在节点上自动添加一些污点(例如node.kubernetes.io/not-ready
,node.kubernetes.io/unreachable
),我只需要观察节点,检查污点。
于 2019-08-04T04:03:39.143 回答