[Kurz] Program kurzu (obsah přednášky/semináře/rekvalifikace/studia) ...
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
* 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