Use Katello to Deploy CentOS to External Networks


Let me start with saying that I am very new to Foreman and Katello. However, I have a very specific use case which I’ve believe Foreman would be a good fit for.

The point of this post is to start with talking at a high-level what I want to use Foreman for. Hopefully the community can then give me their input if I’m going in the right direction.

So without any further delay, my scenario is this:

My company has many branch offices across the United States. Each of these branches has one central CentOS 7 server and then several kiosk-like systems that I want to install CentOS on.

OK, so that is what I want to accomplish at a high-level. Now my main obstacle is that the bandwidth into these branches is very poor. Due to this, I could not stand up a central provisioning server in the data center and build these systems over that kind of connection, it is just too slow.

This is where I believe Katello comes in. I can host Katello in the data center and deploy a SmartProxy to each of my branch servers. This will essentially prepare the branch servers with the following (but, not limited to):

  • The CentOS installation media and repository.
  • Kickstart files.
  • TFTP daemon.
  • DHCP daemon.
  • Some kind of “discovery” mechanism and image.

With the above existing on my branch server, I can now PXE boot a kiosk on the branch network and build it within that local network, getting around my bandwidth limitations.

Do I essentially have that right? And if so, I’m having a hard time understanding how this all works on a lower level. Do you advise I just step through the documentation line-by-line?

Looking forward to hearing your thoughts!

Your rough understanding is correct, except that kickstart files are retrieved from the central server. Here the Smart Proxy is really just a proxy.

To learn this is a complex question because the answer is ‘it depends’. It depends on how you like to learn. Some like to learn by doing, others prefer to read up as much as possible ahead of time. It depends on the infra you already have in place (greenfield vs brownfield deployment): do you need to integrate with existing DHCP servers, are you replacing them or is it all new?

Personally I like to learn by doing. When I started, I first built a lab environment where my colleague and I could play around. Since you can always add additional Smart Proxies, I’d recommend to start with a single Katello server. Set it up to provision, get a feeling for content syncing.