Chapter 5. Provisioning Concepts
An important feature of Red Hat Satellite is unattended provisioning of hosts. To achieve this, Red Hat Satellite uses DNS and DHCP infrastructures, PXE booting, TFTP, and Kickstart. Use this chapter to understand the working principle of these concepts.
5.1. PXE Booting
Preboot execution environment (PXE) provides the ability to boot a system over a network. Instead of using local hard drives or a CD-ROM, PXE uses DHCP to provide host with standard information about the network, to discover a TFTP server, and to download a boot image. For more information about setting up a PXE server see the Red Hat Knowledgebase solution How to set-up/configure a PXE Server.
5.1.1. PXE Sequence
- The host boots the PXE image if no other bootable image is found.
- A NIC of the host sends a broadcast request to the DHCP server.
- The DHCP server receives the request and sends standard information about the network: IP address, subnet mask, gateway, DNS, the location of a TFTP server, and a boot image.
-
The host obtains the boot loader
image/pxelinux.0
and the configuration filepxelinux.cfg/00:MA:CA:AD:D
from the TFTP server. -
The host configuration specifies the location of a kernel image,
initrd
and Kickstart. - The host downloads the files and installs the image.
For an example of using PXE Booting by Satellite Server, see Provisioning Workflow in the Provisioning Guide.
5.1.2. PXE Booting Requirements
To provision machines using PXE booting, ensure that you meet the following requirements:
Network requirements
- Optional: If the host and the DHCP server are separated by a router, configure the DHCP relay agent and point to the DHCP server.
Client requirements
- Ensure that all the network-based firewalls are configured to allow clients on the subnet to access the Capsule. For more information, see Figure 2.1, “Satellite Topology with Isolated Capsule”.
- Ensure that your client has access to the DHCP and TFTP servers.
Satellite requirements
- Ensure that both Satellite Server and Capsule have DNS configured and are able to resolve provisioned host names.
- Ensure that the UDP ports 67 and 68 are accessible by the client to enable the client to receive a DHCP offer with the boot options.
- Ensure that the UDP port 69 is accessible by the client so that the client can access the TFTP server on the Capsule.
- Ensure that the TCP port 80 is accessible by the client to allow the client to download files and Kickstart templates from the Capsule.
- Ensure that the host provisioning interface subnet has a DHCP Capsule set.
- Ensure that the host provisioning interface subnet has a TFTP Capsule set.
- Ensure that the host provisioning interface subnet has a Templates Capsule set.
- Ensure that DHCP with the correct subnet is enabled using the Satellite installer.
- Enable TFTP using the Satellite installer.
5.2. HTTP Booting
You can use HTTP booting to boot systems over a network using HTTP.
5.2.1. HTTP Booting Requirements
To provision machines through HTTP booting ensure that you meet the following requirements:
Network requirements
- Optional: If the host and the DHCP server are separated by a router, configure the DHCP relay agent and point to the DHCP server.
Client requirements
- Ensure that all the network-based firewalls are configured to allow clients on the subnet to access the Capsule. For more information, see Figure 2.1, “Satellite Topology with Isolated Capsule”.
- Ensure that your client has access to the DHCP and TFTP servers.
Satellite requirements
- Ensure that both Satellite Server and Capsule have DNS configured and are able to resolve provisioned host names.
- Ensure that the UDP ports 67 and 68 are accessible by the client so that the client can send and receive a DHCP request and offer.
- Ensure that the TCP port 8000 is open for the client to download files and Kickstart templates from the Capsule.
- Ensure that the host provisioning interface subnet has a DHCP Capsule set.
- Ensure that the host provisioning interface subnet has a HTTP Boot Capsule set.
- Ensure that the host provisioning interface subnet has a Templates Capsule set.
Update the
grub2-efi
package to the latest version:# satellite-maintain packages install grub2-efi
5.3. Kickstart
You can use Kickstart to automate the installation process of a Red Hat Satellite or Capsule Server by creating a Kickstart file that contains all the information that is required for the installation. For more information about Kickstart, see Kickstart Installations in the Red Hat Enterprise Linux 7 Installation Guide.
5.3.1. Workflow
When you run a Red Hat Satellite Kickstart script, the following workflow occurs:
- It specifies the installation location of a Satellite Server or a Capsule Server.
- It installs the predefined packages.
- It installs Red Hat Subscription Manager.
- It uses Activation Keys to subscribe the hosts to Red Hat Satellite.
-
It installs Puppet, and configures a
puppet.conf
file to indicate the Red Hat Satellite or Capsule instance. - It enables Puppet to run and request a certificate.
- It runs user defined snippets.