📅  最后修改于: 2020-11-04 04:49:44             🧑  作者: Mango
Chef-Solo是一个在本地运行的开源工具,允许使用Chef食谱配置来宾计算机,而不会导致任何Chef客户端和服务器配置复杂化。它有助于在自己创建的服务器上执行食谱。
在本地计算机上运行Chef-Solo之前,需要在本地计算机上安装以下两个文件。
以下是配置solo.rb的步骤。
步骤1-在厨师仓库内创建一个solo.rb文件。
current_dir = File.expand_path(File.dirname(__FILE__))
file_cache_path "#{current_dir}"
cookbook_path "#{current_dir}/cookbooks"
role_path "#{current_dir}/roles"
data_bag_path "#{current_dir}/data_bags"
步骤2-将文件添加到git repo。
$ git add solo.rb
步骤3-在厨师仓库内使用以下内容创建一个node.json文件。
{
"run_list": [ "recipe[ntp]" ]
}
步骤4-使用刀将ntp食谱保存在厨师仓库中。
vipin@laptop:~/chef-repo $ knife cookbook site install ntp
Installing ntp to /Users/mma/work/chef-repo/cookbooks
…TRUNCATED OUTPUT…
Cookbook ntp version 1.3.0 successfully installed
第5步-将node.json文件添加到Git。
$ git add node.json
步骤6-提交并将文件推送到git repo。
vipin@laptop:~/chef-repo $ git commit -m "initial setup for Chef Solo"
vipin@laptop:~/chef-repo $ git push
Counting objects: 4, done.
Delta compression using up to 4 threads.
...TRUNCATED OUTPUT...
To git@github.com:mmarschall/chef-repo.git
b930647..5bcfab6 master -> master
步骤1-登录到要供应Chef-Solo的节点。
步骤2-在计算机上克隆Chef存储库。
$ git clone $URL_PATH
步骤3 -cd到厨师仓库。
$ cd chef-repo
最后,运行Chef-Solo来收敛节点-
$ sudo chef-solo -c solo.rb -j node.json
[2017-20-08T22:54:13+01:00] INFO: *** Chef 11.0.0 ***
[2017-20-08T22:54:13+01:00] INFO: Setting the run_list to
["recipe[ntp]"] from JSON
...TRUNCATED OUTPUT...
[2012-12-08T22:54:16+01:00] INFO: Chef Run complete in 2.388374
seconds
[2012-12-08T22:54:16+01:00] INFO: Running report handlers
solo.rb配置Chef-Solo在当前目录:Chef存储库中查找其食谱,角色和数据包。
Chef-Solo从JSON文件获取其节点配置。在我们的示例中,我们将其称为node.json。如果要管理多个服务器,则每个节点都需要一个单独的文件。然后,Chef-Solo仅根据solo.rb和node.json中的配置数据执行一次Chef运行。