使用 Kubernetes client-go 如何以编程方式检查节点是否“就绪”?

Phi*_*rdi 3 kubernetes client-go

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

bos*_*ood 5

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

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

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