GUUG Hamburg OpenNebula
Upcoming SlideShare
Loading in...5
×
 

GUUG Hamburg OpenNebula

on

  • 425 views

Lecture about OpenNebula at GUUG Hamburg

Lecture about OpenNebula at GUUG Hamburg

Statistics

Views

Total Views
425
Views on SlideShare
407
Embed Views
18

Actions

Likes
0
Downloads
4
Comments
0

1 Embed 18

https://twitter.com 18

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

GUUG Hamburg OpenNebula Presentation Transcript

  • 1. © Martin Alfke - 2014 OpenNebula public and private cloud management ! Martin Alfke <martin.alfke@buero20.org> ! GUUG Hamburg 12.06.2014
  • 2. © Martin Alfke - 2014 • Freelancer - Berlin/Germany • Automation and Cfg Mgmt • ePost Development GmbH • Migration von HW aufVM • Umzug Bonn —> Berlin Martin Alfke - at home OpenNebula - Martin Alfke -
  • 3. © Martin Alfke - 2014 OpenNebula - Agenda - • Allgemein • Backends • Planung • Komponenten • Workflow • Management (GUI/CLI) • Live Demo
  • 4. © Martin Alfke - 2014 OpenNebula - Allgemein - • Management vonVirtualisierern • Management von Netzwerk Interfaces • Management vonVM’s
  • 5. © Martin Alfke - 2014 OpenNebula - Allgemein -
  • 6. © Martin Alfke - 2014 OpenNebula - Backends - • Netzwerk • Storage • Virtualisierung • Image
  • 7. © Martin Alfke - 2014 OpenNebula - Netzwerk Backends - • Unterstütze Netzwerk Backends • 802.1q • ebtables / iptables • ovswitch • dummy (NAT)
  • 8. © Martin Alfke - 2014 OpenNebula - Storage Backends - • Unterstütze Storage Backends • Lokale Storage • NFS • Ceph • Gluster • iSCSI (Community Plugin)
  • 9. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) ! !
  • 10. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) • shared (Kopieren von Shared Storage) !
  • 11. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) • shared (Kopieren von Shared Storage) • lvm copy (LVM cluster FS)
  • 12. © Martin Alfke - 2014 OpenNebula -Virtualisierung - • UnterstützeVirtualizierer • KVM • VMware • Xen • Public Clouds (AWS/Rackspace/…)
  • 13. © Martin Alfke - 2014 OpenNebula - Image Backends - • Unterstütze Image Backends • LVM • qcow2 • ceph blocks
  • 14. © Martin Alfke - 2014 OpenNebula - Planung - • Cluster • Over Commitment • Storage
  • 15. © Martin Alfke - 2014 OpenNebula - Planung - • Cluster • Trennung und Gruppierung vonVirtualisieren • Verteilung nach Kriterien: • Anzahl vonVM’s • Last • Individuelle User Berechtigungen
  • 16. © Martin Alfke - 2014 OpenNebula - Planung -
  • 17. © Martin Alfke - 2014 OpenNebula - Planung - • Over Commitment • RAM Over Commitment - benötigt KSM • Benötigt eine Code Änderung in OpenNebula (reserved RAM) • CPU Over Commitment - vCPU im Template ! !
  • 18. © Martin Alfke - 2014 OpenNebula - Planung - • Storage • Lokale Storage -VM Images müssen via SSH kopiert werden • Shared Image Storage -VM Images werden lokal kopiert (cp) • Shared OpenNebula Installation -VM Images werden gelinkt (ln -s) !
  • 19. © Martin Alfke - 2014 OpenNebula - Komponenten - • Management Node • Virtualisierer
  • 20. © Martin Alfke - 2014 OpenNebula - Komponenten - • Management Node • Opennebula (notwendig) • Apache + Passenger (sunstone web gui - optional) • VNC Proxy (optional) • MySQL DB (notwendig - sqlite für Tests) • User: oneadmin + ssh key (notwendig)
  • 21. © Martin Alfke - 2014 OpenNebula - Komponenten - • Virtualisierer (KVM) • libvirtd • User: oneadmin + authorized key file • sudoers (bridgectl, …) • policykit (RH) / User Berechtigungen für /dev/ qemu (Debian)
  • 22. © Martin Alfke - 2014 OpenNebula - Komponenten -
  • 23. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks
  • 24. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • 802.1q • ebtables • open vswitch • dummy (nat)
  • 25. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Muss vorab angefertigt werden • Braucht one-context Package oder cloud-init (v0.7.3 oder neuer) • Hinweis: Image erst auf Management Node kopieren
  • 26. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Anpassungen des Images (hostname, Netzwerk Konfiguration, ssh pub key, … • Kann durch eigene Skripte erweitert werden • VM erhält ein CD-ROM mit den Kontext Informationen
  • 27. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks
  • 28. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Zusammenfassung von Netzwerk, CPU, RAM und Image • Hardware Spezifika (z.B. ACPID) • Dient alsVorlage fürVM
  • 29. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • VM wird auf Basis eines Templates initialisiert
  • 30. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Hooks werden bei bestimmtenVM Stati ausgeführt • DNS (nsupdate), Puppet Zertifikatsmanagement, PuppetDB remove • Anmelden einerVM an einem Dritt-System
  • 31. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks #!/bin/bash set -e NAME=`onevm show $1 | grep HOSTNAME | cut -d '"' -f2` ! DOMAIN=`echo $NAME | cut -d '.' -f2-` ! curl -k -X DELETE -H "Accept: pson" https:// puppet.$DOMAIN:8140/production/ certificate_status/$NAME
  • 32. © Martin Alfke - 2014 OpenNebula - GUI / CLI - • CLI • User braucht eine Token Datei ~/.one_auth.conf • Verschiedene Kommandos (one*) • GUI • Sunstone Web Interface • Anbindung an LDAP möglich • Verwendet ebenfalls eine Token Datei
  • 33. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 34. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 35. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 36. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 37. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 38. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 39. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 40. © Martin Alfke - 2014 # Context variables generated by OpenNebula DISK_ID='1' ETH0_DNS='10.175.4.11' ETH0_GATEWAY='10.175.16.1' ETH0_IP='10.175.24.1' ETH0_MASK='255.255.240.0' ETH0_NETWORK='10.175.16.0' FILES_DS='/var/lib/one/datastores/2/ ef48a35be2d8723ef7788175be6087eb:'''init.sh''' ' HOSTNAME='martin.xxxxxxxxx' NETWORK='YES' TARGET='hdb' OpenNebula - Kontextualisierung -
  • 41. © Martin Alfke - 2014 #! /usr/bin/python # based on script of Chris Usher June 2009 # import xmlrpclib re hashlib ! server = 'http://<opennebula>:2633/RPC2' user = "oneadmin" password = "<password>" one_auth = '{0}:{1}'.format(user, password) ! def getVMInfo(id): response = xmlrpclib.ServerProxy(server).one.vm.info(one_auth,id) return response[1] ! print getVMInfo(24) OpenNebula - XML RPC API -
  • 42. © Martin Alfke - 2014 OpenNebula • Demo
  • 43. © Martin Alfke - 2014 OpenNebula Danke schön. Fragen?