Automation Murmurings

Menu
Menu

Installing Katello on CentOS 7

Posted on September 10, 2019September 11, 2019 by Werner

Katello is a plugin for Foreman that provides the functionality to manage the patching life cycle of servers.
It should be noted that, even if Katello is a plugin, one cannot install Katello on a existing Foreman install – it WILL break things.
Best to start with a fresh install…

This first post will cover the initial install of Katello as central management server for an organisation. We will use Katello for DNS provision as well.

For the demo, we will use a VM guest running on VMWare 6.7. Hardware settings will be 4vCPU and 16Gb RAM. Initially we will start with a 3-disk LVM setup, a 1Gb drive for /boot, a 10Gb drive for the system, and a 80Gb drive for the pulp data. If this will be used as a production server, the storage will have to be sufficiently upgraded.

At the time of writing, the latest GA version of Katello was 3.12. Install the relevant yum repositories in order to source the packages.

Prior to running the installer, the machine should be set up with a time service such as ntpd or chrony, since several Katello features will not function well if there is minor clock skew.

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

Ensure the system is up to date:

[root@katello ~]# yum upgrade
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: centos-distro.cavecreek.net
No packages marked for update

Next, install the Katello package:

yum -y install katello

This will download and install the ~500 packages required to run Katello, so it might take a few minutes to complete.

Katello is hugely configurable, so check out all the options and tweak the installer as neccesary. To see the options, run

foreman-installer --scenario katello --help

For this install, we’ll start with enabling VMWare integration, and only DNS and TFTP services enabled.

So, for this example, we’ll use the following switches:

foreman-installer  --scenario katello \
\
--lock-package-versions \
-v \
-l \
--enable-foreman-compute-vmware \
--foreman-puppetrun=true \
\
--foreman-proxy-dns=true \
--foreman-proxy-dns-forwarders=8.8.8.8 \
--foreman-proxy-dns-forwarders=8.8.4.4 \
--foreman-proxy-dns-interface=ens192 \
--foreman-proxy-dns-listen-on=both \
--foreman-proxy-dns-reverse=50.168.192.in-addr.arpa \
--foreman-proxy-dns-zone=ics.dmz \
\
--foreman-proxy-tftp=true \
--foreman-proxy-tftp-listen-on=both \
--foreman-proxy-tftp-managed=true \
--foreman-proxy-tftp-servername=$(hostname) \
\
--foreman-proxy-dhcp=true \
--foreman-proxy-dhcp-gateway="192.168.50.245" \
--foreman-proxy-dhcp-listen-on=both \
--foreman-proxy-dhcp-nameservers="192.168.50.245,192.168.1.1,8.8.8.8" \
--foreman-proxy-dhcp-range="192.168.50.150 192.168.50.199" \
--foreman-proxy-dhcp-search-domains="ics.dmz" \
\
--foreman-initial-admin-email=REDACTED \
--foreman-initial-admin-first-name=Werner \
--foreman-initial-admin-last-name='van der Merwe' \
--foreman-initial-admin-password=7XTFGRPxC4mWcZDv

Once that completes, we should be able to navigate to (in our case) https://katello.ics.dmz providing we made provisioning for the DNS resolution.

If you cannot reach the site, firstly ensure that you have a firewall rule allowing traffic.

To see if https and http are allowed:

firewall-cmd --list-all

If https is not in the services line, you can add it as follow:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Browsing to the URL now, should bring you to an non-trusted page:

This is expected, and one can import the cert from http://katello.ics.dmz/pub/katello-server-ca.crt

This will be important if one want to set up NoVNC connections later.

You should now be greeted with the login screen for Katello, where you can use the username/password combination we specified in the install command.

Log into the system, click on the name top right, and change the password as a first step!

Congratulations, you’ve just installed Katello! Next post will be around configuring Katello.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Encrypting secrets for use by Puppet
  • Automate code deployment in Puppet Enterprise via code manager
  • Puppet Enterprise – Installation
  • Find details of runaway user
  • Using r10k to automate deployment of Puppet code.

Recent Comments

    Archives

    • November 2020
    • October 2020
    • April 2020
    • November 2019
    • September 2019
    • August 2019

    Categories

    • Katello
    • Puppet
    • Uncategorized

    Meta

    • Register
    • Log in
    • Entries feed
    • Comments feed
    • WordPress.org
    ©2021 Automation Murmurings | WordPress Theme by Superbthemes.com