Mastering Chef

Build, deploy, and manage your IT infrastructure to deliver a successful automated system with Chef in any environment

Mastering Chef

This ebook is included in a Mapt subscription
Mayank Joshi

1 customer reviews
Build, deploy, and manage your IT infrastructure to deliver a successful automated system with Chef in any environment
$0.00
$18.00
$44.99
$29.99p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781783981564
Paperback374 pages

Book Description

Chef is a configuration management tool that turns IT infrastructure into code. Chef provides tools to manage systems at scale. This book will take you through the Chef code, tools, and components to manage your environments using the Chef server efficiently. The book starts with an introduction to the Chef ecosystem, taking you through the terminologies used in Chef, the anatomy of a chef-client run, and Chef solo. You will learn how to use Knife and its associated plugins to accomplish daily routine tasks in a more efficient way. You will also learn how to speed this up by using Ruby with Chef, which will allow you to write more efficient infrastructure code. This book then introduces you to cookbooks and how to extend chef-client through the use of Lightweight Resource/Provider. It tells you how to keep all kind of configurations in key-value pair efficiently, by introducing you to data bags and templates. Then you will get a walkthrough of Chef's wonderful APIs and the extended functionalities of Chef. By the end of the book you will be so well-versed with Chef that you'll be able to explore some fun uses of Chef, which will allow for better productivity.

Table of Contents

Chapter 1: Introduction to the Chef Ecosystem
Different modes of running Chef
Terminology used in the world of Chef
The anatomy of a Chef run
Setting up a work environment
Summary
Chapter 2: Knife and Its Associated Plugins
Introducing Knife
Summary
Chapter 3: Chef and Ruby
Ruby
IRB
Variables and types
Symbols
Basic operations
Conditional statements and loops
Methods
Arrays
Bang methods
Hashes
Classes and objects
Summary
Chapter 4: Controlling Access to Resources
The bootstrap process
Authentication
Authorization
Summary
Chapter 5: Starting the Journey to the World of Recipes
Resources
Recipes
Best practices when writing recipes
Summary
Chapter 6: Cookbooks and LWRPs
Cookbooks
Custom resources
Summary
Chapter 7: Roles and Environments
Managing roles
Managing environments
Setting up an environment on a node
Role and environment attributes
Environment run lists
Summary
Chapter 8: Attributes and Their Uses
Attribute naming
Different types of attributes
Different sources of attributes
Attribute precedence
Attribute whitelisting
Summary
Chapter 9: Ohai and Its Plugin Ecosystem
Running the Ohai binary
Ohai plugins
Custom plugins
Summary
Chapter 10: Data Bags and Templates
Data bags
Templates
Summary
Chapter 11: Chef API and Search
Prerequisites for using Chef API
Authentication of requests
Endpoints
Search
Ridley
Summary
Chapter 12: Extending Chef
Custom Knife plugins
Custom Chef handlers
Summary
Chapter 13: (Ab)Using Chef
The dynamic server list in Capistrano using Chef
Capistrano style deployments using Chef's "deploy" resource
Extending Chef to bootstrap distributed systems
Test-driven development with Chef
Types of tests
Summary

What You Will Learn

  • Get familiar with the Chef ecosystem and its associated components
  • Use Ruby and Chef together to write effective infrastructure code
  • Explore various aspects of the Chef API, such as using search in a recipe and with the help of the Knife plugin
  • Write recipes and custom Lightweight Resource/Provider
  • Discover the usage of data bags and templates to customize servers
  • Extend the functionalities of Chef using custom Ohai and Knife plugins

Authors

Table of Contents

Chapter 1: Introduction to the Chef Ecosystem
Different modes of running Chef
Terminology used in the world of Chef
The anatomy of a Chef run
Setting up a work environment
Summary
Chapter 2: Knife and Its Associated Plugins
Introducing Knife
Summary
Chapter 3: Chef and Ruby
Ruby
IRB
Variables and types
Symbols
Basic operations
Conditional statements and loops
Methods
Arrays
Bang methods
Hashes
Classes and objects
Summary
Chapter 4: Controlling Access to Resources
The bootstrap process
Authentication
Authorization
Summary
Chapter 5: Starting the Journey to the World of Recipes
Resources
Recipes
Best practices when writing recipes
Summary
Chapter 6: Cookbooks and LWRPs
Cookbooks
Custom resources
Summary
Chapter 7: Roles and Environments
Managing roles
Managing environments
Setting up an environment on a node
Role and environment attributes
Environment run lists
Summary
Chapter 8: Attributes and Their Uses
Attribute naming
Different types of attributes
Different sources of attributes
Attribute precedence
Attribute whitelisting
Summary
Chapter 9: Ohai and Its Plugin Ecosystem
Running the Ohai binary
Ohai plugins
Custom plugins
Summary
Chapter 10: Data Bags and Templates
Data bags
Templates
Summary
Chapter 11: Chef API and Search
Prerequisites for using Chef API
Authentication of requests
Endpoints
Search
Ridley
Summary
Chapter 12: Extending Chef
Custom Knife plugins
Custom Chef handlers
Summary
Chapter 13: (Ab)Using Chef
The dynamic server list in Capistrano using Chef
Capistrano style deployments using Chef's "deploy" resource
Extending Chef to bootstrap distributed systems
Test-driven development with Chef
Types of tests
Summary

Book Details

ISBN 139781783981564
Paperback374 pages
Read More
From 1 reviews

Read More Reviews