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

  • Mastering Chef
  • Mayank Joshi
  • 392字
  • 2021-07-16 14:02:22

Different modes of running Chef

Chef can be executed under different modes. It's generally set up in a client-server fashion. However, if you were to just bootstrap your machine using Chef code, you don't need to worry about setting up a Chef server. Chef also provides a way of running as a standalone executable. If you are a developer writing a new piece of infrastructure code and want to test it, you can even run it in an IRB-like shell.

The most used mode of running Chef is the client-server model. In this model, we've a Chef server and an agent called chef-client that runs on machine(s) that need to be set up. The Chef client communicates with a chef-server and bootstraps the machine appropriately depending upon certain parameters, which we'll learn about shortly.

In a client-server architecture, the Chef ecosystem is comprised of a chef-server, which in turn is a name given to a set of services running on an instance (chef-server-web-ui, chef-solr, chef-expander, chef-core-api, and so on) and chef-client, which is an agent running on machines.

The chef-solo is the tool to be used if you just want to provision an instance using Chef. With chef-solo, we can do everything except for using the search functionality or accessing remote data bags that the chef-server provides. The chef-solo tool is expected to be deprecated in the near future and chef-zero is the expected way to run the code locally.

Shef is more like a debugging tool that allows you to set breakpoints within a recipe. It runs as an IRB session. It provides support for interactive debugging too.

By default, chef-shell loads in a standalone mode. However, it can also run as a chef-client and be used to verify the functionality of a Chef run. Set up chef-shell.rb with the same settings as those in knife.rb and run with the –z option:

$ chef-shell –z

We'll cover more about using Shef for debugging purposes later in this book.

The Chef server can either be set up privately, or you can choose a managed hosting service provided by Opscode. Here again, you've a choice of using an open source Chef or Enterprise Chef.

Enterprise Chef adds the following additional features on top of an open source Chef:

  • Enhanced management console
  • Centralized monitoring and reporting
  • Role-based access control
  • Push client runs
主站蜘蛛池模板: 新巴尔虎右旗| 新龙县| 鞍山市| 泾源县| 元朗区| 高台县| 葵青区| 五家渠市| 涪陵区| 石首市| 永新县| 伊春市| 贵德县| 苍山县| 黄骅市| 阜康市| 聊城市| 公主岭市| 土默特右旗| 安新县| 德化县| 麻江县| 汾阳市| 枣强县| 双桥区| 阜平县| 和顺县| 沂水县| 浏阳市| 巧家县| 乌恰县| 瓦房店市| 瑞金市| 德保县| 琼结县| 焉耆| 志丹县| 安岳县| 山西省| 海阳市| 井冈山市|