CHEF:生成并注册node_name

时间:2015-04-03 20:35:15

标签: chef chef-solo chefspec

我对Chef很新,我不知道如何生成和注册新的node_name。我在这里做了什么:

1)在Chef https://manage.chef.io/login注册一个帐户并登录

2)让我们说我有一个组织

3)在Chef UI门户上,单击Administration并下载Starter Kit

4)下载入门套件后,解压缩包含3个文件:my-login.pem,knife.rb和my-org-validator.pem

5)我测试,我能够列出食谱,列出客户端,......

6)当我打开knife.rb时,我看到这样的事情:

# See https://docs.chef.io/config_rb_knife.html for more information on knife configuration options

current_dir = File.dirname(__FILE__)
log_level                :info
log_location             STDOUT
node_name                "my-login"
client_key               "#{current_dir}/my-login.pem"
validation_client_name   "my-org-validator"
validation_key           "#{current_dir}/my-org-validator.pem"
chef_server_url          "https://api.opscode.com/organizations/my-org"
cookbook_path            ["#{current_dir}/../cookbooks"]

现在我的问题是:

1)如果我使用与node_name" my-login"相同的Start Kit,并将其安装在我的所有服务器中,那么在Chef UI中,它将只显示1个服务器。我正在寻找一种方法,可以在所有具有不同node_name的服务器上安装Start Kit。我该怎么做?

2)我可以仅使用my-org-validator.pem文件动态生成node_name吗?

由于

2 个答案:

答案 0 :(得分:0)

入门套件仅适用于您的开发工作站。您不需要在使用Chef管理的服务器上安装它(在Chef中,服务器称为节点)。相反,您应该使用Chef来引导您希望管理的服务器,并且一旦安装了chef-client(使用knife bootstrap命令自动执行),Chef Server就会意识到它。

答案 1 :(得分:0)

您应该使用工作站来引导节点。使用-N选项可以提供自定义节点名称。

从工作站执行以下命令。确保您提供正确的节点IP地址和用户名密码以便远程访问。

** knife bootstrap IPAddress -x username -P Password -N node_name

阅读https://docs.chef.io/knife_bootstrap.html - 了解更多信息。