Skip to content

Implementing foreman in production

ezabolo edited this page Feb 2, 2015 · 6 revisions
  • Creating an operating system
  • Creating a kickstart profiles
    • Kickstart default
    • Kickstart default pxe
    • Kickstart default finish
  • Creating a partition table for the host provisioning
  • Creating an installation media
    • remote repository
    • local repository
  • What is an host group ?
    • Creating an host group
    • Defining several environment by host group.
  • Configuring a compute resource
    • Adding a compute resource
    • Configuring a compute profiles
  • Configuring Domains and subnet
  • Host provisioning
    • Baremetal provisioning
    • VM provisioning
  • Puppet Configuration
    • Creating puppet environment
    • Installing puppet modules/Importing Puppet Classes
    • Configuring puppet groups
  • Smart proxy configuration
    • Integrating DHCP and DNS
  • Host provisioning post configuration using puppet

Presentation : Provisioning lifecycle

Table of Contents

What we will cover on this video

  1. Introduction - What we want to present
  2. Lifecycle Management process
  3. Lifecycle Management with foreman (Overview)
    • what is foreman ?
    • foreman architecture
    • Deployable systems : Hardware(Baremetal ) Virtual Systems( VMware, KVM, ovirt ,openstack)
    • Foreman configuration ( Infrastructure, Provisioning, Configuration)
    • Foreman deployment process
      • Network installation : DHCP, TFTP, PXEboot
  4. OS provisioning with foreman
    • Creating an operating system
    • Creating a kickstart profiles
    • Kickstart default vs custom kickstart script
    • Kickstart default pxelinux
    • Kickstart default finish vs custom kickstart finish script
    • Sample of VM provisioning
    • Sample of Bare Metal provisioning

Host configuration management using puppet

  • Installing puppet modules
  • Importing puppet modules
  • Applying a puppet class to host
  • Fallback process

Migration

Yum repository configuration (local and remote)

  • Creating custom yum repository
  • Package installation using yum
  • Rollback installation using yum history

Host monitoring with foreman

  • Audit a host
  • rebuild a host from foreman
  • Destroy an host from foreman

Conclusion

lifecycle Management tool

What is a Machine life cycle management anyway

A complete lifecycle of a machine consists of the following steps:

  • Installation – The initial installation of an operating system.
  • Configuration – The installation and configuration of further software packages as well as the configuration of e.g. users and groups or network interfaces.
  • Update, Management and Audits – The installation of patches and/or the change of our server configuration and finally the monitoring over the entire lifespan.

What kind of issue the life cycle management tool tries to solve ?

Basic problems that the life cycle management tool will be trying to solve :

  • New hardware arrives in a remote office, needs OS + configuration + applications
  • We need to shift servers from one application to another
  • We need to upgrade to a new base OS + application set
  • A server has failed and we need to replace it... NOW !
  • We upgraded an application across 5 servers and now we're seeing failures, need to roll everything back
  • We're opening a new office and need to bring up core infrastructure

Machine management life cycle features

  • Kickstart Integration - automating the delivery of kickstart software, dynamic generation of ks.cfg, and automation
  • Kickstart Profiles - Ability to parametrically manage personality of systems generated through kickstart
  • Configuration File Management - Centralized management of text/binary configuration files
  • Snapshots / Rollback - Precise time history of system states and ability to revert
  • Profile Capture / Matching - ability to deploy an exact set of RPMs (not just latest) based on a stored system profile