官术网_书友最值得收藏!

Using Chef

Chef is a configuration management tool that provides a domain-specific language to model the configuration of our infrastructure. Each configuration item in our infrastructure is modeled as a resource. A resource is basically a Ruby method that accepts several parameters in a block. The following example resource describes installing the docker-engine package:

package 'docker-engine' do
  action :install
end

These resources are then written together in Ruby source files called recipes. When running a recipe against a server (a Docker host in our case), all the defined resources are executed to reach its desired state configuration.

Some Chef recipes may depend on other supplemental items, such as configuration templates and other recipes. All this information is gathered in cookbooks together with the recipes. A cookbook is a fundamental unit of distributing configuration and policy to our servers.

We will write Chef recipes to represent the desired state configuration of our Docker hosts. Our recipes will be organized in Chef cookbooks to distribute them to our infrastructure. However, first, let's prepare our Chef environment so that we can start describing our Docker-based infrastructure in recipes. A Chef environment consists of three things:

  • A Chef server
  • A workstation
  • A node

The next few subsections will give you a detailed description of each component. Then, we will set them up to prepare our Chef environment to be able to manage our Docker host.

There are more details of setting up a Chef environment that are outside this chapter's scope. More information can be found at the Chef documentation website at http://docs.chef.io.
主站蜘蛛池模板: 固安县| 张家港市| 永嘉县| 巴林左旗| 菏泽市| 吉木萨尔县| 南开区| 定兴县| 凉城县| 敦煌市| 新晃| 仁化县| 舒兰市| 保亭| 南昌县| 阿克| 黄冈市| 乌什县| 德安县| 瑞安市| 炎陵县| 长顺县| 云龙县| 凌云县| 腾冲县| 拉萨市| 平利县| 正安县| 文昌市| 多伦县| 南华县| 宜川县| 随州市| 广灵县| 绥化市| 宁南县| 登封市| 阳高县| 崇信县| 黄浦区| 包头市|