|
The Chef Client is where almost all of the work in Chef is done. It communicates with the Chef Server via REST, authenticates via Signed Header Authentication, and compiles and executes Cookbooks. |
Clients do work for one or many Nodes
A Chef Client does work on behalf of a Node. A single Chef Client can run recipes for multiple Nodes.
Clients do all the work
Clients are where all the action happens - the Chef Server and Chef Indexer are largely services that exist only to provide the Client with information.
You can run the client periodically
If you want, you can run the Chef Client as a persistent daemon. To do this, make your startup script for the chef client execute something like:
The -i option provides an Interval - it's how often the Chef client will attempt to wake up and Converge this Node. The -s option is the Splay - a random piece of time added to the interval, which helps avoid the thundering herd problem.
The entire set of options available can be found with the incantation:
The JSON_ATTRIBS can be a run_list and used to specify roles and/or recipes to add to the node