Working With Chef
=====
—–
Course Id: DEVO-CHEF
Duration: 24 Hours
Overview
—–
* Infrastructure automation and management has become very popular recently
* This course provides a solid foundation in managing a large number of servers using Chef
* Chef is an operations management platform used by many large organizations
Pre-Requisites
——-
* Using a text editor
* Working on the command line
* Basic system administration
* Package installation
* Service administration capabilities
* Shell Scripting
Training Objectives
——
All participants learn to:
* Use Chef to deploy infrastructure as code
* Manage a large number of servers
* Use the chef-client on Linux and Windows platforms
Course Structure
—–
* We provide more focus on hands-on in our technical courses (typically 80% hands-on/20% theory)
* Students get the capability to apply the material they learn to real-world problems
Materials Provided
—–
* All participants receive
* PDF of slides
* PDF of handson
* Access to instance with lab environment
Software Requirements
—–
Any of the following
* Any current internet browser
* vnc client
* rdp client
Hardware Requirements
—–
* Processor: 1.2 GHz+
* RAM: 512 MB+
* Disk space: 1 GB+
* Network Connection with low latency (<250ms) to Internet
## Daywise Course Outline
—–
## Day 1
—–
* Unit 1 : Infrastructre As Code
* Unit 2 : Introducing Chef
* Unit 3 : Recipes and Cookbooks
* Unit 4 : Capturing System Details with Ohai
## Day 2
—–
* Unit 5 : Attributes
* Unit 6 : Managing Variables with Templates
* Unit 7 : Testing Cookbooks
* Unit 8 : Chef Workstation Setup
## Day 3
—–
* Unit 9 : Centralized Management
* Unit 10 : Community Cookbooks
* Unit 11 : Multi-Node Infrastructure Management
* Unit 12 : Custom Run-lists with Roles
## Day 4
—–
* Unit 13 : Dynamic Search
* Unit 14 : Environments
* Unit 15 : Automating chef-client Runs
* Unit 16 : Manage User Accounts
## Detailed Outline
—–
Unit 1 : Infrastructre As Code
* Review Traditional scripting
* Why automate infrastructure?
* Infrastructure as Code
Unit 2 : Introducing Chef
* The Fundamental Building Blocks
* The Resource DSL (Domain-Specific Language)
* Common Resources – package, file, service, script
* Test-and-Repair: System State Management
Unit 3 : Recipes and Cookbooks
* Organizing Recipes with Cookbooks
* Generating and maintaining cookbooks
* Cookbook components and features
* Source Control and Collaboration with Git
Unit 4 : Capturing System Details with Ohai
* System Profiling with Ohai
* How the chef-client gathers data
* Accessing Attributes on the Node Object
Unit 5 : Attributes
* Data-Driven Cookbooks
* User-Defined Node Attributes
* Platform-Independent Recipes
* Attribute Precedence
Unit 6 : Managing Variables with Templates
* File Resources – template, cookbook_file, remote_file
* Embedded Ruby Templates
* ERB Syntax
Unit 7 : Testing Cookbooks
* An Introduction to Test-Kitchen
* Configuring Test Kitchen
* The .kitchen.yml file
* Deploying Docker Testing Instances
Unit 8 : Chef Workstation Setup
* Installing Chef Tooling Locally
* Placing Sample Scripts
Unit 9 : Centralized Management
* The Chef Infra Server
* Push vs Pull Architectures
* Using Hosted Chef
* Chef Infra Server Organizations
* Users and Policy
* The Chef Starter Kit
* chef-repo/ components
Unit 10 : Community Cookbooks
* The Chef Supermarket
* Wrapper Cookbooks
* Dependency Management
* Recipe Cookbooks
* Library Cookbooks
* Comparison
Unit 11 : Multi-Node Infrastructure Management
* Bootstrapping Nodes
* Querying for Node Details with knife
* Managing and Assigning Runlists
Unit 12 : Custom Run-lists with Roles
* Bulk Node Management with Roles
* Role Syntax and Structure
* Role Limitations
* Role Cookbooks
Unit 13 : Dynamic Search
* Chef Server Indices
* Searching with knife
* Debugging with Search
* The search Recipe Method
Unit 14 : Environments
* Development versus Production
* Methods for Creating and Assigning Environments
* Change Control
* Version Restrictions
* Override Attributes
Unit 15 : Automating chef-client Runs
* The chef-client Community Cookbook
* Common Convergence Intervals and Offsets
* Service Recipes
* Task Recipes
* Comparison
Unit 16 : Manage User Accounts
* Using Databags
* Custom Chef Server Indexes
* Creating and Uploading Data Bags
* Managing Users and Groups
