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

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.
主站蜘蛛池模板: 南投市| 巴林右旗| 海城市| 惠东县| 淮阳县| 龙山县| 盱眙县| 宜兰县| 佛山市| 柘荣县| 两当县| 林州市| 陵川县| 溧水县| 揭东县| 墨竹工卡县| 交城县| 长沙县| 于田县| 宝应县| 武城县| 中宁县| 房产| 齐齐哈尔市| 襄樊市| 长宁县| 丰原市| 庆城县| 教育| 南和县| 额济纳旗| 五常市| 四平市| 珲春市| 绥滨县| 黄骅市| 工布江达县| 邻水| 松原市| 天气| 炉霍县|