Chef 清理 - 节点、环境、食谱、角色等,
Chef cleanup - nodes, environments, cookbooks, roles etc.,
我最近继承了一个 Chef 环境,它有很多陈旧的节点和环境以及很多旧的食谱。例如AWS 控制台显示我有大约 150 个实例 运行,但 knife status
显示 700 个节点。
通常情况下,我使用ansible,所以我在很大程度上理解它是如何工作的。但是 Chef 不是我完全理解的东西。我能理解一些刀的命令并能完成基本的任务。
但是大多数 ec2 实例似乎是使用不同的密钥创建的(这是最佳做法吗?),并且识别死节点更加复杂。
Chef 是否为每个节点存储此信息,即实例化节点时使用的密钥,我可以使用该信息检查节点的状态并可能自动删除节点?
同样,列出不用的环境并删除等。
是否有现成的工具可以用来清理这个 Chef 环境?我已经搜索过,但没有找到任何符合目的的东西。有一个清理食谱的工具,但这是我最不关心的问题。
我将如何清理它,特别是节点和任何环境?
您可以使用knife
对保存的节点数据执行搜索(包括ohai): https://docs.chef.io/knife_search.html
与 aws cli 一起,您将获得编写小型 shell 脚本所需的一切,该脚本为节点执行 knife node delete
和 knife client delete
。
清理完所有死节点后,您可以使用搜索查询环境中的节点并删除没有节点的环境。
查看 knife 插件 here
knife-cleanup
、knife-audit
和 knife-ohno
可能有助于创建要删除的对象列表。
我最近继承了一个 Chef 环境,它有很多陈旧的节点和环境以及很多旧的食谱。例如AWS 控制台显示我有大约 150 个实例 运行,但 knife status
显示 700 个节点。
通常情况下,我使用ansible,所以我在很大程度上理解它是如何工作的。但是 Chef 不是我完全理解的东西。我能理解一些刀的命令并能完成基本的任务。
但是大多数 ec2 实例似乎是使用不同的密钥创建的(这是最佳做法吗?),并且识别死节点更加复杂。
Chef 是否为每个节点存储此信息,即实例化节点时使用的密钥,我可以使用该信息检查节点的状态并可能自动删除节点?
同样,列出不用的环境并删除等。
是否有现成的工具可以用来清理这个 Chef 环境?我已经搜索过,但没有找到任何符合目的的东西。有一个清理食谱的工具,但这是我最不关心的问题。
我将如何清理它,特别是节点和任何环境?
您可以使用knife
对保存的节点数据执行搜索(包括ohai): https://docs.chef.io/knife_search.html
与 aws cli 一起,您将获得编写小型 shell 脚本所需的一切,该脚本为节点执行 knife node delete
和 knife client delete
。
清理完所有死节点后,您可以使用搜索查询环境中的节点并删除没有节点的环境。
查看 knife 插件 here
knife-cleanup
、knife-audit
和 knife-ohno
可能有助于创建要删除的对象列表。