我在计算机上设置了一个厨师客户端,以便使用learnchef.com提供的实验室进行练习。
我现在如何将我的厨师客户指向我们的内部厨师服务器(我们有2个非生产和生产)。您是否需要重新配置knife.rb
以及重新创建validator.pem
和client.pem
个文件?
答案 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。我相信它可以帮助您找到有关配置刀具的所有信息。