在刀搜索中忽略非活动/死节点

时间:2017-11-07 02:23:53

标签: amazon-ec2 chef knife

我有一个使用一堆属性搜索节点的食谱,我想消除搜索结果中的死或非活动节点。我该怎么做呢。

我们说我有4个节点 -

NAME  - ENVIRONMENT - STATE
node1 -    dev      -  DEAD/INACTIVE
node2 -    dev      -  ALIVE/ACTIVE
node3 -    test     -  ALIVE/ACTIVE
node4 -    dev      -  ALIVE/ACTIVE

如果我[node2, node4]而不是结果为search(:node, env:dev),我希望结果为[node1, node2, node4]。这是因为node1已终止但未从节点列表中清除。

我知道一个可能的解决方案是清理节点列表以不显示死节点,但在实现之前,我希望有一个临时或快速修复。是否有任何节点属性告诉我是否节点处于活动/非活动状态或向厨师服务器报告。

提前致谢!

1 个答案:

答案 0 :(得分:0)

没有办法,因为厨师没有“不活跃”或“死亡”的概念。它知道最后一个节点保存的时间戳(读取:可能是上次成功收敛的时间,除非你在代码中做了一些奇怪的事情),但就是这样。有很多工具可以根据启发式方法(自上次聚合以来的时间,检查AWS API等)对客户端和节点进行垃圾收集,但没有一种适用于所有情况。