Abstract
| Goal |
Configure Satellite Server for host provisioning. |
| Objectives |
|
| Sections |
|
| Lab |
|
Describe provisioning types and configure provisioning contexts and resources on Satellite Server and Satellite Capsule Servers.
Provisioning is the process of converting a system from a bare physical or virtual machine to a state where you deploy the system with a fully configured operating system. This process includes adding baseline software and any necessary configuration to place it into active duty.
A provisioning environment usually includes the following components:
Dispenses configuration information, such as IP addresses, Preboot eXecution Environment (PXE) images, and other information, including the addresses of network file servers.
Stores and shares all files that make up the operating system and installed applications on the network.
PXE hosts can boot from the network, so you do not require local physical installation media to start installing an operating system. The ability to boot from an image across the network relieves administrators of the burden of providing physical installation media locally to the hosts to initiate operating system installation.
A Kickstart file contains the complete set of instructions to install Red Hat Enterprise Linux on a new machine and bring it to a full state of readiness. This text file includes installation settings, options, and scripts.
Red Hat Satellite integrates all those components. It can also support the needed network services for system provisioning, such as DHCP, TFTP, and DNS.
Red Hat Satellite can provision bare-metal systems, virtualized infrastructures, and public and private clouds. With Red Hat Satellite, you can deploy systems on all these platforms by using the same tool and by following the same provisioning process.
Red Hat Satellite supports the following virtualization infrastructures:
Servers that run Kernel-based Virtual Machines (KVMs)
Red Hat Virtualization
VMware vSphere
On those infrastructures, Red Hat Satellite can provision virtual machines from existing templates, or images, or from PXE.
Red Hat Satellite supports the following cloud providers:
Red Hat OpenStack Platform
Amazon EC2
Google Compute Engine
Microsoft Azure Resource Manager
All those platforms provide an API that Red Hat Satellite uses for provisioning.
With PXE provisioning, you can deploy PXE-capable systems across the network without having to provide local installation media.
Even though system administrators widely use PXE provisioning, it is not an option in many data center environments where PXE, TFTP, or DHCP is not supported or cannot be under the control of Satellite Server due to the heterogeneous nature of the environment. For these scenarios, Red Hat Satellite offers a boot disk plug-in which supports the creation of boot ISO images. By booting from these images, you can provision systems on networks where DHCP and TFTP services are not available.
In addition to PXE and boot disk provisioning, Red Hat Satellite can also search for and discover non-provisioned hosts on the network, to prepare them for deployment. After Red Hat Satellite discovers the hosts, you can easily deploy those systems by using either PXE or boot-disk provisioning.
When preparing a system for deployment, you must often create specific configuration files for that system. For example, the Kickstart file must indicate the partition scheme, the configuration details of the network interfaces, and other specific items to the new machine.
To avoid creating static, one-off files to suit specific system and application requirements, Red Hat Satellite uses provisioning templates.
Provisioning templates use the Embedded Ruby (ERB) syntax. ERB is a feature of Ruby that enables generating any type of text from templates. By using ERB, templates combine plain text with Ruby code for flow control and variable substitution.
You can use the Satellite Server web UI to create templates. You cannot edit the default templates, which Satellite Server locks for protection. However, you can clone the protected templates and customize the copies. The default templates are available for all organizations and locations. The templates that you create or clone, however, belong by default to your current organization and location.
You can find provisioning templates in the Satellite Server web UI under → . The most common provisioning template types that Red Hat Satellite supports are as follows:
Table 8.1. Provisioning Template Types
| Template | Description |
|---|---|
| Provisioning | These templates provide the Kickstart files that Satellite Server uses for unattended operating system installation. |
| PXELinux, PXEGrub2 | PXE-based templates to use the correct kernel options. Use PXELinux for BIOS provisioning and PXEGrub2 for UEFI provisioning. |
| Finish | These templates contain scripts to customize hosts after the main provisioning process is complete.
You can use those templates only for hosts that you provision from images in virtual environments or cloud environments that do not support the user_data type. |
| user_data | The content of these templates is used for cloud images that accept user data.
These templates often provide data for the cloud-init program that runs inside images in Red Hat OpenStack Platform or Amazon EC2. |
| cloud_init | Configure a cloud-init client with the foreman plug-in to download the template from Satellite Server over HTTP or HTTPS. |
| Bootdisk | Use these templates for PXE-less boot methods. |
| ZTP | Zero Touch Provisioning templates. |
Each template type addresses a different stage of the provisioning workflow. For example, when you deploy a new virtual machine, the PXE provisioning process uses the PXELinux, Provision, and Finish provisioning templates:
Satellite Server deploys the PXELinux template to the TFTP server.
The new virtual machine boots in PXE mode and the PXELinux template directs the machine to the provisioning template.
The provisioning template automates the unattended installation of the operating system.
At the end of the installation, the provisioning template directs the installer to retrieve and execute the contents of the finish template.
Satellite Server is preinstalled with several provisioning templates. For the deployment of Red Hat Enterprise Linux, you usually use the following provisioning templates:
Table 8.2. Default Provisioning Templates for Red Hat Enterprise Linux
| Template type | Template name |
|---|---|
| Provisioning |
Kickstart default
|
| PXELinux |
Kickstart default PXELinux
|
| Finish |
Kickstart default finish
|
| user_data |
Kickstart default user data
|
Satellite Server also ships with snippet templates, which are reusable ERB code that other templates include.
Partition table templates provide the instructions to configure the disks of new hosts.
For example, the Kickstart default partition table template contains the kickstart instructions to partition and format the disks of new machines.
Provisioning templates call those partition table templates. With the disk configurations outside the provisioning templates, you can use the same provisioning template for several models of machines, and call a different partition table template depending on the disk size.
You can find the partition table templates in the Satellite Server web UI under → .
An operating system resource groups the templates that are specific to an operating system type.
For example, the default RedHat 9.0 operating system resource provides the provisioning, PXELinux, finish, user_data, and partition table templates to use when deploying Red Hat Enterprise Linux 9.0 hosts.
When you prepare a new machine for provisioning, you associate it with an operating system for Satellite Server to know which templates to use during the provisioning workflow.
In the Satellite Server web UI, click → to access the operating systems configuration page.
When you deploy systems across the network, you pass the target system a kickstart tree of files, which is enough to load a mini-kernel and the necessary drivers. Then the target system boots into that kernel, giving the target system enough tools to come back to the provisioning server and to start an installation by using the right protocols and tools. Therefore, for every operating system that you might configure for provisioning content hosts, you must also configure and sync that operating system's kickstart repositories. You can enable and synchronize the kickstart repositories from the Red Hat Content Delivery Network (CDN). A kickstart repository differs from standard repositories by containing boot images. Satellite uses the kickstart repositories to generate installation media for provisioning.
For example, to install new Red Hat Enterprise Linux 9 hosts, synchronize the following two repositories:
Red Hat Enterprise Linux 9 for x86_64 - BaseOS (Kickstart)
Red Hat Enterprise Linux 9 for x86_64 - AppStream (Kickstart)
Satellite uses only the package from those kickstart repositories during operating system installations. After Satellite installs and registers the hosts, the RPM repositories are used.
Hardware models can help you to run unattended installations on hosts that are based on the Scalable Processor Architecture (SPARC).
You can define a hardware model to ensure that the correct DHCP options, such as vendor class and hardware model, are configured for your specific server hardware.
For example, Sun SPARC systems can use the Jumpstart method to install operating systems; and by defining the precise model, the DHCP server can allocate leases correctly.
Generic hardware models for Intel-based servers are already configured, and so you do not need to define custom hardware models if you use only this class of hardware.
When Satellite registers a host that it did not build, Satellite generates hardware model information based on the facts (data) obtained by the Facter tool.
The Facter tool discovers and reports host facts, such as hardware characteristics, network settings, and operating system properties.
This information from the Facter tool can result in incorrect models or several similar models.
Use the foreman-rake models:consolidate command to consolidate similar models where possible.
For more information, see the Introduction and Configuring Provisioning Resources chapters in the Red Hat Satellite 6.11 Provisioning Hosts guide at https://access.redhat.com/documentation/en-us/red_hat_satellite/6.11/html-single/provisioning_hosts/index
For more information about ERB, see the Template Writing Reference appendix in the Red Hat Satellite 6.11 Managing Hosts guide at https://access.redhat.com/documentation/en-us/red_hat_satellite/6.11/html-single/managing_hosts/index#Template_Writing_Reference_managing-hosts