Chef:用刀删除节点,稍后再添加

时间:2013-08-28 08:31:56

标签: chef

假设执行knife node delete 'NODENAME'从厨师服务器删除节点,同时让相应的VM保持原样运行。

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

4 个答案:

答案 0 :(得分:13)

我们的用例涉及创建虚拟机和厨师引导它们(使用主机名作为主厨节点名称)。通常会删除节点并使用相同的名称反复创建节点。当我们销毁虚拟机时,我们运行两个命令来清理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

答案 1 :(得分:4)

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

通过此命令knife node delete 'NODENAME',您可以从厨师组织中删除节点。但请记住,包含各种烹饪书的节点信息(主要是yml文件)存储在SCM中。因此,您需要删除条目或注释掉要删除的节点并签入代码。因此,下次将cookbook上传到chef-server时,将无法看到该节点。

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

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