9

说做一个knife node delete 'NODENAME'从厨师服务器中删除节点,同时让相应的虚拟机按原样运行。

如果我将来需要对该服务器进行更改,是否有可能再次将 VM 添加为节点并在其上运行 chef-client(或任何其他 chef 命令)?

4

4 回答 4

15

我们的用例涉及创建虚拟机和厨师引导它们(使用主机名作为厨师节点名称)。经常使用相同的名称反复删除和创建节点。当我们销毁虚拟机时,我们运行两个命令在 Chef 中进行清理。

knife node delete --yes NODENAME
knife client delete --yes NODENAME

请记住,在我们的用例中,我们对保留有关节点正在做什么的任何信息不感兴趣(即,它的运行列表或其他属性)。

如果不想删除服务器,可以运行以上两条命令从chef服务器中清理节点,然后在机器上运行以下命令,在本地删除chef。完成后,您可以再次引导机器。

#depending on how you installed chef
yum -y remove chef 
OR 
rpm -e `rpm -q chef`  # rpm -q chef returns the version of chef installed

rm -rf /var/chef
rm -rf /etc/chef
rm -rf /opt/chef
于 2015-05-29T13:26:19.647 回答
4

我认为,从您的厨师服务器中删除节点后,您删除的机器的凭据已从服务器中消失。同样,如果您想再次添加相同的节点,则必须删除该节点中由先前引导程序创建的 client.pem (/etc/chef/client.pem) 文件。

于 2015-01-09T06:15:24.693 回答
2

删除节点后属性消失。因此:没有。

于 2013-08-28T10:45:19.713 回答
1

通过此命令knife node delete 'NODENAME',您可以从厨师组织中删除一个节点。但请记住,包括各种说明书在内的节点信息(主要是 yml 文件)都存储在 SCM 中。因此,您需要删除条目或注释掉要删除的节点并签入代码。这样下次您将食谱上传到厨师服务器时,将不会看到该节点。

当您想将其添加回来时,请将其添加到您的食谱并签入代码。这是针对单片机的。然后将食谱上传到厨师服务器。现在 - 当你做一个厨师客户时,它会在握手中失败。

删除节点上的 /etc/chef/client.pem(确保 validation.pem 已经存在)。并重新运行 chef-client

于 2015-03-10T20:56:47.150 回答