【发布时间】:2018-11-25 13:52:43
【问题描述】:
好的,所以在我们的 AWS 环境中,我们通过 AWS OpsWorks 运行 Chef-Automate。节点通过 AWS 用户数据中的代码自动注册和下载 Chef 客户端。我们有另一个 EC2 实例充当 Chef 工作站。这一切运作良好。然而,在这个特定的非生产环境中,EC2 节点经常来来去去。为了保持清洁,我们在 Automate 服务器上运行以下 cron 作业:
automate-ctl node-summary | grep missing | awk '{print $2}' | while read var; do automate-ctl delete-node --force -d -u $var; done
一旦显示为“缺失”,这将删除任何节点。这也很好。但是,当我们在工作站上运行 knife node list 或 knife status 时,我们会得到数百个死节点,其中一些已经消失了数千小时。
显然,knife 没有从与 automate-ctl 相同的数据库中获取节点数据。我最希望的是,我可以通过自动化服务器上的 cron 运行一些命令以保持这些命令同步,但我在文档中没有看到明显的解决方案。我假设 knife 正在连接到 Automate 服务器以获取其列表,所以我更喜欢在那里运行的解决方案,而不是在工作站上运行。
有什么想法吗???
【问题讨论】:
标签: chef-infra aws-opsworks knife