chef的节点(node)的名字,一旦设定,无法直接修改。重命名的方法是在chef server上删除该节点,然后重新创建。这个过程有点麻烦,希望以后chef进行改进。重命名的步骤如下:
- 检查节点参数和运行菜单, 特别是要注意记录 run_list 和一些重要参数
% knife node edit c1-2.pubyun.com { "normal": { "tags": [ ], "sysctl": { }, "postfix": { "relayhost": "[192.168.192.2]" } }, "name": "c1-2.pubyun.com", "chef_environment": "_default", "run_list": [ "role[ubuntu]" ] }
- 在chef server上删除 node 和 client
knife client delete c1-2.pubyun.com knife node delete c1-2.pubyun.com
- 在节点上删除 文件 /etc/chef/client.pem
- 在节点上编辑文件 /etc/chef/client.rb,修改 node_name 变量
- 在节点上重新运行 chef-client,这时节点命名生效,可以使用 knife node list 查看
- 设置 run_list 和一些变量
knife node run_list add c1-3.pubyun.com 'role[ubuntu]'