Upload
weston-bassler
View
2.219
Download
3
Embed Size (px)
Citation preview
Full Stack Automation with Katello and Foreman
Justin Miller & Weston Bassler
Weston Bassler, RHCSA/LFCS - currently working at Klarna, a new startup in Columbus, as a Systems Engineer. Previous experience as a Cloud and Linux Engineer for LexisNexis and Verizon Wireless.
Justin Miller, CCAH/DataStax Certified Cassandra Administrator - currently working as a Senior DevOps/Hadoop Engineer for iHealth Technologies in Atlanta, GA. Before that worked as a Java Developer at Verizon Wireless while also obtaining a Masters in Comp Science.
Introduction
What we are here to talk about● Background of the Projects● Pt.1 The Foreman Project
○ Foreman Overview: What is it and why should I care?○ Demo: Host Provisioning (Manual and Auto)
● Pt. 2 Katello Project○ Katello Overview: What is it and what does it provide?○ Demo: Host Collections and Bulk Actions
● Pt. 3 Bringing the 2 Projects Together● Pt. 4 Other Awesomeness
○ Discuss other awesome features ○ Docker Demo!!!!
The ForemanWhat is the Foreman?
“Foreman is an open source project that helps system administrators manage servers throughout their lifecycle, from provisioning and configuration to orchestration and monitoring. Using Puppet, Chef, Salt, and Foreman's smart proxy architecture, you can easily automate repetitive tasks, quickly deploy applications, and proactively manage change, both on-premise with VMs and bare-metal or in the cloud.”
-From theforeman.org
The Foreman● Provisioning, System Configuration and Registration
○ Automated provisioning of bare metal systems from OS to application deployment.
○ Management abstractions for targeting and configuration via concepts such as company, location, arbitrary host group, and arbitrary environment definitions.
○ Deep native integration with Puppet, with parameter configuration targeting available via traditional Hiera concepts but also via the abstractions mentioned above.
The Foreman● Provisioning, System Configuration and Registration Cont…
○ Audited tracking of all changes in one location.○ Transparent locality via “capsul” servers that can
serve as local puppet masters and package repositories for each site.
○ An extremely powerful REST API and command line tool enable automation of any task you can think of.
○ Reports and dashboard that make auditing compliance a breeze.
AUTOMATION OF ALL THINGS
The Foreman● Provisioning
○ private/public cloud, bare metal and Docker!!!!!!○ Powerful dynamic templates and logic driven scripting
can dynamically build kickstarts based on your requirements.
○ Dynamic discovery rules via facts such as number of drives, hardware model, location, subnet make tailoring automated configuration and deployment by role possible. IE: When someone in the datacenter unboxes your server, racks it, and plugs into into network and power; it will automatically set itself up.
The Foreman● Provisioning Cont… (Defaults)
○ AWS, Ovirt, VMware, OpenStack, Rackspace, Google Compute and more
○ Supported Operating systems
The Foreman● Types of Deployment
○ pxe via kickstart○ images via cloudinit etc○ Bootdisk plugin - Boot images are written as hybrid
ISO images (usable as ISOs or USB disks), and booted either from physical media or virtual disk/CDROM
FYI - http://cloudinit.readthedocs.org/en/latest/
The Foreman● Orchestration
○ Smart Proxy Technology ○ Foreman-Smart proxy - helps Foreman commission a new
host and general orchestration ○ Should be on or near The Foreman host○ Restful API to the various subsystems
■ DHCP, DNS, Puppet, Puppet CA, Realm & TFTP
The Foreman● System Configuration Management
○ Built in Puppet○ Classes, parameters and auto signing by default○ Other SCM available (later)
● Grouping of Hosts○ Host Groups for assigned attributes and functions
■ Puppet Configs, OS, Activation Keys, etc…■ Much Key to Automation
The Foreman● Inventory Management and Monitoring
○ Trends and Charts○ Reports from Puppet
● User Management○ LDAP Auth○ Users and User Groups○ Roles
The Foreman● Bigger Picture of the Foreman Architecture
The Foreman● Host Discovery
https://www.youtube.com/watch?v=MQaK9k5Uh-I
KatelloWhat is Katello?
“Katello brings the full power of content management alongside the provisioning and configuration capabilities of Foreman.”
-From katello.org
Katello● What Does Katello Provide?
○ Subscription Content Management○ Auditing of deployed packages, errata, targeting of
non compliant nodes.○ Environment update via defined flows. IE: Dev -> Test
-> Production
Katello● Repository/Content Management
○ RPM, Docker, Puppet Content, Red Hat Subcriptions■ Docker - sync from a registry or upload your own
images■ Puppet - import puppet modules from git/Puppet
Forge○ Products - A group of content that you register to
each host.○ Schedule sync/upload of your repos
Katello● Host Collections - allow for you to group hosts together● Bulk actions - run install/upgrade/remove against a host
collection or a selected set of hosts● Demo to come
Katello● Bulk Actions
https://www.youtube.com/watch?v=5ja1xCL7QPY
The Foreman & Katello● Register Your Products to Host Groups during provisioning● Create Activation Keys for Subscription
○ Activation Keys provide a mechanism to define properties that may be applied to Content Hosts during registration like Products, Repos, etc…
CONGRATS!!! INFRASTRUCTURE = PWNED
The Foreman & Katello● Other Awesomeness
○ Plugins: Docker, Chef, Salt, MCollective○ Plugins URL - Plugins for things such as bootdisk,
chef, docker, etc■ http://projects.theforeman.
org/projects/foreman/wiki/List_of_Plugins○ Rest API○ CLI -> HAMMER CLI○ Reporting Plugins -> ABRT (bug), OpenScap (security)○ Now Ansible Integration
Docker Demo● Docker Plugin
https://www.youtube.com/watch?v=hfDI-OsP2Ao
Ways to Get Started● http://theforeman.org/ (much documentation)● http://www.katello.org/ (need much documentaion)
Weston [email protected]://www.linkedin.com/in/westonbassler@w_basslerJustin Millerhttps://www.linkedin.com/pub/justin-miller/18/a32/[email protected]@mageru
http://tinyurl.com/ohiokatello
thanks!!! Questions???