Deploying Red Hat Enterprise Linux Atomic Host with Red Hat Satellite 6
With the ever changing landscape in IT, many enterprise environments are looking for ways to reduce or eliminate downtime, improve security, reduce footprint, and achieve application portability. Red Hat Enterprise Linux Atomic Host provides a way to achieve these goals. In this blog we cover the steps needed to setup Satellite 6 to deploy RHEL Atomic Hosts within your environment.
The Environment
The lab environment consists of a single Satellite 6 server running an integrated capsule providing DNS, DHCP, TFTP, Puppet CA, Puppet, and Pulp services on a dedicated network. The Satellite 6 server is hosted as a VM on a Red Hat Enterprise Virtualization environment.
The Meat and Potatoes
Step 1
Download the RHEL Atomic image from: https://access.redhat.com/downloads/content/271/ver=/rhel---7/7.1.1/x86_64/product-downloads
Step 2
Mount the .iso on the Satellite server to /var/www/html/pub/atomicpxe:
mount -o loop /var/www/html/pub/rhel-atomic-installer-7.1-1.x86_64.iso /var/www/html/pub/atomicpxe/
Step 3
Copy vmlinuz from the mounted .iso to /var/lib/tftpboot:
cp /var/www/html/pub/atomicpxe/images/pxeboot/vmlinuz /var/lib/tftpboot
Step 4
Create new PXE and provisioning templates within Satellite 6 by navigating to Hosts> Provisioning templates . Click New Templatein the upper right. RHEL Atomic Kickstart is set to provision for Type and RHEL Atomic PXE is set to PXELinux for Type.
RHEL Atomic PXE:
RHEL Atomic PXE:
DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
kernel vmlinuz
append initrd=http://10.19.12.248/pub/atomicpxe/isolinux/initrd.img repo=http://10.19.12.248/pub/atomicpxe ks=<%= foreman_url('provision')%> ksdevice=bootif network kssendmac
IPAPPEND 2
RHEL Atomic kickstart:
<%#
kind: provision
name: RHEL Atomic Kickstart
%>
lang en_US.UTF-8
keyboard us
timezone America/New_York
rootpw <redacted>
clearpart --all --initlabel
part /boot --size=300 --fstype="ext4"
part pv.01 --grow
volgroup atomicos pv.01
logvol / --size=3000 --fstype="xfs" --name=root --vgname=atomicos
bootloader --timeout=3
ostreesetup --nogpg --osname=rhel-atomic-host --remote=rhel-atomic-host --url=file:///install/ostree --ref=rhel-atomic-host/7/x86_64/standard
services --disabled cloud-init,cloud-config,cloud-final,cloud-init-local
%post
(
# report success back to satellite
# TODO: move to atomic register snippet
curl -s -o /dev/null --insecure <%= foreman_url %>
) 2>&1 | tee /mnt/sysimage/root/install.post.log
exit 0
%end
reboot
Step 5
Within the Satellite UI, select the organization and location under Any Context in the upper left. Navigate to Hosts> Installation Mediaand click New Medium.Provide a name and path to the install image.
For this environment the path is: http://
Associate the Operating system type as Red Hat.
Step 6
Navigate to Hosts> Operating Systemsand select New Operating System. For the reference environment the following values are used:
- Name: RHELAtomic
- Partion Table: Kickstart default
- Installation Media: RHEL Atomic (created in Step 4)
- Templates: RHEL Atomic PXE and RHEL Atomic Kickstart (created in Step 3)
Step 7
Provision a new baremetal host by navigating to Hosts > New Hosts. Supply the appropriate information for the environment and select the RHEL Atomic operating system and associated provisioning templates by clicking the Resolve button. (created in Step 5)
Touchdown!
By following the listed steps you are now successfully able to provision RHEL Atomic Hosts from your Satellite 6 server. The hosts will register back to the server and be listed under Hosts> All hosts.
Additional Items
Re-provisioning
In some instances it may be necessary to re-build an already deployed host. To perform this step, navigate to Hosts > All hosts and select the desired host from the list. In the upper right select Build. Reboot the host and it will re-provision based on previous settings used.
Enhanced functionality
In future releases of Satellite 6, additional support will be added for RHEL Atomic Hosts to include containerization of the katello-agent, ostree updates, and tighter integration for provisioning to name a few. Stay tuned!
Comments