How does expressing Infrastructure as Code with Chef accelerate building, deploying, and managing infrastructure? This course will focus on executing Chef code with the chef-client and introduces the DSL for writing recipes and cookbooks.
Learning Objectives
Introducing Config Management with Chef
- start the course
- describe how automation and version control contribute to DevOps
- describe the Chef distribution model and the declarative syntax used in writing Chef recipes
- install the Chef Development Kit (ChefDK)
Recipes and Ruby Basics
- use the package and file resources inside of a Chef Recipe
- describe Ruby basics such as variables, arrays, and objects
Cookbooks and the Chef-client
- identify how recipes are packaged and distributed with cookbooks
- identify best practices of using Git for version control
- deploy a cookbook using the chef-client in local mode
Node Attributes and Templates
- work with system profiling with Ohai and accessing node object attributes
- use the cookbook_file, remote_file, and template Chef resources to manage files
- manage dynamic file creation using the template resource
- refactor recipes to use node attributes instead of hard-coded values
Practice: Working with a Simple Web Server
- build a simple Apache cookbook that configures a "hello, world" page to serve on the localhost