27.05.2019
aws:meetup Tübingen
Connecting AWS and Katello
Lastspitzen brechen mit EC2 - Einbindung in das Lifecycle
Management
Lukas Kallies,
Senior System Engineer
@LuBeka
Agenda
Introduction
Lifecycle Management
Connecting EC2
Introduction
1
@LuBeKa
about:me
Senior System Engineer at
Puzzle ITC Deutschland
with focus on Linux,
Lifecycle- and Configuration-
Management
Hochschule Furtwangen (Dipl. Inform. (FH))
science + computing ag
Hochschule Furtwangen (M.Sc.)
HINT AG
Puzzle ITC GmbH
Puzzle ITC Deutschland GmbH
@LuBeKa
Puzzle ITC
Software- and Technology-Company
Open Technologies and Open Source Software
Founded 1999 in Bern
Puzzle ITC Deutschland founded 2018 in Tübingen
@puzzleitc
/puzzle
@puzzleitc
/puzzle
Bern 112
Zürich 10
Basel 3
Tübingen 3
@puzzleitc_de
/puzzle
2000 2003 2006 2009 2012 2015 heute
Facts & Figures
3
1010
23
42
53
73
128
Bern
Zürich
Basel
Tübingen (DE)
@LuBeKa
Lifecycle Management
2
@LuBeKa
Lifecycle Management (LCM)
RunBuildPlan
@LuBeKa
Challenges
●
Different needs from different business devisions
●
Same patchlevel in one environment
●
But patched machines (!= ISO level)
●
Need for different patchlevels in different environments
●
Development almost latest
●
Production current but thoroughly tested
@LuBeKa
Challenges
●
Option to roll back/forward
●
Different release cycles (weekly, monthly, etc.)
●
Business specific
●
Application specific
●
Dependencies
@LuBeKa
Challenges
●
Content Caching (Bandwith, traffic between availability zones)
●
Tooling/behavior in multicloud environments
●
Access (rolebased)
@LuBeKa
LCM (in Katello context)
• Plan
• Develop
• Provision
• Configure
• Manage
• Decommission
• Hardware, Virtual Machines and
Container
• On-Prem and Cloud
• Linux Hosts (Red Hat, SUSE,
Debian, Ubuntu, …)
• Software
• Subscriptions
@LuBeKa
LCM - Katello Components
Basis
Config Management Plugins
Lifecycle Plugins
→  As a Product
...
@LuBeKa
Lifecycle Environment (LCE)
Item: Lifecycle Environment
Items: Lifecycle Environment Path
One LCE per Host-Item
@LuBeKa
Content View (CV)
Versioned view on a collection of repositories
Can be combined in Composite Content Views
One (C)CV per Host-Item
@LuBeKa
Putting into context
@LuBeKa
Configuration Management
●
Puppet
●
foreman-installer (https://github.com/theforeman/kafo) is based on Puppet
●
currently deeply integrated into Katello
●
Foreman started as a External Node Classifier (ENC) for Puppet (+PXE)
●
Ansible
●
Inventory Source
●
«Play Ansible roles» option
●
Reporting
@LuBeKa
OpenSCAP
Assessment
Measurement and
Enforcement of security baselines
Tooltime!
3
@LuBeKa
Katello hosted on cloudscale.ch, Deployments on EC2
Helpful deployment scripts for Foreman and Katello:
https://github.com/theforeman/forklift.git
Ansible 2.5.1 – centos7-katello-3.11
# ansible-playbook -l katello.aws.puzzle-itc.de playbooks/katello.yml -e
foreman_repositories_version=1.21 -e katello_repositories_version=3.11 -e
foreman_installer_admin_password=$(cat password)
Demo Setup
@LuBeKa
Katello: (Cloud) Compute Resources
Some available compute resource providers:
●
tfm-rubygem-foreman_{docker,azure,…}
●
VMware
●
foreman-ec2
Plugins provide provisioning, console and powerswitch functionality.
@LuBeKa
Connection AWS
4
@LuBeKa
Connecting AWS
yum install -y foreman-ec2
katello-service restart
1.Create compute resource (EC2)
2.Create an image (associate AMI)
3.Create an operatingsystem in Katello (aka assign a name)
4.Create an activation-key (for easier handling)
5.Create a finish template (for thinks like subscriptions, configuration
management, ...) and assign the operatingsystem
6.Edit/create compute profile (small, large, ...)
7.Create hostgroup (for easier handling)
-> Foreman: EC2 Notes
@LuBeKa
Learnings
«Every» issue in Katello is an assignment issues
Fallacy: deconnected Katello (Vagrant) and multiple clouds is not
sufficient (no real Lifecycle Management, just deployment)
Programmatic configuration («automation»)
Cleanup mechanism for volumes needed
Thanks for having me!
@LuBeKa / @puzzleitc_de

Connecting AWS and Katello/The Foreman