- Chef 教程
- Chef - 首页
- Chef - 概述
- Chef - 架构
- Chef - 版本控制系统设置
- Chef - 工作站设置
- Chef - 客户端设置
- Chef - Test Kitchen 设置
- Chef - Knife 设置
- Chef - Solo 设置
- Chef - Cookbook
- Chef - Cookbook 依赖关系
- Chef - 角色
- Chef - 环境
- Chef - Chef-Client 作为守护进程
- Chef - Chef-Shell
- Chef - 测试 Cookbook
- Chef - Foodcritic
- Chef - ChefSpec
- 使用 Test Kitchen 测试 Cookbook
- Chef - 节点
- Chef - Chef-Client 运行
- 高级 Chef
- 动态配置菜谱
- Chef - 模板
- Chef - 使用 Chef DSL 的纯 Ruby
- Chef - 使用菜谱的 Ruby Gems
- Chef - 库
- Chef - 定义
- Chef - 环境变量
- Chef - 数据包
- Chef - 数据包脚本
- Chef - 跨平台 Cookbook
- Chef - 资源
- 轻量级资源提供程序
- Chef - 蓝图
- Chef - 文件和包
- Chef - 社区 Cookbook
- Chef 有用资源
- Chef - 快速指南
- Chef - 有用资源
- Chef - 讨论
Chef - 环境
Chef 有助于执行特定于环境的配置。最好为开发、测试和生产分别设置独立的环境。
Chef 支持将节点分组到不同的环境中,以支持有序的开发流程。
创建环境
可以使用 knife 实用程序动态创建环境。以下命令将打开 Shell 的默认编辑器,以便修改环境定义。
vipin@laptop:~/chef-repo $ knife environment create book { "name": "book", "description": "", "cookbook_versions": { }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { }, "override_attributes": { } } Created book
测试已创建的环境
vipin@laptop:~/chef-repo $ knife environment list _default book
列出所有环境的节点
vipin@laptop:~/chef-repo $ knife node list my_server
_default 环境
每个组织都至少从一个名为 default 的环境开始,该环境始终可用于 Chef 服务器。默认环境无法以任何方式修改。任何更改只能在创建的自定义环境中进行。
环境属性
可以在环境中定义属性,然后用于覆盖节点中的默认设置。当 Chef 客户端运行时,这些属性将与节点中已存在的默认属性进行比较。当环境属性优先于默认属性时,Chef 客户端将在每个节点上运行 Chef 客户端时应用这些设置和值。
环境属性只能是 default_attribute 或 override_attribute。它不能是普通属性。可以使用 default_attribute 或 override_attribute 方法。
属性类型
默认 - 默认属性在每次 Chef 客户端运行开始时始终重置,并且具有最低的属性优先级。
覆盖 - 覆盖属性在每次 Chef 客户端运行开始时始终重置,并且比默认、force_default 和普通属性具有更高的属性优先级。覆盖属性最常在菜谱中定义,但也可以在角色或环境的属性文件中指定。
应用属性的顺序
广告