Chef infra 厨师:用刀删除节点,然后再添加

Chef infra 厨师:用刀删除节点,然后再添加,chef-infra,Chef Infra,假设执行刀节点删除'NODENAME'以从chef服务器中删除节点,同时保持相应的VM按原样运行 如果将来需要更改该服务器,是否可以将VM再次添加为节点并在其上运行chef client(或任何其他chef命令)?删除节点后,属性将消失。因此:不。我认为,从chef服务器删除节点后,删除的机器的凭据将从服务器中消失。同样,如果要再次添加同一节点,则必须删除该节点中由上一次引导创建的client.pem(/etc/chef/client.pem)文件。通过此命令刀节点删除“NODENAME”可以从

假设执行
刀节点删除'NODENAME'
以从chef服务器中删除节点,同时保持相应的VM按原样运行


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

删除节点后,属性将消失。因此:不。

我认为,从chef服务器删除节点后,删除的机器的凭据将从服务器中消失。同样,如果要再次添加同一节点,则必须删除该节点中由上一次引导创建的client.pem(/etc/chef/client.pem)文件。

通过此命令
刀节点删除“NODENAME”
可以从厨师组织中删除节点。但是请记住,节点信息(主要是一个yml文件)包括各种烹饪书都存储在SCM中。因此,您需要删除条目或注释掉要删除的节点,然后签入代码。因此,下次将烹饪书上载到chef服务器时,将不会看到该节点

当你想把它添加回去时,把它添加到你的食谱中,并签入代码。这是针对SCM的。然后将食谱上载到厨师服务器。现在-当你做厨师客户时,握手会失败


删除节点上的/etc/chef/client.pem(确保validation.pem已经存在)。然后重新运行chef客户端

我们的用例包括创建虚拟机和chef引导它们(使用主机名作为chef节点名)。节点经常被删除,并使用相同的名称一次又一次地创建。当我们销毁虚拟机时,我们在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

你为什么要删除它?你找到解决这个问题的方法了吗?回答你自己的问题没关系。请不要忘记将答案标记为正确!:)事实上如果您正在使用的Cookbook能够容忍VM状态的丢失(通常由节点的属性捕获),那么新的引导就可以正常工作。