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

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.
主站蜘蛛池模板: 棋牌| 南靖县| 收藏| 中方县| 常德市| 丽水市| 吉林省| 瑞丽市| 金堂县| 太康县| 福建省| 安达市| 西宁市| 依兰县| 收藏| 陆丰市| 海宁市| 盱眙县| 盈江县| 山西省| 临澧县| 河池市| 金湖县| 永福县| 鄯善县| 筠连县| 香河县| 上虞市| 习水县| 广平县| 奉贤区| 德安县| 沙坪坝区| 靖宇县| 武宁县| 长汀县| 阳原县| 铁岭市| 乌拉特后旗| 桐柏县| 江孜县|