- 厨师教程
- 厨师 - 主页
- 厨师 - 概述
- 厨师 - 建筑
- Chef - 版本控制系统设置
- 厨师 - 工作站设置
- Chef - 客户端设置
- 厨师 - 测试厨房设置
- 厨师 - 刀具设置
- 厨师 - 独奏设置
- 厨师 - 食谱
- Chef - 食谱依赖项
- 厨师 - 角色
- 厨师 - 环境
- Chef - Chef-Client 作为守护进程
- 厨师 - Chef-Shell
- 厨师 - 测试食谱
- 厨师 - 美食评论家
- 厨师 - ChefSpec
- 使用测试厨房测试食谱
- 厨师 - 节点
- 厨师 - 厨师-客户运行
- 高级厨师
- 动态配置菜谱
- 厨师 - 模板
- Chef - 带有 Chef DSL 的纯 Ruby
- 厨师 - 红宝石宝石与食谱
- 厨师 - 图书馆
- 厨师 - 定义
- Chef - 环境变量
- 厨师 - 数据袋
- Chef - 数据包脚本
- Chef - 跨平台食谱
- 厨师 - 资源
- 轻量级资源提供者
- 厨师 - 蓝图
- Chef - 文件和包
- 厨师 - 社区食谱
- 厨师有用的资源
- 厨师 - 快速指南
- 厨师 - 有用的资源
- 厨师 - 讨论
厨师 - 独奏设置
Chef-Solo 是一个在本地运行的开源工具,允许使用 Chef 说明书配置来宾计算机,而无需进行任何 Chef 客户端和服务器配置的复杂化。它有助于在自行创建的服务器上执行食谱。
在本地计算机上运行 Chef-Solo 之前,需要在本地计算机上安装以下两个文件。
Solo.rb - 该文件告诉 Chef 在哪里可以找到食谱、角色和数据包。
Node.json - 如果需要,此文件设置运行列表和任何特定于节点的属性。
solo.rb 配置
以下是配置solo.rb的步骤。
步骤 1 - 在 Chef 存储库中创建一个 alone.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 存储库。
$ git add solo.rb
步骤 3 - 在 Chef 存储库中创建一个包含以下内容的 node.json 文件。
{ "run_list": [ "recipe[ntp]" ] }
步骤 4 - 使用 Knife 在 Chef 存储库中获取 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 存储库。
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
在节点上运行 Cookbook
步骤 1 - 登录到想要配置 Chef-Solo 的节点。
步骤 2 - 在机器上克隆 Chef 存储库。
$ git clone $URL_PATH
步骤 3 - cd 到 Chef 存储库。
$ 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
olo.rb配置 Chef-Solo 在当前目录(Chef 存储库)中查找其食谱、角色和数据包。
Chef-Solo从 JSON 文件获取其节点配置。在我们的示例中,我们将其称为node.json。如果您要管理多个服务器,则每个节点都需要一个单独的文件。然后,Chef-Solo 仅根据在solo.rb 和node.json 中找到的配置数据执行Chef 运行。