Cobbler - Fast and reliable multi-OS provisioning
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Cobbler - Fast and reliable multi-OS provisioning

  • 1,532 views
Uploaded on

In a lot of companies, machine deployment is a delicate subject: every administrator has his own recipe, using CD-ROMs, static binary images deployed via the network, peer delegation......

In a lot of companies, machine deployment is a delicate subject: every administrator has his own recipe, using CD-ROMs, static binary images deployed via the network, peer delegation ...

However, one solution makes the consensus when it comes to automated mass deployments ( except in the Cloud ): PXE boot. The main cons are that the deployment and the management of such a service is a pain, and every OS has its own installation automation system.

This is where Cobbler saves the day: it enables a painless and reliably to create a PXE service, usable on either virtual or physical machines, while beeing the most agnostic possible towards the target OSes and its preconfiguration system (preseed, kickstart, sysprep, ...) while offering the possibility to handle lots of configuration parameters in a modular fashion (network, partitionning, user accounts, configuration management agent...)

This conference aims to introduce the audience to the general concepts of Cobbler, and some scenarios where it would be a useful solution.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,532
On Slideshare
1,454
From Embeds
78
Number of Embeds
2

Actions

Shares
Downloads
36
Comments
0
Likes
1

Embeds 78

http://blog.normation.com 77
http://www.inoreader.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Normation – CC-BY-SAnormation.comCobblerCobblerFast and reliable multi-OS provisionningFast and reliable multi-OS provisionningMatthieu CERDA – LOADays 2013
  • 2. Normation – Tous droits réservésnormation.comWho are youJob System administratorPhone: +33 6 30 53 40 00Email : matthieu.cerda@normation.comWeb site : www.normation.com@Kegeruneku
  • 3. Normation – CC-BY-SAnormation.com 3Problem● Problem : Deploying new VMs is a painfully heavy and error-prone process.● Solution: A tool able to automatize this the best way possible !
  • 4. Normation – CC-BY-SAnormation.com 4PXE● “The Preboot eXecution Environment (PXE, also known as Pre-Execution Environment; sometimes pronounced "pixie") is anenvironment to boot computers using a network interfaceindependently of data storage devices (like hard disks) or installedoperating systems.” (Thanks Wikipedia)●Created to respond to a simple problem: before it, even withautomated installations, the administrator needed to move towardsthe machine, and boot it manually with a media.● Administrators are lazy (well, I am), and thus needed something toinstall a machine from the boot to the login prompt, with the leasthuman interference possible.
  • 5. Normation – CC-BY-SAnormation.com 5Problem (again)●PXE boot needs a tight and coherent integration of all theseservices:● DHCP● TFTP● HTTP● (DNS, optionnal)● Installing them and setting them requires specific experience,skills and time.● Time + skills = investment (either from people or from the wallet)●1stproblem: PXE is expensive
  • 6. Normation – CC-BY-SAnormation.com 6Problem (this is getting annoying !!!)●PXE boot needs a tight and coherent integration of all theseservices:● DHCP● TFTP● HTTP● (DNS, optionnal)● Keeping them in sync is horrifyingly painful, you KNOWsomething will break one day or another (typos, forgot to copy afile ...)●So, 2ndtrouble: PXE is hard to manage
  • 7. Normation – CC-BY-SAnormation.com 7ContextID Card● Name :● Birthdate : 2007● Language : Python● Licence : GPL● Author : Michael DeHaan ( You went to the Ansiblepresentation this morning, did you ? )● Dependencies : DHCP/TFTP/[DNS]● Disponibility : Packages ( or sources )● Tested and approved™ :
  • 8. Normation – CC-BY-SAnormation.com 8A little project historyBirth2011: Siteswitchingfrom Fedorahosting toGithub2012: UsedbyCanonicalforOpenStacktests
  • 9. Normation – CC-BY-SAnormation.com 9Global architectureDistributionsKernel Initrd Arguments ClassesProfilesRepositories Network Proxy ClassesSystemLDAP RHN/RHM Network Virtualization PuppetREST API
  • 10. Normation – CC-BY-SAnormation.com 10Global architectureCLI KoanLibVirtAPICobblerPXEDNS TFTP DHCPPhysicalmachinesVirtualmachinesHTTPWeb UI
  • 11. Normation – CC-BY-SAnormation.com 11Distro●A basic representation of an OS●Added through the CLI
  • 12. Normation – CC-BY-SAnormation.com 12Profile●Abstraction layer between distros ans systems●Can be used to define roles, for example: web_server, dns_server...
  • 13. Normation – CC-BY-SAnormation.com 13System●The most important part, what the user will see !●Will define physical or virtual entities, like a libvirt VM or a plaincomputer. The MAC address serves as a binding between the lowlevel PXE and the system definition.
  • 14. Normation – CC-BY-SAnormation.com 14KOAN● Works “out of the box”● Adds LibVirt support to Cobbler
  • 15. Normation – CC-BY-SAnormation.com 15KOAN● Demo !!!
  • 16. Normation – CC-BY-SAnormation.com 16Configuration●/etc/cobbler/settings● YAML file, setting global variables and special cobblerd specificparameters● Can then be overriden by other abstraction layers● /etc/cobbler/modules● Defines which services will be managed (and how)● Also defines how authentication will be done (for web UI forexample)● /var/lib/cobbler/...● Stores all the distro/profile/system/... configurations
  • 17. Normation – CC-BY-SAnormation.com 17Usefulness●“So, why is Cobbler so useful for you ?”● Aptitude/yum install cobbler, as simple as that● Just works, out of the box● Easy integration with Virtualization software● Seriously, managing PXE by hand is a pain in the neck...● “Remember when we used to manage kickstart files by hand ?”● “Yeah, so many hours I could have used to slack looking at catvideos...”
  • 18. Normation – CC-BY-SAnormation.com 18Usefulness●“Can I deploy this in my company / home / toaster now ?”● Yes ! It actually integrates well with existing machines/services.● Just works, out of the box● All you need is a machine, a distro CD / ISO and youre done.● Can by used as an emergency crash recovery solution● Used in a french company after a natural catastrophe (flood) torestore quickly a new bunch of machines back to anoperationnal state. [reference needed]
  • 19. Normation – CC-BY-SAnormation.com 19Integration with existing services●Cobbler can integrate with services like:● Local repository mirrors● Local DNS / TFTP / ... services● Configuration management: CFEngine / Puppet / Chef /Ansible / ...
  • 20. Normation – CC-BY-SAnormation.com 20Protips●When you install Cobbler, remember some important points● SELinux is tricky● DISABLE STP ON YOUR BRIDGES !!!● If something fails, check your firewall. If it still fails, check again.● Always have a sandbox environment to play with.● KVM is a great tool, especially with libvirt● Keep It Simple and Safe
  • 21. Normation – CC-BY-SAnormation.com 21Extensibility●We develop Rudder, an IT automatization and conformity tool.● Goal: Add a support for Cobbler● Problem: Cobbler only supports Cobbler at this time !● Solution: Add the necessary bindings ourselves ! (All hail Pythono/)Let us take a slightly more complex case...SystemLDAP RHN/RHM Network Virtualization Puppet Rudder
  • 22. Normation – CC-BY-SAnormation.com 22Extensibility
  • 23. Normation – CC-BY-SAnormation.com 23Thank you for your attention !( Questions time )