Abstract
| Goal |
Provision hosts with templates. |
| Objectives |
|
| Sections |
|
| Lab |
|
Deploy new hosts with configured provisioning resources, network services, and installation parameters.
Red Hat Satellite 6 supports host provisioning on numerous compute platforms, including Red Hat products and other vendor platforms, including both public and private clouds. Provisioning methods support both bare metal and virtual machine instances, and can initiate provisioning by using network booting, boot images, and discovery or introspection services.
Satellite 6 refers to provisioning provider platforms as compute resources, which can be categorized into three provisioning types: bare metal, virtualization, and cloud. Each provisioning type has unique technical implementation features that determine the available tools and methods for provisioning hosts on each platform.
Most platforms also use their own form of a compute profile, where users can predefine hardware, such as CPUs, memory, and storage. The following narrative describes the provisioning types; lists the supported compute resources for each; and provides a brief summary of the contrasting provisioning characteristics:
You can provision bare-metal servers by using either manual or unattended methods. Provisioning can be initiated by a PXE network boot process, or from various forms of buildable boot disks. The installation process uses kickstart-based RPM package methods or third-party installation media.
For PXELinux provisioning, Satellite is capable of working with both BIOS and UEFI firmware and interfaces. Satellite can initially discover available blank hosts, and detect and store their hardware as a ready-to-provision host list.
Virtualization platforms support PXE network and kickstart-based package installations, although administrators might prefer image-based provisioning. Virtualization platforms create hosts by using profiles that predefine physical characteristics, which eliminates the need for host discovery. Satellite uses privileged account access to request a VM instance, and then continues with PXE or image-based provisioning. Satellite supports these platforms:
libvirt - A Red Hat Enterprise Linux hypervisor uses the Kernel-based Virtual Machine (KVM) virtualization daemon, which is accessed through the libvirt API.
Satellite connects to the libvirt API to provision hosts on the hypervisor and to control many virtualization functions.
You can instantiate hosts by using compute profiles that are configured in Satellite.
Red Hat Virtualization - RHV is an enterprise server and desktop virtualization platform that is built on Red Hat Enterprise Linux and is managed through a REST API. Satellite connects to the RHV API to create virtual machines and to control their power states. Hosts are created by using Satellite compute profiles that refer to templates and images that are configured and stored in RHV.
VMware - VMware vSphere is an enterprise virtualization platform from VMware. Satellite connects with the vSphere platform to create virtual machines and to control their power management states. Similar to RHV behavior, hosts are created by using Satellite compute profiles with templates and images that are configured and stored in VSphere.
Container-native Virtualization - Container-native Virtualization provides a development platform for applications that reside in application containers and VMs in a shared environment. With Red Hat Satellite, you can create compute resources for Container-native Virtualization, and provision and manage Kubernetes VMs.
The Container-native Virtualization compute resource is a Technology Preview feature. Thus, Red Hat does not recommend to use it in production.
For information about Red Hat scope of support for Technology Preview features, see the Technology Features Support Scope document at https://access.redhat.com/support/offerings/techpreview.
Satellite Server can interact with supported cloud providers. Cloud platforms typically include DHCP services in their infrastructure, and provide Satellite limited access to DNS. Satellite connects to a cloud management API to request a new host instance, which is then configured and registered by the cloud platform. The host then is booted by using a cloud-based image.
Satellite can connect to and manage the instance power states after you deploy them. Package-based installations are not recommended for cloud, due to high cost and bandwidth requirements. Provisioning on supported cloud platforms is discussed in a later chapter. Satellite 6.11 supports the following cloud platforms:
Red Hat OpenStack Platform - RHOSP is an Infrastructure-as-a-Service hybrid cloud platform for the development of cloud-enabled workloads.
Amazon Elastic Compute Cloud - Amazon EC2 is a web service that provides public cloud compute resources.
Google Compute Engine (GCE) - Satellite supports image-based provisioning only for creating GCE hosts.
Microsoft Azure Resource Manager - Microsoft Azure Resource Manager is a web service that provides a public cloud platform. Satellite supports image-based provisioning only for creating Azure Resource Manager hosts.
To configure Satellite to work with a provisioning provider, navigate to → and click to create a provider connection. Enter a name to identify the resource, and select the provider type from the list.
The platform type selection determines all the remaining fields on this screen. Typically, a compute resource connection requires a URL for the platform location, a username and password with sufficient privileges, and the needed security and structure information to deploy systems to the correct data centers, clusters, or projects on the platform.
The information that Satellite stores in compute profiles is specific to the platform that you create it for. To configure a compute profile, navigate to → and click . Choose an existing compute resource that defines the provider connection for which you want to use the compute profile. The selected compute resource determines the remaining fields on this screen. Typically, a compute profile specifies the CPU, memory, storage allocation, network interface configuration, an image to use, and additional platform-specific parameters.
Red Hat Satellite is continuously expanding the supported platforms, technologies, and capabilities. Covering all provisioning configurations is outside the scope of this course. The remainder of this narrative section focuses on bare-metal provisioning. To configure each of your supported compute platforms, follow the detailed procedures in the Provisioning Hosts product documentation.
You can provision bare-metal instances in Satellite 6.11 by using one of the following methods.
You can initiate provisioning by using a PXE network boot, or a boot disk, or UEFI HTTP boot.
Provisioning can continue with either an installation or, when using the Discovery service, listing the host as available for later manual or automated selection and installation.
Satellite identifies new hosts by a MAC address, and provisions the host by using a PXE boot process. The host obtains the kickstart tree and installation packages from Satellite.
New hosts use PXE boot to load the Satellite Discovery service.
This service identifies hardware information about the host, and lists it as an available host to provision by a later, manual user selection.
If you configure sufficient discovery rules, then the host might automatically begin installing the operating system when listed.
New hosts are provisioned with a boot disk or PXE-less discovery image that Satellite generates. Boot disks can be boot-only ISOs that point to an installation media URL, full distribution installation ISOs, or custom built ISOs for a defined use case. Boot disk types are described later in this section.
New hosts use an ISO boot disk that loads the Satellite Discovery service.
This service identifies hardware information about the host, and lists it as an available host to provision.
As described earlier, as a result the host is listed as available for manual or automated selection and installation.
If you must provision hosts in an IPv6 network, then UEFI HTTP Boot is the only available provisioning method. When you use this provisioning method, the host detects the defined DHCP service and receives the HTTP endpoint of Capsule, where it obtains the kickstart tree and installation packages.
Throughout this course, you create resources that are necessary for successful provisioning. The following list summarizes these necessary resources:
Synchronized content with repositories, subscriptions, and kickstart trees to make installable operating systems available.
Provisioning templates, partition tables, and activation keys to simplify the host configuration process.
Capsule Servers to provide or proxy DNS, DHCP, and TFTP services.
Domains and subnets to configure where the provisioned hosts will reside.
Compute resources and compute profiles to define the required compute platforms and parameters to initialize hosts at the start of provisioning.
You must ensure that those provisioning resources are available in the correct organization and location provisioning contexts. When these resources are ready, host provisioning begins by creating a host in the Satellite web UI.
To provision a host, you first create a host resource in Satellite Server for that host. The host resource groups all the resources that you prepared previously, such as the domain, the subnet, and the operating system. These resources define the templates to use for provisioning. The host resource can also provide an activation key for registration.
When you have similar hosts to create, Red Hat recommends that you first create a host group resource. A host group provides default values for all the provisioning parameters. Creating a host resource involves selecting the appropriate host group and setting the few remaining specific parameters.
Host groups simplify the host creation process and support consistent provisioning.
To create a host group, navigate to → , and then click . Choose a descriptive name for the host group, complete the form, and then click .
You can do the same from the command line by using the hammer hostgroup create command.
Run the hammer hostgroup create --help command to list all the parameters that you can define in a host group.
You can nest host groups in hierarchies. The idea is to create a base, or parent, host group that contains all the generic parameters for your organization. Then, you create nested, or child, host groups under that parent, to provide more specific settings (for example, to configure web servers or database servers).
Unattended provisioning is the simplest form of host provisioning. Enter the host details on Satellite and network boot your host. Satellite automatically manages the PXE configuration, organizes networking services, and provides the operating system and configuration for the host.
To create a host for unattended provisioning, navigate to → and enter a name for the new host. Ensure that the organizations and locations are set to your provisioning context requirements. Select a host group from the list for information to populate this screen. Configure networking parameters by editing the interface settings, including a fully qualified domain name and a MAC address, and ensure that the , , and options are selected for the first interface.
Verify that the tab's fields contain valid values. Click in the template to confirm that the new host can identify the right provisioning templates to use. Click the tab, and ensure that a parameter exists that provides an activation key. If the parameter does not exist, then add an activation key. Click to save the host details.
You can accomplish the same task from the command line:
[root@demo_satellite]#hammer host create --nameunattended_hostname\--organizationexample--locationlocation1\--hostgrouphost_group1--macaa:bb:cc:dd:ee:ff\--build true --enabled true --managed true
The created host entry includes all necessary provisioning settings and parameters for PXE to boot the bare-metal host. When network-booted, the host uses PXE to interact with the relevant Capsule Server DHCP service. From the DHCP service, the host obtains its assigned IP address and the needed information to load the boot image from the configured TFTP service. Then, the Capsule Server installs the operating system from the assigned Kickstart tree.
As part of the provisioning process, Satellite creates the DNS forward and reverse resolution records in the DNS service's zones. When the installation completes, the host uses the activation key to register to Satellite, and to install the necessary configuration and management tools from the Red Hat Satellite Tools repository. The host is now running and accessible on the network.
PXE provisioning might not be supported in some environments, or available in the firmware for some hardware. Satellite can perform PXE-less host provisioning by generating a boot ISO that hosts can use. By using this ISO, the host can connect to Satellite, boot the installation media, and complete an installation. You can use different ISO types to boot a host:
A boot ISO that contains the kernel and initial RAM disk image for the specific host. This image is useful if the host fails to correctly chain-load the operating system boot loader from Satellite Server due to hardware or firmware issues. The provisioning template still downloads from Satellite and defines the configuration. These images take significantly longer to generate and become out of date quickly when the operating system and associated templates change.
The image does not store IP address details, and requires access to a network DHCP server to bootstrap.
This image is available at the /bootdisk/disks/generic URL on your Satellite Server, for example, https://satellite.example.com/bootdisk/disks/generic, and does not need to be dynamically generated.
A boot ISO that is similar to the generic image but is configured with the address of a Capsule Server. This image is generic to all hosts with a provisioning NIC on the same subnet.
When the host configuration screen is completed in the Satellite web UI, the host detail page is displayed.
On this page, click to select the appropriate boot disk type to generate an iPXE boot image.
You can write the generated image to CD, DVD, USB stick, or memory cards, and then boot it locally from the host to initiate bare-metal provisioning.
Because the Host image uses user-defined static networking information, it does not require DHCP or TFTP services.
This method is then suitable for network environments where administrators who perform provisioning do not have the necessary access or control over network infrastructure.
Red Hat Satellite provides a method to automatically detect hosts on a network that are not in your Satellite inventory.
These hosts boot the discovery image that detects hardware, and relays this information to Satellite.
This method creates a list of ready-to-provision hosts in Satellite without needing to enter the MAC address of each host.
The Discovery service is enabled by default on Satellite.
The discovery image is installed to the /usr/share/foreman-discovery-image/ directory, and a PXE boot image is generated and saved in the /var/lib/tftpboot/boot directory.
Satellite configures the Capsule Server as a proxy for the Discovery service.
After the discovery configuration is complete, a new menu option is shown in the Satellite web UI at → .
To use the discovery service, boot a blank bare-metal host, and choose from the resulting boot menu to boot the Discovery image. When booting is finished, a status screen is displayed. In the Satellite web UI, navigate to → to view the newly discovered host. The discovered hosts automatically define their host name based on their MAC address.
Satellite also provides a PXE-less Discovery service that operates without the need for PXE-based services (DHCP and TFTP). The discovery ISO is bootable. You can write the ISO to CD, DVD, USB drives, or memory cards, and then boot it locally from the host to initiate discovery.
Insert the Discovery boot media into a bare-metal host, and boot from the media. The Discovery image displays an option menu with two choices:
- The Discovery image requests a set of network options, including the primary network interface that connects to Satellite Server, and the , , and server configuration parameters.
- The Discovery image requests only the primary network interface that connects to Satellite Server. The Discovery image attempts to automatically configure the network interface by using the configured DHCP server.
After the primary interface is configured, the Discovery image requests the URL of the Capsule Server that offers the Discovery service. The Discovery image provides fields to input custom facts, in a name-value format, for the Facter tool to relay to Satellite.
When Satellite reports a successful communication with the Discovery service, navigate to → to view the newly discovered host.
Provisioning discovered hosts follows a similar provisioning process to PXE provisioning. The main difference is that instead of manually entering the host's MAC address, you select the host to provision from the list of discovered hosts.
As a method of automating the provisioning process for discovered hosts, Red Hat Satellite 6 provides a feature to create discovery rules. These rules define how discovered hosts automatically provision themselves, based on the assigned host group. For example, you can automatically provision hosts with a high CPU count as hypervisors or provision hosts with large hard disks as storage servers.
For more information, refer to the Red Hat Satellite 6.11 Provision Hosts Guide at https://access.redhat.com/documentation/en-us/red_hat_satellite/6.11/html-single/provisioning_hosts/index