Chef Essential Training
3h 50mIntermediate2017-10-27
Authors

Robin Beck
Lead Technical Trainer helping developers with infrastructure challenges
Course details
Chef is a configuration management tool that allows you to write "recipes" to automate the deployment, provisioning, and configuration of machines and applications. The cooking metaphor extends to Chef cookbooks, which are collections of recipes; its CLI, knife; and its testing framework, Kitchen. The platform is ideal for DevOps engineers that want to manage their infrastructure with code.
This intermediate-level course provides insights into the Chef architecture through practical examples and demos, including the deployment of a PHP application on top of a LAMP stack. Instructor Robin Beck walks through recipe development and the various prebuilt cookbooks available from the Chef community Supermarket, and reviews best practices for building wrapper cookbooks that allow you to access recipes from different cookbooks. He also shows how to work more efficiently with knife commands for managing clients, cookbooks, and data.
Learning objectives
Building a setup recipe
Using cookbooks to organize recipes
Using community recipes
Uploading cookbooks
Using the database cookbook
Adding PHP to the mix
Searching with knife
Testing cookbooks with Kitchen
This intermediate-level course provides insights into the Chef architecture through practical examples and demos, including the deployment of a PHP application on top of a LAMP stack. Instructor Robin Beck walks through recipe development and the various prebuilt cookbooks available from the Chef community Supermarket, and reviews best practices for building wrapper cookbooks that allow you to access recipes from different cookbooks. He also shows how to work more efficiently with knife commands for managing clients, cookbooks, and data.
Learning objectives
Building a setup recipe
Using cookbooks to organize recipes
Using community recipes
Uploading cookbooks
Using the database cookbook
Adding PHP to the mix
Searching with knife
Testing cookbooks with Kitchen
Skills covered
Hosted Chef ServerChef Development KitVirtualBoxVagrantAmazon EC2DevOps ToolsAmazonDevOpsEssential TrainingOpen Source
Concepts
0. Introduction
- 01 - Welcome
- 02 - What you should know
- 03 - Using the exercise files
- 04 - Getting set up
1. Review the Fundamentals
- 05 - Use Vagrant to create an Ubuntu node
- 06 - The Chef development kit
- 07 - Build a setup recipe with resources
- 08 - Converge with the chef-client
- 09 - Cookbooks to organize recipes
- 10 - The LAMP cookbook
- 11 - The web recipe
- 12 - Ohai and system inventory
- 13 - Using node attributes for tunables
- 14 - Templates for config files
2. Community Code
- 15 - The Chef Supermarket
- 16 - Wrapper cookbooks and dependencies
- 17 - Refactor using the httpd community cookbook
- 18 - The hosted Chef server
- 19 - Grab the starter kit and reorganize
- 20 - Upload cookbooks with Berkshelf
- 21 - Bootstrap the Vagrant node
- 22 - Add a dependency on MySQL
- 23 - The database cookbook
- 24 - Data bags for sensitive information
- 25 - Upload the data bags and converge
3. Complete the LAMP Stack
- 26 - Add PHP to the mix
- 27 - Create the php app cookbook
- 28 - The MySQL script
- 29 - Populate the database
- 30 - The PHP homepage
- 31 - Review and deploy the LAMP cookbook
4. The Joy of Test Kitchen
- 32 - What could we have done differently
- 33 - An introduction to Test Kitchen
- 34 - Configuring the .kitchen.yml
- 35 - Converge and destroy a Test Instance
- 36 - Kitchen verify
- 37 - Write an InSpec test
Conclusion
- 38 - Next steps
Related courses
- Tech Recruiting Foundations: 8 Recruiting DevOps
- Find Your Passion: How Padma Lakshmi Found Hers
- Learning Chef
- DevOps Foundations: Infrastructure as Code (2017)
- Succeeding in Software Testing
- Making Video 2: Teach Something
- Douglas Kirkland on Photography: Storytelling through Photography
- Cisco CCNA (200-301) Cert Prep: 3 Security, Automation, and Programmability