Configuration management is a process for maintaining computer systems, servers, and software in a desired, consistent state. It’s a way to make sure that a system performs as it’s expected to as changes are made over time. And to automate this process Configuration Management Tools are used such as Ansible and Terraform.
RHCE: A Red Hat® Certified Engineer (RHCE®) is a Red Hat Certified System Administrator (RHCSA) who is ready to automate Red Hat® Enterprise Linux® tasks, integrate Red Hat emerging technologies, and apply automation for efficiency and innovation using Ansible.
Terraform: HashiCorp Terraform is an infrastructure as code tool that lets you define both cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share. You can then use a consistent workflow to provision and manage all of your infrastructure throughout its lifecycle.
We will provide LAB for practice as well as Gradable Assisted practice on various topics.
Must be RHCSA Certified or have equivalent Linux knowledge.
RHCE and Terraform
Understand core components of Ansible
Install and configure an Ansible control node
- Configuration files
- Get information of specific Ansible modules and Commands
Configure Ansible managed nodes
- Install required packages
- Create a static host inventory file
- Create a configuration file
- Create and use static inventories to define groups of hosts
- Manage parallelism
Script administration tasks
- Create and distribute SSH keys to managed nodes
- Configure privilege escalation on managed nodes
- Validate a working configuration using ad hoc Ansible commands
Create Ansible plays and playbooks
- Create simple shell scripts
- Create simple shell scripts that run ad hoc Ansible commands
Use Ansible modules for system administration tasks that work with:
- Know how to work with commonly used Ansible modules
- Use variables to retrieve the results of running a command
- Use conditionals to control play execution
- Configure error handling
- Create playbooks to configure systems to a specified state
Work with roles
- Software packages and repositories
- Firewall rules
- File systems
- Storage devices
- File content
- Scheduled tasks
- Users and groups
Use advanced Ansible features
- Create roles
- Download roles from an Ansible Galaxy and use them
- Create and use templates to create customized configuration files
- Use Ansible Vault in playbooks to protect sensitive data
- What is terraform ?
- Why is terraform needed ?
- Difference between Puppet , Ansible and Terraform.
- Terraform Workflow
- Understand Providers , Resources , State , Variables
- Referring registry.terraform and Terraform language (HCL)
- Terraform Commands
- Understand ins and out of HCl (HashiCorp Configuration Language)
- To install Terraform and verify installation .
- Basic Commands - apply , plan , refresh .
- To Build , Change , Destroy Infrastructure on Terraform .
- Working with different providers like
- Variables in Terraform
- Input vars : String, number, boolean
- Special vars: Lists and maps
- Data Sources in terraform
- Outputting data and Locals
Terraform for essentials of cloud automation
Working State files and Resource graphs
- AWS S3 Storage
- AWS VPC, Subnets, Gateway
- AWS EBS, ELB
- GCP Vms and Devops services
- Using Vaults like AWS Secrets manager, Hashicorp vault
- GCP Resources
- terraform.tfstate and terraform.tfstate.backup file
- Resource graphs in terraform
- Generating resource graphs
- Provisioning Linux instance with User data
- Generating Resource graph on deployed instance
- Local-exec and Remote-exec
- Terraform Module
- Module testing discussion
- Deploying Kubernetes services by calling modules
- Deploying Kubernetes Services with GKE/EKS