In this course you will witness a demonstration of a Chef workstation, where the ChefDK is installed, within virtual machines provisioned with Vagrant and Virtualbox.
- [Instructor] I want to introduce you to my lab environment you'll see me demonstrating in this class. For this Chef course, I'll be demonstrating two separate architectures. Initially I'll be using a virtual workstation to demonstrate the power of using Chef right away. Later on, I'll demonstrate using more of a common production architecture that includes a Chef Server. For our first architecture we'll actually be using a virtual workstation that's configured with the Chef Tools.
I'll be setting this up with Vagrant and VirtualBox. Later in this course you'll see me demonstrating a second, more production-like architecture. This will involve using a Chef Server to manage many different servers that we will call nodes. There are many ways to set up a Chef development environment. But again, in this class I'm going to get started with Vagrant and VirtualBox. If you'd like to follow along, you will need these tools configured on your personal machines.
Inside of this virtual machine, I'll be installing the Chef development kit. And also a text editor, like Vim, Emacs, or Nano to edit basic files. Once we move towards our production architecture we'll be working with a Chef Server. And this is designed to be able to manage nodes that are provisioned by any means possible. This means a Chef Server could actually control virtual machines, Docker containers, cloud instances, or even a bare metal machine.
In this class, for my production environment, I'll be managing Centos-based nodes that I'll provision with AWS. This course is intended to demonstrate the power of the Chef platform. And therefore is focused on the Chef architecture and not the complexities of managing instances with a cloud provider like Amazon web services or Microsoft Azure. You're welcome to follow along with the course exercises, but please understand that they are intended more as a demonstration of the platform rather than a step-by-step guide.
Further resources will be provided at the end of class for self-study, so you can practice everything that I've demoed at your own pace. If you have access to the exercise files for the class, you can download them and follow along. Inside of the exercise files folder, there will be a folder for each chapter. Inside of each chapter folder will be a folder for each video. Here you will find both a begin state and an end state for each of the exercise files, so that you can check your work as you go along.
- Configuration management
- Using Chef
- Installing the Chef development kit (ChefDK)
- Provisioning a CentOS instance
- Using recipes and the Apache cookbook
- Working with nodes and node objects
- Using templates and embedded Ruby
- Hosting a Chef server
- Provisioning nodes with AWS
- Testing deployments with Kitchen
- Exploring the Chef Supermarket
- Resolving dependencies with Berkshelf
- Working with server roles, environments, and data bags