Red Hat Certified Engineer (RHEL 8 RHCE)
Linux Training Architect II in Content
The Red Hat Certified Engineer course will prepare you for the certification exam from Red Hat. This certification is intended to be earned by a current Red Hat Certified System Administrator (RHCSA). This course will prepare you for the performance based certification exam by Red Hat that is intended to demonstrate your knowledge, skills and experience as a senior system administrator that is responsible for Red Hat Enterprise Linux systems.
Notice: This is not an official Red Hat course created by or approved by Red Hat. Linux Academy is in no away affiliated with Red Hat, inc the company.
About the Course
Welcome to the Red Hat Certified Engineer for Red Hat Enterprise Linux 8 course. In this introduction, I will discuss the various topics that will be covered throughout the lessons and hands-on labs.
About the Author
Learn a little more about the training architect for this course, Matthew Pearson.
About the Exam
The Red Hat Certified Engineer exam is a hands-on endeavor that requires candidates to perform real world tasks. In this lesson, we will discuss the format of the exam and talk about what to expect.
Basic Red Hat Certified Administrator Skills
Understand and Use Essential Tools (Part 1)
In order to administer a server, it's necessary to understand the basic tools provided by the operating system. In Part 1 of this lesson, we will learn about the basic tools that are available in Red Hat Enterprise Linux 8, including: using SSH to log into a remote system, creating files and directories, using input/output redirection, and analyzing text.
Understand and Use Essential Tools (Part 2)
In order to administer a server, it's necessary to understand the basic tools provided by the operating systemn. In Part 2 of this lesson, we will learn about the basic tools that are available in Red Hat Enterprise Linux 8, including: archiving files and directories, escalating privileges, modifying file and directory permissions, and viewing system documentation.
Operate Running Systems
The ability to operate running systems is a fundamental skill for system administrators. In this lesson, we will learn how to shutdown and reboot a host, interrupt the boot process to change the root password, manage network services, view process and resource utilization, and copy files between remote systems.
Configure Local Storage
RHCE candidates are expected to know how to view and work with block storage devices. In this lesson, we will learn how to create partitions from block devices, and then see how to create logical volumes on those partitions.
Create and Configure File Systems
File systems are a major backbone of a Linux host. In this lesson, we will learn how to create and mount local and network file systems, and how to extend underlying logical volumes.
Deploy, Configure, and Maintain systems
A large part of system administration is installing and managing services, and managing the underlying host. In this lesson, we will learn how to configure a YUM repository and install packages, schedule tasks using `cron` and `at`, configure a system to boot into a specific target, and set up `chrony`.
Manage Users and Groups
System administrators need to have a solid understanding of creating, deleting, and managing users and groups. In this lesson, we will learn how to create users and groups, how to modify existing users and groups, and then we will grant `sudo` privileges to those users and groups.
Manage Security (Part 1)
Security is a fundamental part of administering a Red Hat Enterprise Linux system. In Part 1 of this lesson, we will learn about configuring the firewall using the `firewall-cmd` command, and see how to configure key-based authentication for SSH.
Manage Security (Part 2)
Security is a fundamental part of administering a Red Hat Enterprise Linux system. In Part 2 of this lesson, we will learn about SELinux and how to configure it to provide security on a Red Hat host.
Understand Core Components of Ansible
Inventories are what Ansible uses to locate and run against multiple hosts. In this lesson, we will discuss the format and content of an inventory file, the location of the default inventory file, and how inventory files can be specified when running a playbook or an Ansible ad hoc command.
Ansible uses modules in order to perform tasks on a specified host. In this lesson, we will learn about the different functions of modules and how they are used in Ansible.
The use of variables is a large part of working with Ansible. In this video, we will learn how variables are used in Ansible, as well as how they should be referenced.
By default, Ansible gathers facts whenever it reaches out to a target host. These facts are used to provide certain information about that host. In this lesson, we will learn more about Ansible facts and how they are used.
Plays and Playbooks
The goal of a play is to map a group of hosts to tasks that are to be performed on that host. Several plays may be put together into what is called a playbook. In this lesson, we will discuss plays and playbooks, and how they are used in Ansible in order to achieve a particular end state.
In order to administer Ansible, it is important to have a reasonable understanding of the various configurations that are available. In this lesson, we will cover the order in which configurations are processed, the location of the Ansible configuration files, and some of the common Ansible configurations.
Install and Configure an Ansible Control Node
Install Required Packages
Ansible is a very lightweight but powerful piece of software. In this video, we will learn how to install Ansible using both an Ansible YUM repository and from source using the Ansible Git repository.
Create a Static Host Inventory File
A host inventory file is used to define the list of hosts that Ansible manages. In this lesson, we will learn more about host inventory files, and how to create a custom inventory file.
Create a Configuration File
Ansible ships with several default settings that can be updated by modifying the Ansible configuration file, `ansible.cfg`. In this lesson, we will discuss the default Ansible configuration file and its settings, and then create a custom configuration file for our own installation.
Configure Ansible Managed Nodes
Create and Distribute SSH Keys to Manage Nodes and Configure Privilege Escalation
One of the most appealing things about Ansible as a configuration-management tool is that it does not require agents to be installed on the managed nodes. In this lesson, we will learn how to create and distribute SSH keys to the managed nodes so that the Ansible control node can interact with them.
Validate a Working Configuration Using Ad Hoc Ansible Commands
All that is required for the control node to perform configuration management is setting up access to the managed nodes via SSH keys. In this lesson, we will test our configuration and ensure that the control node has access to the managed nodes.
Script Administration Tasks
Create Simple Shell Scripts
An important skill of a Linux engineer is the ability to create and understand simple shell scripts. In this lesson, we will create and discuss some basic shell scripts that are used in everyday system administration.
Create Shell Scripts That Run Ad Hoc Ansible Commands
Ansible ad hoc commands are very useful for interacting with managed nodes. In this lesson, we will learn how to leverage Ansible ad hoc commands in shell scripts.
Create Ansible Plays and Playbooks
Know How to Work with Commonly Used Ansible Modules
By default, Ansible ships with a very large number of modules. In this lesson, we will learn about some of the more common modules that you are likely to use during Ansible administration.
Use Variables to Retrieve the Results of Running a Command
Sometimes, capturing the results of a running command is beneficial to making decisions throughout the rest of the playbook. In this playbook, we will learn how to use the `register` keyword in order to store the output of a command in a variable.
Use Conditionals to Control Play Execution
Conditionals are used to make decisions based on received output and discovered values. In this lesson, we will discuss several different keywords (including handlers, loop, and when) that are used to alter the behavior in a playbook.
Configure Error Handling
Even with an automation tool like Ansible, errors can occur during playbook execution. In this lesson, we will learn how to configure playbooks so that theyin handle both expected and unexpected errors.
Create Playbooks to Configure Systems to a Specified State
Playbooks are used to configure systems to a specified end state. In this lesson, we will learn how to create a playbook in order to configure a group of systems to a specified state.
Use Ansible Modules for System Administration Tasks
Software Packages and Repositories
The ability to install and update software is an important part of administering a system. In this lesson, we will learn how to use Ansible in order configure repositories and install software.
In addition to installing services on a host, Ansible also provides the ability to manage these services. In this lesson, we will learn how to use the `service` module to manage services.
Red Hat Enterprise Linux 8 uses `firewalld` to administer firewalls on the local system. In this lesson, we will learn about the `firewalld` module and how to use it in order to create and configure firewall rules.
Ansible provides modules that allow us to manage raw block devices. In this lesson, we will learn how to create partitions and use those partitions for logical volumes.
There are several different modules in Ansible that allow us to add or change the contents of a file. In this lesson, we will examine several modules and see how they can be used to manage file content.
File systems allow us to control how data is stored and retrieved on a computer. In this lesson, we will learn how to use the `filesystem` module in order to create new filesystems, and the `mount` command so that we can mount them.
Archiving is a great way to store and compress large groups of files and directories. In this lesson, we will learn how to use the `archive` module to create compressed archives, then see how to unpack them using the `unarchive` module.
Tasks and scripts can be scheduled on the command line in order to run at particular times or intervals. In this lesson, we will learn how to use the `cron` and `at` modules to schedule system tasks.
Security is a very important part of administering a system, and this is no different when it comes to using Ansible. In this lesson, we will learn about several modules that allow us to configure and manage SELinux on the host.
Users and Groups
Users and groups can be created from the command line with the `useradd` and `groupadd` commands. In this lesson, we will learn about the `user` and `group` modules, and see how they are used to create and manage users and groups.
Create and Use Templates to Create Customized Configuration Files
Variables are used to represent values that you have defined or values that have been gathered by Ansible. In this lesson, we will learn how to define our own variables and how to use variables that are gathered by Ansible within our playbooks.
Templates are very useful for creating configuration files, especially when coupled with variables whose values can change based on the host that the templates deploy to. In this lesson, we will learn how Ansible manages templates and how they can be deployed using the template module.
Create and Work with Roles
Roles provide a way to automatically load certain vars_files, tasks, and handlers based on a known file structure. In this lesson, we will learn how Ansible uses roles, what is expected in the directory structure, and how we can use RHEL system roles to manage system-level services.
Creating and Using Roles
In this lesson, we will learn how to create a custom role from scratch and execute that role in a playbook. This role will perform a variety of tasks and make use of the configurations that have been added within the appropriate role directories.
Ansible Galaxy is a large, public repository that is used for downloading and sharing roles. In this lesson, we will discuss the `ansible-galaxy` command and use it to install roles from the Ansible Galaxy website.
Parallelism with Ansible
In Ansible, parallelism is used to execute ad hoc commands and playbooks against multiple hosts at the same time. In this lesson, we will learn about parallelism and how it can be used in Ansible.
Protect Sensitive Data in Playbooks with Ansible Vault
Ansible Vault is used to safely secure files and variables in Ansible. In this lesson, we will learn about the functionality of Ansible Vault and how to use the `ansible-vault` command.
Using Ansible Vault in a Playbook
Ansible Vault lets you keep playbooks and files safe from unfriendly eyes. In this lesson, we will learn how to use Ansible Vault to protect our playbooks.
Being able to understand and use the Ansible documentation is an important skill for working with your Ansible installation. In this lesson, we will discuss the local documentation and how to use the `ansible-doc` command to find more information about Ansible modules.
Documentation on the Web
In addition to the local documentation, Ansible also provides documentation on the web. In this lesson, we will walk through the online documentation and take particular note of the user guide and module index.
Final Practice Exam
Congratulations on completing the Red Hat Certified Engineer course for Red Hat Enterprise Linux 8! In this lesson, we will discuss ways to prepare for the exam, signing up to take the exam, and then look at some suggestions for a next area of study.
Take this course and learn a new skill today.
Transform your learning with our all access plan.Start 7-Day Free Trial