The best practices of using a Chef Server are directly related to the reusability of cookbook recipes and components. This course will focus on the effective use of community cookbooks with a Chef server.
Learning Objectives
The Chef Supermarket
- start the course
- describe the reusability of Chef cookbooks and best practices around utilizing community code
- search for cookbooks on supermarket.chef.io
- distinguish the differences between library and application cookbooks
Wrapper Cookbooks
- distinguish why community cookbooks should be called as dependencies instead of forking upstream code bases
- configure and install dependencies in the metadata file with berkshelf
Cookbook Dependencies
- manage Chef server cookbook versions with berkshelf
- configure the Berksfile to point at a local dependency instead of a Chef Supermarket dependency
Node Attribute Precedence
- use node attribute precedence when overwriting cookbook attribute values
- assign node attributes at the role or environment level
- identify the limitations of using roles and explain the purpose of a role cookbook
The Chef-client Cookbook
- configure the chef-client as a service with a community cookbook
- configure the logging location on a node directly or as a node attribute with the chef-client cookbook
Practice: Configuring a Load Balancer
- configure a wrapper for the test_haproxy community cookbook to redirect traffic to a simple web server