Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

OpenNebula, the foreman and CentOS play nice, too

785
views

Published on

OpenNebula, the foreman and CentOS play nice, too …

OpenNebula, the foreman and CentOS play nice, too
Let‘s set up a private cloud.
Nils Domrose
LinuxTag Berlin, 09-May-2014

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
785
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

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. OpenNebula, the foreman and CentOS play nice, too Let‘s set up a private cloud. Nils Domrose Berlin, 09-May-2014
  • 2. 2 1.  Cattle vs. Pets 2.  Repositories, Bare-Metal Deployment OS 3.  Puppet 101 4.  Foreman deployment 5.  OpenNebula Agenda
  • 3. 3 ▸  senior linux systems engineer at inovex GmbH ▸  worked as a network engineer, software developer and systems engineer ▸  using foreman for about 1 year ▸  using bare-metal deployment for ages ▸  life is short – let’s focus on interesting stuffstuff! About me
  • 4. 4 ‣  What is it you want to achieve ? ‣  Do you have pets or cattle ? Let‘s setup a private Cloud ...because everyone needs a cloud they said... Virtual Infrastructure cattle or pet? Cloud Management cattle pet Term “Cloud” is missing here by purpose!
  • 5. 5 Let‘s setup a private Cloud ...common pet Names gollum gandalf sauron lx-smb01 git-srv1 scotty spockkirk sheldon leonard penny mail fw gw build-01
  • 6. 6 Let‘s setup a private Cloud ...common cattle Names care don’t you
  • 7. 7 Let‘s setup a private Cloud ...what if I can‘t remember all my pet‘s names ? Virtual Infrastructure Cloud Management
  • 8. 8 Regardless of cattles or pets we need to get the hardware installed.... How to Start ? In the beginning there was bare metal... OS Mirror Bare Metal Installer
  • 9. 9 You want... ‣  ...long-term support ‣  ...HW vendor supported firmware tools für your hardware ‣  ...maybe benefit a bit from the RedHat Eco-System You don‘t want... ‣  ...the latest greatest distro to operate your cloud on ‣  ...be the first to find all the errors ‣  ...keep hunting update issues ‣  ...pay for fear OS ...choose your weapon well.... OS
  • 10. 10 You don‘t want to download and install an ISO.... OS ...we can‘t do anything with the OS yet.... OS
  • 11. 11 What can pulp do for you? ‣  manage RPM repositories ‣  simple mirroring ‣  snapshot (branch) repositories ‣  create custom or mixed repositories ‣  manage puppet repositories (local forge) Mirror ...or better call it repository management from now on.... Mirror
  • 12. 12 Create a vm / setup a single system ‣  get pulp puppet module https://github.com/FILIADATAGmbH/puppet-pulp Install the repository management (optional) ...or use the public repos if you don‘t need it... Mirror class {'pulp': repo_enabled => true, } -> class{'pulp::server': } -> class{‚pulp::admin‘:} $ pulp-admin rpm repo create --repo-id=foreman --feed=http:// yum.theforeman.org/releases/1.4/el6/x86_64/ --relative-url=foreman Successfully created repository [foreman] $ pulp-admin rpm repo sync run --repo-id=foreman
  • 13. 13 What you get: ‣  Pulp Server ‣  Pulp admin tools ‣  MongoDB (used for pulp meta data) ‣  qpid used as pulp internal task broker Install the repository management (optional) ...or use the public repos if you don‘t need it... Mirror
  • 14. 14 You want ... ‣  ...it in you Datacenter! What can the foreman do for you? ‣  Bare-metal deployment ‣  Iso based deployment ‣  CMDB ‣  Puppet ENC & dashboard ‣  Provision your DNS and DHCP infrastructure ‣  Provision your virtual datacenter or Cloud-Services ‣  Provide a single interface to manage you server and compute resources ‣  Provide an extensible platform for lifecycle management Bare-Metal Installer Bare Metal Installer
  • 15. 15 Create a vm / setup a single system ‣  use puppet as early as possible via apply ‣  puppetize the installation later on to run on a master, too. ‣  The foreman installer is basically a puppet apply + hiera data Bare-Metal Installer Installing the bare-metal installer Bare Metal Installer $foreman_answersfile = ‘/etc/foreman/foreman-installer-answers.yaml‘ file {$foreman_answersfile: owner => ‘root‘, group => ‘root‘, mode => ‘0600‘, content => template(‘foreman/foreman-installer-answers.yaml.erb‘), } exec {‘foreman-installer‘: command => ‘/usr/bin/foreman-installer –d‘ logoutput => on_failure, ...
  • 16. 16 What you get: ‣  Puppet master ‣  Puppet CA ‣  Gitolite repo ‣  PXE boot environment ‣  DHCP Server ‣  Foreman-Smart Proxy ‣  Foreman GUI Bare-Metal Installer Installing the bare-metal installer Bare Metal Installer
  • 17. 17 Now we need some puppet roles including the profiles for our services What‘s next OS Mirror Bare Metal Installer √ √ √
  • 18. 18 Puppet 101 Puppet Module Design Roles - Business Logic (optional) Hiera optional params.pp Profiles - Technology Abstraction (optional) Component Modules - Resource Modelling params.pp os and module specific data environment specific data 1 1..n 1 1..n R 1 1..n R R R RRR 1 1 1..n node to role classification Node / ENC1 1 These are puppet forge modules Create service specific profiles from component modules + config Create roles from profiles
  • 19. 19 Puppet 101 ...Profiles class profile_one { class {'one': oned => true sunstone => true } }
  • 20. 20 Puppet 101 ...Roles Class role_one_node { class {‘profile_base‘:} -> class {‘profile_ceph ‘:} -> class {‘profile_one ‘:} }
  • 21. 21 https://github.com/epost-dev/opennebula-puppet-module Might need to set: Encoding.default_external = Encoding::UTF_8 Might need to set/fix defaults for $kickstart_data, $ssh_prov_keys / $ssh_pub_keys and $one_repo_enable in params.pp or via module_data or global hiera. Update baseurl to: ‘http://downloads.opennebula.org/repo/CentOS/6/ stable/$basearch’ in prerequisites.pp Puppet component module for your cloud ...and minor tweaks for CentOS # git clone https://github.com/epost-dev/opennebula-puppet-module one
  • 22. 22 When we talk about open source and Cloud-Management today, we will most likely end up in an Openstack discussion. ‣  Openstack is an amazing Project with huge momentum ‣  With Openstack you can cover almost all aspects of cloud infrastructure Why do we use OpenNebula here
  • 23. 23 On the other hand Openstack is maybe moving to fast, ‣  Core Components are subject to change ‣  Manageability and clean upgrade paths just recently become a priority ‣  Lots of projects went live with an already outdated release Why do we use OpenNebula here
  • 24. 24 Analyze your requirements and ask yourself: Do I really need all the features? Then either stick to Openstack or consider an alternative like OpenNebula… Why do we use OpenNebula here
  • 25. 25 Installation process using the foreman ...let‘s deploy some boxes Smart- Proxy Puppet Master DHCP DNS Puppet CA compute Resource TFTP OS Repo query unattended Resources virtual / physical Instances 9 PXE Boot 8 DHCP request 7 create compute instance (optional) 6 create auto sign entry 5 provision TFTP & PXE 4 request kernel & initrd 3 create DNS entries 2 request lease 1 create new host unattended Resources 2 34 5 6 7 8 9 1212 request puppet certificate GET ENC & catalog, upload facts notify finish 10 11 12 13 10 10 11 13 1 13
  • 26. 26 Deploying One nodes
  • 27. 27 Deploying One nodes
  • 28. 28 Deploying One nodes
  • 29. 29 Deploying One nodes
  • 30. 30 Accessing your new cloud
  • 31. 31 Accessing your new cloud
  • 32. 32 Accessing your new cloud
  • 33. 33 Accessing your new cloud
  • 34. 34 The big picture Physical Network Virtual Network HostedVirtualReal Foreman REST API CMDB DeploymentLifecycleMgmt.
  • 35. 35 ‣  There are still some rough edges in the modules used ‣  Good news – they are of minor type ‣  Currently you cannot use OpenNebula as a compute resource due to missing fog support ‣  You can however use OpenNebula to provision hosts on foreman for bare-metal deployment of instances – see: http://opennebula.org/ opennebula-and-foreman-integration/ Disclaimer
  • 36. 36 Thank you for listening Contact Nils Domrose Senior System Engineer Linux inovex GmbH Office Cologne nils.domrose@inovex.de

×