
Kurzy a certifikace Open Source
Chef
Cena (bez DPH)
In this course you will learn how to use Chef in order to turn infrastructure into code so that you can automate configuration, deployment and management of your servers.
Note: Every student has assigned to him his own virtual lab environment setup.
Audience
- DevOps engineers
- Linux system administrators
- Release engineers
- Infrastructure automation engineers
- Systems design engineers
Goals
At the end of the course, students will have a firm understanding of Chef basics, and will be able to:
- write and use Chef recipes and cookbooks
- write and use Chef recipes and cookbooks
- automate testing of cookbooks
- manage multiple nodes with Chef Server
- bootstrap nodes
- deploy nodes to environments
- create acceptance and production environments
Outline
Module 1: Introduction to DevOps - Positioning Chef in a CI/CD pipelineo
- DevOps Cultureo
- DevOps Tools overviewo
- Continuous Integrationo
- Continuous Deliveryo
- Continuous Deploymento
- Delivery vs. Deployment
Module 2: What is Chef
- What is Chef?
- Why use Chef?
Module 3: Chef Core Components
- Chef Architectureo Chef Architectureo
- ChefDK vs. Chef Workstationo
- Overview of Chef Server, Nodes and Supermarket
Hands-on Lab: Installing Chef Workstation and running the first “Hello world!” recipe.
Module 4: Chef Core Concepts
- Resourceso
- Recipeso
- Cookbookso
- Run Listso
- 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.
Hands-on Lab: 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”.
Module 5: Ohai
- Ohai Overviewo
- Ohai Configuration
Hands-on Lab: Using the Ohai plugin to acquire system attributes
Module 6: Chef Server
- Chef Server Overviewo
- Chef Server Componentso
- Dimensioning of the Chef Servero
- Installation of the Chef Servero
- The chef-client run
Hands-on Lab: Installing and configuring Chef Server
Hands-on Lab: Creating a local Chef repository (chef repo) and “talking” to the Chef Server
Module 7: Knife & Bootstrapping a node
- What is Knifeo
- Bootstrapping a node with knifeo
- Knife common options
Hands-on Lab: Bootstrapping a node with the “Knife” tool
Module 8: Cookbooks & Run-lists in the context of a Chef Server
- Creating and applying a run-listo
- 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.
Module 9: Working with Templates
- How to work with Templates – examples
Hands-on Lab: Using templates to generate dynamically populated files.
Module 10: Attributes
- Attributes Overviewo Attributes Overviewo
- Types of Attributeso
- How chef-client uses attributes
Hands-on Lab: Using attributes and templates to generate a “sudoers” file as well as a “hosts” file
Module 11: Using Libraries
- Libraries overviewo
- Libraries use cases
Hands-on Lab: Creating simple libraries and wrapper functions. Using custom code to determine OS family.
Module 12: The Chef Test Kitchen - a safe space for trial and error
- What is Test Kitchen?
- Kitchen Configurationo
- 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 profileso
- Making sure your recipes hit home
Hands-on Lab: Validating your test environment and recipes with Kitchen InSpec
Technical requirements
To attend this course, you need to have:
- PC/Laptop with internet access
- Updated web browser
Prerequisites
- basic Linux administration skills (user management, working with the command line, file permissions, etc.)
Information about certification
This course is designed to prepare for the exam certification in order to become a certified Associate DevOps Automation Engineer.