把它们写在一起是因为他们都有一个run_list,而且他们的run_list都可以包含Recipe和Role
knife node show client1.chefdemo.com
Node Name: client1.chefdemo.com
Environment: _default
FQDN: client1.chefdemo.com
IP: 192.168.122.10
Run List: recipe[ntp::default], recipe[mysql::default]
Roles:
Recipes: ntp::default, mysql::default
Platform: centos 6.2
knife role show mysql
chef_type: role
default_attributes:
description:
env_run_lists:
json_class: Chef::Role
name: mysql
override_attributes:
run_list:
recipe[ntp::default]
recipe[mysql::default]
Role可以用来描述一台服务器希望被配置成什么样子(配置成web服务器,mysql服务器,甚至是一个论坛)
它有一个run_list, 里面包含了要把一台服务器配置成这个样子所需要的Recipe和Role(Role可以包含Role)
Node很好理解,每一个被Chef管理的服务器(运行chef-client)就是一个Node
当一个Node上的chef-client启动的时候,它会去chef-server查到自己的run_list里包含那些Role和Recipe,然后把它们按顺序依次展开并应用到自身
Role和Node的关系是:可以把Role应用到Node,实际上这个过程只是简单的把这个Role的run_list里包含的东西(Role和Recipe)加到这个Node的run_list里(一个Node可以包含任意多个Role或Recipe)
这里举一个例子帮助理解,有两个Recipe: ntp::default和mysql::default
package "ntp" do
action [:install]
end# 后面把这一条Resource简称为:安装ntp的Resource service "ntpd" do
action[:enable,:start]
end# 后面把这一条Resource简称为:启动ntp的Resource
package "mysql-server" do
action :install
end# 后面把这一条Resource简称为:安装mysql-server的Resource service "mysql-server" do
action :start
end# 后面把这一条Resource简称为:启动mysql-server的Resource
我们创建一个名叫ntp_and_mysql的Role并把这两个Recipe加到里面,相应的命令为
EDITOR=vim knife role create ntp_and_mysql
这条命令会用vim打开一个文件让你编辑这个role,修改成这样然后保存退出
{
"override_attributes": {
},
"chef_type": "role",
"env_run_lists": {
},
"json_class": "Chef::Role",
"name": "ntp_and_mysql",
"run_list": [
"recipe[ntp::default]",
"recipe[mysql::default]" ],
"default_attributes": {
},
"description": "" }
然后把这个Role应用到一个Node上(实际上就是把这个Role的runlist里的Recipe加到Node的runlist里)
knife node run list add client1.chefdemo.com 'role[ntp_and_mysql]'
最后client1.chefdemo.com这个Node会把它展开为4条Resource(按顺序)
安装ntp的Resource
启动ntp的Resource
安装mysql-server的Resource
启动mysql-server的Resource
再由Provider将其转为对应的命令,最后这个Node所要做的就是:安装ntp,启动ntp,安装mysql-server,启动mysql-server
相关推荐
Chef Analytics Splunk应用程序Splunk应用程序可通过Chef Analytics从Chef基础结构中收集见解。要求: Chef Analytics 1.1.4或更高版本屏幕截图:节点活动仪表板服务器活动仪表板设置: 并Chef Analytics。 为您的...
产品和附加组件的原语-帮助者和资源,包括但不限于: 厨师服务器12 厨师分析厨师自动化Chef Automate v2 厨师推超级市场该菜谱还提供了用于构建和管理Chef基础结构的原语。 它将执行组件的安装和配置。 它没有提供...
厨师基础知识视窗这是“ Chef基础知识” Windows演示。审阅与反馈提供反馈和/或更新材料有两种基本方法:打开GitHub问题发现拼写错误,内容不一致或错误时。 用内容描述问题包含版本(例如v2.1.5)或提交SHA(例如89...
AwsSecurityHubAutomateIntegration 该项目提供了一个AWS Lambda函数,该函数会将从Chef Automate ...在AWS Security Hub中查看Chef基础结构和合规性数据 创建空的Lambda函数 打开AWS Lambda控制台 选择创建功能-从
用户可以整理其基础架构,并使用Chef将其基础架构收敛到所需状态。 它具有一个插件模型(称为驱动程序)来管理不同的基础架构,包括AWS,Azure和Fog。 厨师供应根据。 车手 由于年龄和与不同驱动程序的参与程度...
https://github.com/chef/chef/issues松弛:厨师社区松弛厨师Infra伞项目:厨师Infra项目状态:活动问题响应时间最多:14天请求请求响应时间最长:14天入门厨师Infra是一种配置管理工具,旨在为您的整个基础架构带来...
cucumber-chef, 测试驱动基础结构开发框架 cucumber是一个工具库,它支持将基础架构的新兴规程作为代码来实施测试驱动开发。 平台提供了一个测试平台,可以运行 Cucumber 测试,通过将虚拟机应用到它们,配置它们,...
主厨基础客户 主厨InSpec 主厨人居 Chef命令行工具 测试厨房 烹饪风格 适用于云的各种Test Kitchen和Knife插件 入门 下载 双击.dmg或.msi文件以开始安装过程,或使用Linux发行版的软件包管理器。 打开一个终端,...
大数据与云计算培训学习资料 使用Chef和Cucumber进行行为(测试)驱动基础设施开发 共15页.pptx
厨师长 伞项目: 项目状态: 问题:14天拉取请求:14天入门Chef Infra是一种配置管理工具,旨在为您的整个基础架构带来自动化。想尝试Infra Chef吗? 有关Chef Infra的用法,请参阅 ,这是我们的自定进度,完全免费...
与Chef一起试驾您的Rails基础架构 使用诸如Chef之类的配置管理工具管理基础架构,将开发和运营实践融合在一起。 本讲习班将侧重于开发实践-测试驱动开发-以及如何将该方法应用于管理Rails基础结构和部署。 您将学习...
ChefConf 2015 - Chef 配置 Chef 服务器集群 这是我关于使用 Chef Provisioning 构建 Chef Server 12 集群的演讲的开发存储库。 它基于我关于该主题的。... Chef 配置的基础知识 Chef Provisioning 如何与 EC2 配合使
说明书的设计和编写方式使其可用于在基础架构中的任何节点上部署单个服务组件; 简而言之,它们可用于单节点“多合一”安装(用于测试),直至多/多节点生产安装。 为了实现这种灵活性,他们使用了功能,因此要求...
厨师回购所有安装都需要一个称为chef-repo 的中央工作区。 这是一个存储和管理原始对象(说明书、角色、环境、数据包和厨师存储库配置文件)的地方。 Chef-repo 应保持在版本控制之下,例如 ,然后像源代码一样进行...
概述每个 Chef 安装都需要一个 Chef 存储库。 这是用于使用 Chef 管理系统的说明书、角色、配置文件和其他工件的地方。 我们强烈建议将此存储库存储在 Git 等版本控制系统中,并将其视为源代码。 虽然我们更喜欢 Git...
Chef 仓库模板 这是 Chef 存储库的模板,旨在为 Chef Solo、Knife Solo 和 Chef Server 工作。 初始设置 使用 git 克隆模板,并设置 bundler。 git clone ...
使用 Docker、Chef 和 Rails 的示例基础架构设置。 设置包括: Ruby 2.1.2 Postgres 导轨 4 独角兽nginx 我按照作为运行 Chef 来创建我的 Docker 镜像的示例。开始使用 Vagrant git clone ...
自动化 自动化提供了对由Chef,Inspec和Habitat管理的基础架构的统一视图。 主要功能包括: 用于Chef Client和Chef Server数据的聚合和分析工具, 合规历史和报告,以及对单个服务器和云API进行合规性扫描。 有关更...
Chef Provisioning 简介。 幻灯片可以在此处找到,也。 设置 安装 ChefDK(0.4.0 或更高版本) 克隆这个 repo 使用正确的 AWS 凭证创建一个~/.aws/config文件 部署基础设施 chef-client --local simple.rb chef...