如何将厨师客户指向不同的厨师服务器

时间:2014-08-19 06:28:40

标签: chef

我在计算机上设置了一个厨师客户端,以便使用learnchef.com提供的实验室进行练习。

我现在如何将我的厨师客户指向我们的内部厨师服务器(我们有2个非生产和生产)。您是否需要重新配置knife.rb以及重新创建validator.pemclient.pem个文件?

3 个答案:

答案 0 :(得分:2)

您必须从每个服务器获取validator.pem并注册到每个服务器 另一种选择是在每台服务器上创建一个客户端并保存私钥。

对于引导其他节点,您需要为每个服务器提供validator.pem文件。

我使用相同的用例并执行以下操作:

1)为每个厨师服务器创建一个包含knife.rb,client.pem等的目录。 即:

c:\chef\confs\server1
c:\chef\confs\server2

2)将KNIFE_HOME环境变量设置为与您要定位的服务器匹配的目录

set KNIFE_HOME=c:\chef\confs\server1

现在每个刀具命令都将以server1为目标。

另一种选择是设置你想要的任何环境变量,并在你的knife.rb文件中使用它     chef_server_url ENV ['CHEF_SERVER_I_USE']

但最后一个涉及修改其他一些设置(例如使用server1.pem和server2.pem文件并使用validator_key中的ENV []作为例子)

你可以在这里找到这个方法的例子(对于用户,但很容易适应):http://docs.getchef.com/config_rb_knife.html

答案 1 :(得分:0)

您的厨师客户无需与多个厨师服务器通话。如果您想切换厨师服务器,那么只需删除厨师客户端的现有配置并进行全新的引导:

ssh $VM rm -rf /etc/chef
knife bootstrap $VM ...

您的厨师工作站(管理厨师服务器的开发机器)可能想要访问多个厨师服务器。在这种情况下,我建议安装knife block插件。

答案 2 :(得分:0)

对于单次互动,您可以使用-s SERVER_URL选项,例如:

chef-client -S 'http://my_chef_server.net'

如果您需要永久更改Chef Server,则必须编辑knife.rb文件。为了与Chef服务器进行交互,需要三个配置设置,您必须更改它们。

node_name
client_key
chef_server_url

您可以使用knife configure命令或手动使用文本编辑器(默认位于〜/ .chef / knife.rb)。

我建议你熟悉这个要点。这是Commented knife.rb for all the things。我相信它可以帮助您找到有关配置刀具的所有信息。