SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
© Martin Alfke - 2014
OpenNebula
public and private cloud management	

!
Martin Alfke	

<martin.alfke@buero20.org>	

!
GUUG Hamburg	

12.06.2014
© 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 -
© Martin Alfke - 2014
OpenNebula	

- Agenda -
• Allgemein	

• Backends	

• Planung	

• Komponenten	

• Workflow	

• Management (GUI/CLI)	

• Live Demo
© Martin Alfke - 2014
OpenNebula	

- Allgemein -
• Management vonVirtualisierern	

• Management von Netzwerk
Interfaces	

• Management vonVM’s
© Martin Alfke - 2014
OpenNebula	

- Allgemein -
© Martin Alfke - 2014
OpenNebula	

- Backends -
• Netzwerk 	

• Storage	

• Virtualisierung	

• Image
© Martin Alfke - 2014
OpenNebula	

- Netzwerk Backends -
• Unterstütze Netzwerk Backends	

• 802.1q	

• ebtables / iptables	

• ovswitch	

• dummy (NAT)
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• Unterstütze Storage Backends	

• Lokale Storage	

• NFS	

• Ceph	

• Gluster	

• iSCSI (Community Plugin)
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• ssh (Kopieren auf
denVirtualisierer)	

!
!
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• ssh (Kopieren auf
denVirtualisierer)	

• shared (Kopieren
von Shared Storage)	

!
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• ssh (Kopieren auf
denVirtualisierer)	

• shared (Kopieren
von Shared Storage)	

• lvm copy (LVM
cluster FS)
© Martin Alfke - 2014
OpenNebula	

-Virtualisierung -
• UnterstützeVirtualizierer	

• KVM	

• VMware	

• Xen	

• Public Clouds (AWS/Rackspace/…)
© Martin Alfke - 2014
OpenNebula	

- Image Backends -
• Unterstütze Image Backends	

• LVM	

• qcow2	

• ceph blocks
© Martin Alfke - 2014
OpenNebula	

- Planung -
• Cluster	

• Over Commitment	

• Storage
© Martin Alfke - 2014
OpenNebula	

- Planung -
• Cluster	

• Trennung und Gruppierung vonVirtualisieren	

• Verteilung nach Kriterien:	

• Anzahl vonVM’s	

• Last	

• Individuelle User Berechtigungen
© Martin Alfke - 2014
OpenNebula	

- Planung -
© 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	

!
!
© 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)	

!
© Martin Alfke - 2014
OpenNebula	

- Komponenten -
• Management
Node	

• Virtualisierer
© 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)
© Martin Alfke - 2014
OpenNebula	

- Komponenten -
• Virtualisierer (KVM)	

• libvirtd	

• User: oneadmin + authorized key file	

• sudoers (bridgectl, …)	

• policykit (RH) / User Berechtigungen für /dev/
qemu (Debian)
© Martin Alfke - 2014
OpenNebula	

- Komponenten -
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
• 802.1q	

• ebtables	

• open vswitch	

• dummy (nat)
© 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
© 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
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
© 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
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
• VM wird auf Basis eines
Templates initialisiert
© 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
© 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
© 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
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© 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 -
© 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 -
© Martin Alfke - 2014
OpenNebula
• Demo
© Martin Alfke - 2014
OpenNebula
Danke schön.	

Fragen?

Weitere ähnliche Inhalte

Was ist angesagt?

Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014
Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014
Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014inovex GmbH
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführungnodeio
 
Automatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleAutomatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleStephan Hochhaus
 
Testumgebungen mit Vagrant
Testumgebungen mit VagrantTestumgebungen mit Vagrant
Testumgebungen mit Vagrantfrankstaude
 
Proxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VEProxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VEMarco Gabriel
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfNETWAYS
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantB1 Systems GmbH
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress MultisiteWalter Ebert
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15m1no
 
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxLinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxSchlomo Schapiro
 

Was ist angesagt? (18)

Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014
Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014
Keepalived & HA-Proxy as an alternative to commercial loadbalancer - August 2014
 
Node.js
Node.jsNode.js
Node.js
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführung
 
Wordpress im docker
Wordpress im dockerWordpress im docker
Wordpress im docker
 
Automatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleAutomatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansible
 
Docker Workbench
Docker WorkbenchDocker Workbench
Docker Workbench
 
node.js Einführung
node.js Einführungnode.js Einführung
node.js Einführung
 
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
 
Testumgebungen mit Vagrant
Testumgebungen mit VagrantTestumgebungen mit Vagrant
Testumgebungen mit Vagrant
 
Proxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VEProxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VE
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit Vagrant
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress Multisite
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15
 
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxLinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
 
Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 

Andere mochten auch

Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?Martin Alfke
 
Puppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartwayPuppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartwayMartin Alfke
 
PuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and ProvidesPuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and ProvidesMartin Alfke
 
Gluster fs buero20_presentation
Gluster fs buero20_presentationGluster fs buero20_presentation
Gluster fs buero20_presentationMartin Alfke
 
Puppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesPuppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesMartin Alfke
 

Andere mochten auch (6)

Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?Can you upgrade to Puppet 4.x?
Can you upgrade to Puppet 4.x?
 
One
OneOne
One
 
Puppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartwayPuppet camp london-modulerewritingsmartway
Puppet camp london-modulerewritingsmartway
 
PuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and ProvidesPuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and Provides
 
Gluster fs buero20_presentation
Gluster fs buero20_presentationGluster fs buero20_presentation
Gluster fs buero20_presentation
 
Puppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesPuppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in Modules
 

Ähnlich wie GUUG Hamburg OpenNebula

200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollen200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollenUwe Küchler
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
AdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveAdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveKlaus Bild
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppetinovex GmbH
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013NETWAYS
 
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfNETWAYS
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDNUG e.V.
 
Oracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-ServiceOracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-Serviceoraclebudb
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Michael Kirst-Neshva
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsStefan Adolf
 
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel KleblDigicomp Academy AG
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Virtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungVirtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungHenning Sprang
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)NETWAYS
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Managementinovex GmbH
 

Ähnlich wie GUUG Hamburg OpenNebula (20)

200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollen200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollen
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
AdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveAdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep Dive
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
 
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdf
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
Oracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-ServiceOracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-Service
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
 
Ant im Detail
Ant im DetailAnt im Detail
Ant im Detail
 
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
7. IPv6 Umstellung in einem Kleinbetrieb - Marcel Klebl
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Virtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungVirtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine Standorbestimmung
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
 

Mehr von Martin Alfke

CfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdfCfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdfMartin Alfke
 
HashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the CloudHashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the CloudMartin Alfke
 
PuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdfPuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdfMartin Alfke
 
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GITPuppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GITMartin Alfke
 
DevOps - How to get technical buy in
DevOps - How to get technical buy inDevOps - How to get technical buy in
DevOps - How to get technical buy inMartin Alfke
 
ADDO 2019 DevOps in a containerized world
ADDO 2019 DevOps in a containerized worldADDO 2019 DevOps in a containerized world
ADDO 2019 DevOps in a containerized worldMartin Alfke
 
OpenRheinRuhr 2018 - Ops hates containers! Why?
OpenRheinRuhr 2018 - Ops hates containers! Why?OpenRheinRuhr 2018 - Ops hates containers! Why?
OpenRheinRuhr 2018 - Ops hates containers! Why?Martin Alfke
 
Puppet future parser
Puppet future parserPuppet future parser
Puppet future parserMartin Alfke
 
developing sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppetdeveloping sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppetMartin Alfke
 
Puppet buero20 presentation
Puppet buero20 presentationPuppet buero20 presentation
Puppet buero20 presentationMartin Alfke
 

Mehr von Martin Alfke (11)

CfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdfCfgMgmtCamp 2023 - Puppet is YAML.pdf
CfgMgmtCamp 2023 - Puppet is YAML.pdf
 
HashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the CloudHashiTalksDACH-Terraform-Managing training instances in the Cloud
HashiTalksDACH-Terraform-Managing training instances in the Cloud
 
PuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdfPuppetCamp2021-Testing Modules and ControlRepo.pdf
PuppetCamp2021-Testing Modules and ControlRepo.pdf
 
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GITPuppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
 
DevOps - How to get technical buy in
DevOps - How to get technical buy inDevOps - How to get technical buy in
DevOps - How to get technical buy in
 
ADDO 2019 DevOps in a containerized world
ADDO 2019 DevOps in a containerized worldADDO 2019 DevOps in a containerized world
ADDO 2019 DevOps in a containerized world
 
OpenRheinRuhr 2018 - Ops hates containers! Why?
OpenRheinRuhr 2018 - Ops hates containers! Why?OpenRheinRuhr 2018 - Ops hates containers! Why?
OpenRheinRuhr 2018 - Ops hates containers! Why?
 
Power of Puppet 4
Power of Puppet 4Power of Puppet 4
Power of Puppet 4
 
Puppet future parser
Puppet future parserPuppet future parser
Puppet future parser
 
developing sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppetdeveloping sysadmin, sysadmining developersGuug devops puppet
developing sysadmin, sysadmining developersGuug devops puppet
 
Puppet buero20 presentation
Puppet buero20 presentationPuppet buero20 presentation
Puppet buero20 presentation
 

GUUG Hamburg OpenNebula

  • 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?