Visão Geral
Neste Curso Chef Fundamentals, você aprenderá como usar o Chef para transformar infraestrutura em código para automatizar a configuração, implantação e gerenciamento de seus servidores.
Conteúdo Programatico
Introduction to DevOps – Positioning Chef in a CI/CD pipeline
- DevOps Culture
- DevOps Tools overview
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
- Delivery vs. Deployment
What is Chef?
- What is Chef?
- Why use Chef?
Module 3: Chef Core Components
- Chef Architecture
- ChefDK vs. Chef Workstation
- Overview of Chef Server, Nodes and Supermarket
- Hands-on Lab: Installing Chef Workstation and running the first “Hello world!” recipe
Chef Core Concepts
- Resources
- Recipes
- Cookbooks
- Run Lists
- Configuration Drift
Hands-on Lab:
Creating simple recipes and making use of the “file” resource to create specific files, using the “user” and “group” resources to create a new user.
Generating cookbooks and using the “package” and “service” resources to install system packages and activating services. Using the “bash” resource to execute arbitrary code. Conditioning with “guards”.
Ohai
- Ohai Overview
- Ohai Configuration
- Hands-on Lab: Using the Ohai plugin to acquire system attributes
Chef Server
- Chef Server Overview
- Chef Server Components
- Dimensioning of the Chef Server
- Installation of the Chef Server
- The chef-client run
Hands-on Lab:
- Installing and configuring Chef Server
- Creating a local Chef repository (chef repo) and “talking” to the Chef Server
Knife & Bootstrapping a node
- What is Knife
- Bootstrapping a node with knife
- Knife common options
- Hands-on Lab: Bootstrapping a node with the “Knife” tool
Cookbooks & Run-lists in the context of a Chef Server
- Creating and applying a run-list
- Good practices
- Hands-on Lab: Applying a run-list to a bootstrapped node and executing Chef remotely (running the chef-client). Creating a basic “web-server” on the remote node. Managing a remote node.
Working with Templates
- How to work with Templates – examples
- Hands-on Lab: Using templates to generate dynamically populated files.
Module 10: Attributes
- Attributes Overview
- Types of Attributes
- How chef-client uses attributes
- Hands-on Lab: Using attributes and templates to generate a “sudoers” file as well as a “hosts” file.
Using Libraries
- Libraries overview
- Libraries use cases
- Hands-on Lab: Creating simple libraries and wrapper functions. Using custom code to determine OS family.
The Chef Test Kitchen – a safe space for trial and error
- What is Test Kitchen?
- Kitchen Configuration
- Kitchen use cases
- Hands-on Lab: Creating a test environment inside a Docker container with Test Kitchen.
Module 13: Kitchen “InSpec”
- What is InSpec?
- InSpec profiles
- Making sure your recipes hit home
- Hands-on Lab: Validating your test environment and recipes with Kitchen InSpec.