Preparing to install Katello

Katello, as with Pulp, only installs (at the time of writing) on Enterprise Linux 7 variants—so here, again, we will use the latest stable release of CentOS 7. The requirements for Katello change from time to time as the product grows, and it is always worth reviewing the installation documentation for yourself before proceeding. At the time of writing, version 3.12 is the latest stable release, and the installation documentation can be found here: https://theforeman.org/plugins/katello/3.12/installation/index.html. Now, let's follow these steps:

  1. As before, our biggest concern is ensuring we have sufficient disk space allocated, and just as for a standalone Pulp installation, we must ensure that we have enough disk space allocated in /var/lib/pulp and /var/lib/mongodb for all of the Linux distributions we may wish to mirror. Again, as with Pulp, they should be separate from the root volume to ensure that if one fills up, the entire server does not die.
  2. With the filesystem set up, our first step is to install the required repositories so that all required packages for installation can be downloaded—this requires setting up several external repositories that provide packages not included by default with CentOS 7. The following commands set up the repositories for Katello, Foreman, Puppet 6, and the EPEL repository before actually installing the Foreman release package tree:
$ yum -y localinstall https://fedorapeople.org/groups/katello/releases/yum/3.12/katello/el7/x86_64/katello-repos-latest.rpm
$ yum -y localinstall https://yum.theforeman.org/releases/1.22/el7/x86_64/foreman-release.rpm
$ yum -y localinstall https://yum.puppet.com/puppet6-release-el-7.noarch.rpm
$ yum -y localinstall https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ yum -y install foreman-release-scl
  1. From here, it is recommended to bring the base system fully up to date:
$ yum -y update
  1. The final step before the actual installation is to install the Katello package and its dependencies:
$ yum -y install katello
  1. From here on, all installation tasks are performed with the foreman-installer command—there are a huge plethora of options that can be specified and, with most of them, if you need to change your decision, you can run the installer again with the different flags and it will perform the changes without any data loss. To see all possible options, run the following command:
$ foreman-installer --scenario katello --help
  1. To build our demo server, the defaults will mostly suffice—however, if you explore the options, you will see that many will need to be specified in an enterprise setting. For example, SSL certificates can be specified at install time (rather than relying on self-signed ones that will be generated otherwise), default secrets for underlying transports are set, and so on. It is highly recommended that you review the output of the preceding command for yourself when installing in a production setting. For now, we will issue the following installation command to initiate the installation:
$ foreman-installer --scenario katello --foreman-initial-admin-password=password --foreman-initial-location='London' --foreman-initial-organization='HandsOn'

This is probably the simplest possible installation case for a Katello server, and it perfectly serves our examples in this book. However, in a Production environment, I highly recommend that you explore the more advanced installation features to ensure that the server will meet your requirements, especially where security and availability are concerned. This is left as an exercise for you to explore.

Note that, in this scenario, the installer checks several prerequisites, including that the forward and reverse DNS lookups for the Katello server name resolve correctly and that the machine has 8 GB of RAM available. The installer will refuse to proceed if these prerequisites are not met.
  1. The Katello installation should run to completion provided all prerequisites have been met, and once completed, you should be presented with a screen similar to the one shown in the following screenshot, detailing the login details, as well as other pertinent information such as how to set up a proxy server for another network if required:

  1. The only task not completed by the installer is setting up the local firewall on the CentOS 7 machine. Luckily, there is a FirewallD service definition included with Katello that covers all of the services likely to be required—this derives its named from the commercial Red Hat Satellite 6 product and can be enabled by running the following commands as root:
$ firewall-cmd --permanent --zone=public --add-service=RH-Satellite-6
$ firewall-cmd --reload
  1. With those steps completed, it will be possible to load the web interface of Katello and log in with the details shown:

Technically speaking, Katello is a module that sits on top of Foreman and provides important features that we will look at later in this chapter—for example, a web UI for the Pulp repository management system that is also installed behind the scenes. Hence, the Foreman branding of the code stands out, and you will find the name comes up frequently. Once logged in, you should be presented with the default dashboard page, and we can start to configure some repositories for patching purposes, which we will commence in the next section.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset