Transcript
Page 1: OpenStack – Automatisiertes Bereitstellen von Instanzen

OpenStack – AutomatisiertesBereitstellen von InstanzenLinux Informationstag Augsburg 2014 22. März 2014

Ralph DehnerGründer & CEO

B1 Systems [email protected]

B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development

Page 2: OpenStack – Automatisiertes Bereitstellen von Instanzen

Inhalt

VorstellungDie Cloud und ihre EigenschaftenOpenStackOrchestrierung

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 2 / 40

Page 3: OpenStack – Automatisiertes Bereitstellen von Instanzen

Vorstellung B1 Systems

gegründet 2004primär Linux/Open Source-Themennational & international tätigüber 60 Mitarbeiterunabhängig von Soft- und Hardware-HerstellernLeistungsangebot:

Beratung & ConsultingSupportEntwicklungTrainingBetriebLösungen

dezentrale Strukturen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 3 / 40

Page 4: OpenStack – Automatisiertes Bereitstellen von Instanzen

SchwerpunkteVirtualisierung (XEN, KVM & RHEV)Systemmanagement (Spacewalk, Red Hat Satellite, SUSEManager)Konfigurationsmanagement (Puppet & Chef)Monitoring (Nagios & Icinga)IaaS Cloud (OpenStack & SUSE Cloud)Hochverfügbarkeit (Pacemaker)Shared Storage (GPFS, OCFS2, DRBD & CEPH)Dateiaustausch (ownCloud)Paketierung (Open Build Service)Administratoren oder Entwickler zur Unterstützung des Teamsvor Ort

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 4 / 40

Page 5: OpenStack – Automatisiertes Bereitstellen von Instanzen

Die Cloud und ihre Eigenschaften

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 5 / 40

Page 6: OpenStack – Automatisiertes Bereitstellen von Instanzen

Eigenschaften nach NIST

On-Demand Self ServiceBroad Network AccessResource PoolingRapid ElasticityMeasured Services

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 6 / 40

Page 7: OpenStack – Automatisiertes Bereitstellen von Instanzen

Bereitstellungs-/Liefermodelle

Private CloudPublic CloudCommunity CloudHybrid Cloud

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 7 / 40

Page 8: OpenStack – Automatisiertes Bereitstellen von Instanzen

Servicemodelle

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 8 / 40

Page 9: OpenStack – Automatisiertes Bereitstellen von Instanzen

Definition nach BSI

Cloud Computing bezeichnet das dynamisch an denBedarf angepasste Anbieten, Nutzen und Abrechnen vonIT-Dienstleistungen über ein Netz. Angebot und Nutzungdieser Dienstleistungen erfolgen dabei ausschließlich überdefinierte technische Schnittstellen und Protokolle. DieSpannbreite der im Rahmen von Cloud Computingangebotenen Dienstleistungen umfasst das kompletteSpektrum der Informationstechnik und beinhaltet unteranderem Infrastruktur (z.B. Rechenleistung, Speicherplatz),Plattformen und Software.

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 9 / 40

Page 10: OpenStack – Automatisiertes Bereitstellen von Instanzen

OpenStack

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 10 / 40

Page 11: OpenStack – Automatisiertes Bereitstellen von Instanzen

Merkmale

Infrastructure as a Service (IaaS)Open Source Softwaremehrere Kernprojekte (Virtualisierung, Netzwerk, Storage, . . . )mandantenfähigUnterstützung durch viele Firmen (IBM, HP, Rackspace, Cisco,. . . )gegründet im Juli 2010B1 Systems ist Upstream Contributor seit Anfang 2011aktuelles Release Havana (2013.2)kommendes Release Icehouse (2014.1) voraussichtlich April 2014

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 11 / 40

Page 12: OpenStack – Automatisiertes Bereitstellen von Instanzen

Komponenten

Compute (Nova) verwaltet virtuelle MaschinenObject Storage (Swift) stellt Object Storage zur VerfügungBlock Storage (Cinder) gewährt Instanzen (VMs) Block StorageNetworking (Neutron) managt Netzwerke und entsprechende

KomponentenDashboard (Horizon) Webinterface

Identity (Keystone) BenutzerverwaltungImage (Glance) verwaltet Images für virtuelle Maschinen

Telemetry (Ceilometer) erfasst Nutzungs- und PerformancedatenOrchestration (Heat) Template-basierte Orchestrierung

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 12 / 40

Page 13: OpenStack – Automatisiertes Bereitstellen von Instanzen

Komponentenübersicht

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 13 / 40

Page 14: OpenStack – Automatisiertes Bereitstellen von Instanzen

Deployment

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 14 / 40

Page 15: OpenStack – Automatisiertes Bereitstellen von Instanzen

Vereinfachtes Deployment

1 Anfrage an Nova-API2 Scheduler sucht passenden Host3 Netzwerkkonfiguration wird gesetzt (Netzwerkinfrastruktur)4 Kopieren des Image auf den Hypervisor5 Start der VM6 Anbindung von Storage7 Config-Management (in der VM)

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 15 / 40

Page 16: OpenStack – Automatisiertes Bereitstellen von Instanzen

Deployment ganzer Infrastrukturen

Umgebungen bestehen aus mehreren virtuellen Maschinen, dieunterschiedliche Eigenschaften besitzen (vCPUs, RAM,Netzwerkkarten, . . . )zusätzliche Netzwerkkonfigurationen müssen vorgenommenwerden (VPN, Routing)eventuell Einbindung von zusätzlichem Block StorageKonfiguration der Software in den VMsOrchestrierung als mögliche Lösung

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 16 / 40

Page 17: OpenStack – Automatisiertes Bereitstellen von Instanzen

Beispielumgebungen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 17 / 40

Page 18: OpenStack – Automatisiertes Bereitstellen von Instanzen

Entwicklungsumgebungen

Entwicklungsumgebungen haben meist folgende Eigenschaften:

oftmals nur intern erreichbar (gewollter und geschützter Zugriff)benötigen zusätzliche Software (Bibliotheken,Entwicklungsumgebungen, Versionsverwaltung etc.)abhängige Systeme oft nur rudimentär bereitgestellt(Datenbanken nicht optimiert)Analyse der entwickelten Anwendungen im Debug-Moduswerden schnell erweitert

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 18 / 40

Page 19: OpenStack – Automatisiertes Bereitstellen von Instanzen

Entwicklungsumgebungen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 19 / 40

Page 20: OpenStack – Automatisiertes Bereitstellen von Instanzen

Testumgebungen

Testumgebungen näheren sich den Eigenschaften derProduktivumgebungen an, zusätzlich sollte ein breiter BenutzerkreisSoftware testen:

benötigen zusätzliche Software (Profiling von Zugriffen,Debuginformationen etc.)eventuell Anbindung an externe Dienste (Authentifizierung,Datenbanken)Abbild der Produktivumgebung (optimal)Protokollierung im Debug-ModusAnwendungstester sind keine Programmierer

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 20 / 40

Page 21: OpenStack – Automatisiertes Bereitstellen von Instanzen

Testumgebungen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 21 / 40

Page 22: OpenStack – Automatisiertes Bereitstellen von Instanzen

Produktivumgebungen

Produktivumgebungen haben strengere Eigenschaften und weitereMöglichkeiten, sie bieten nur die lauffähigen Komponenten an:

keine Entwicklungstools (Sicherheit, Paketmanagement,Updates)Anbindung externer Dienstevielfach öffentlich erreichbarMonitoring der Lastskalierend

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 22 / 40

Page 23: OpenStack – Automatisiertes Bereitstellen von Instanzen

Produktivumgebungen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 23 / 40

Page 24: OpenStack – Automatisiertes Bereitstellen von Instanzen

Orchestrierung

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 24 / 40

Page 25: OpenStack – Automatisiertes Bereitstellen von Instanzen

Was bedeutet das?

Automatisierung von Aufgaben, die Ressourcen managen, ineinem Workflowbetrifft die Interaktion mit Infrastrukturkomponenten (per API)sorgt für die Konfiguration der Ressourcen (Bereitstellung vonStorage, . . . )ermöglicht die Konfiguration von Software innerhalb von VMsaktualisiert nach Möglichkeit Ressourcen, ohne alle laufenden zuverändern

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 25 / 40

Page 26: OpenStack – Automatisiertes Bereitstellen von Instanzen

Beispiel ohne Orchestrierung

Schritte für das Bereitstellen einer Testumgebung:

1 Erzeugen und Starten Anwendungsserver2 Erzeugen und Starten Datenbankserver3 Konfiguration Netzwerk4 Konfiguration Logging5 Routing zu externen Diensten konfigurieren6 Bereitstellung VPN

Das Löschen erfordert erneut alle Schritte.

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 26 / 40

Page 27: OpenStack – Automatisiertes Bereitstellen von Instanzen

Beispiel mit Orchestrierung

1 Erzeugen eines wiederverwendbaren Template2 mit Orchestrierung ein Aufruf mit dem Template3 Löschen aller Ressourcen in einem Aufruf per Template

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 27 / 40

Page 28: OpenStack – Automatisiertes Bereitstellen von Instanzen

Heat

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 28 / 40

Page 29: OpenStack – Automatisiertes Bereitstellen von Instanzen

Eigenschaften

Orchestrierung mit TemplatesTemplates können die gesamte Infrastruktur beschreiben(Instanzen, Netzwerk, Storage, Monitoring, . . . )durch Nutzung parametrisierter Templates können diese beimAufruf angepasst werdenEinbinden externer Konfigurationen ist hier möglichTemplates können also vollständig Entwicklungs-, Test-, undProduktionsumgebungen beschreiben und starten/stoppenLifecycle-Management einer Anwendung durch Heat

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 29 / 40

Page 30: OpenStack – Automatisiertes Bereitstellen von Instanzen

Eigenschaften

Orchestrierung mit TemplatesTemplates können die gesamte Infrastruktur beschreiben(Instanzen, Netzwerk, Storage, Monitoring, . . . )durch Nutzung parametrisierter Templates können diese beimAufruf angepasst werdenEinbinden externer Konfigurationen ist hier möglichTemplates können also vollständig Entwicklungs-, Test-, undProduktionsumgebungen beschreiben und starten/stoppenLifecycle-Management einer Anwendung durch Heat

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 29 / 40

Page 31: OpenStack – Automatisiertes Bereitstellen von Instanzen

Eigenschaften

Orchestrierung mit TemplatesTemplates können die gesamte Infrastruktur beschreiben(Instanzen, Netzwerk, Storage, Monitoring, . . . )durch Nutzung parametrisierter Templates können diese beimAufruf angepasst werdenEinbinden externer Konfigurationen ist hier möglichTemplates können also vollständig Entwicklungs-, Test-, undProduktionsumgebungen beschreiben und starten/stoppenLifecycle-Management einer Anwendung durch Heat

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 29 / 40

Page 32: OpenStack – Automatisiertes Bereitstellen von Instanzen

Eigenschaften

Orchestrierung mit TemplatesTemplates können die gesamte Infrastruktur beschreiben(Instanzen, Netzwerk, Storage, Monitoring, . . . )durch Nutzung parametrisierter Templates können diese beimAufruf angepasst werdenEinbinden externer Konfigurationen ist hier möglichTemplates können also vollständig Entwicklungs-, Test-, undProduktionsumgebungen beschreiben und starten/stoppenLifecycle-Management einer Anwendung durch Heat

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 29 / 40

Page 33: OpenStack – Automatisiertes Bereitstellen von Instanzen

Eigenschaften

Orchestrierung mit TemplatesTemplates können die gesamte Infrastruktur beschreiben(Instanzen, Netzwerk, Storage, Monitoring, . . . )durch Nutzung parametrisierter Templates können diese beimAufruf angepasst werdenEinbinden externer Konfigurationen ist hier möglichTemplates können also vollständig Entwicklungs-, Test-, undProduktionsumgebungen beschreiben und starten/stoppenLifecycle-Management einer Anwendung durch Heat

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 29 / 40

Page 34: OpenStack – Automatisiertes Bereitstellen von Instanzen

Eigenschaften

Orchestrierung mit TemplatesTemplates können die gesamte Infrastruktur beschreiben(Instanzen, Netzwerk, Storage, Monitoring, . . . )durch Nutzung parametrisierter Templates können diese beimAufruf angepasst werdenEinbinden externer Konfigurationen ist hier möglichTemplates können also vollständig Entwicklungs-, Test-, undProduktionsumgebungen beschreiben und starten/stoppenLifecycle-Management einer Anwendung durch Heat

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 29 / 40

Page 35: OpenStack – Automatisiertes Bereitstellen von Instanzen

Begriffe

Template Textdatei, die einen Stack beschreibt (HOT (HeatOrchestration Template) oder CFN (AWS CloudFormation))

Stack Summe aller Ressourcen – aus einem Template – dienotwendig sind, um eine Umgebung aufzubauen

Resource alle Ressourcen innerhalb der OpenStack-Umgebung –IP-Adressen, Ports, VMs, Images, Volumes etc.

Event einzelne Aufgabe einer Ressource – Erzeugen einesVolume, Attach, Detach, Löschen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 30 / 40

Page 36: OpenStack – Automatisiertes Bereitstellen von Instanzen

Funktionsweise

1 Starten eines Stack per übergebenem Template (Benutzeradressiert die Heat-API)

2 Auflösen der Abhängigkeiten im Template3 Adressieren der einzelnen OpenStack-APIs (Network,

Storage, . . . ) um die einzelnen Ressourcen zu erstellen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 31 / 40

Page 37: OpenStack – Automatisiertes Bereitstellen von Instanzen

Interessante Features

Suspend/Resume von Stacks ist möglich – dadurch könnenunterschiedliche Umgebungen vorgehalten werdenUpdate von vielen Ressourcen machbar – kein Löschen, sondernModifizieren der laufenden RessourceDurch Konfiguration von Alarmen (Ceilometer) kannautomatische Skalierung erreicht werden

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 32 / 40

Page 38: OpenStack – Automatisiertes Bereitstellen von Instanzen

Interessante Features

Suspend/Resume von Stacks ist möglich – dadurch könnenunterschiedliche Umgebungen vorgehalten werdenUpdate von vielen Ressourcen machbar – kein Löschen, sondernModifizieren der laufenden RessourceDurch Konfiguration von Alarmen (Ceilometer) kannautomatische Skalierung erreicht werden

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 32 / 40

Page 39: OpenStack – Automatisiertes Bereitstellen von Instanzen

Interessante Features

Suspend/Resume von Stacks ist möglich – dadurch könnenunterschiedliche Umgebungen vorgehalten werdenUpdate von vielen Ressourcen machbar – kein Löschen, sondernModifizieren der laufenden RessourceDurch Konfiguration von Alarmen (Ceilometer) kannautomatische Skalierung erreicht werden

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 32 / 40

Page 40: OpenStack – Automatisiertes Bereitstellen von Instanzen

Template-Beispiel

[...]Instance_Database:

type: OS::Nova::Serverproperties:

image: SUSE Linux Enterprise 11flavor: m1.tinynetworks:

- port: { get_resource: Instance_Port_Database }

Instance_Port_Database:type: OS::Neutron::Portproperties:

network_id: { get_param: Network }fixed_ips:

- subnet_id: { get_param: Subnet }[...]

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 33 / 40

Page 41: OpenStack – Automatisiertes Bereitstellen von Instanzen

Stack-Zustand

+-------------------------------+----------------------+----------+| resource_name | resource_type | status |+-------------------------------+----------------------+----------+| FloatingIP_Webserver | FloatingIP | COMPLETE || Instance_Port_Database | Port | COMPLETE || Instance_Port_Webserver | Port | COMPLETE || FloatingIP_Associate_Webserver| FloatingIPAssociation| COMPLETE || Storage_Volume | Volume | COMPLETE || Instance_Database | Server | COMPLETE || Volume_Attachment | VolumeAttachment | COMPLETE || Instance_Webserver | Server | COMPLETE |+-------------------------------+----------------------+----------+

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 34 / 40

Page 42: OpenStack – Automatisiertes Bereitstellen von Instanzen

Vorgehensweise

1 Definieren Sie Ihre Umgebungen (VM-Größen, Images,Netzwerk, Storage, Software).

2 Planen Sie ein parametrisiertes Template für verschiedeneUmgebungen.

3 Erzeugen Sie Heat-Templates anhand Ihrer Anforderungen(Skalierbarkeit, Alarme, Gruppen, . . . ).

4 Starten Sie Ihre Umgebungen mit einem Stack.

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 35 / 40

Page 43: OpenStack – Automatisiertes Bereitstellen von Instanzen

Vorgehensweise

1 Definieren Sie Ihre Umgebungen (VM-Größen, Images,Netzwerk, Storage, Software).

2 Planen Sie ein parametrisiertes Template für verschiedeneUmgebungen.

3 Erzeugen Sie Heat-Templates anhand Ihrer Anforderungen(Skalierbarkeit, Alarme, Gruppen, . . . ).

4 Starten Sie Ihre Umgebungen mit einem Stack.

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 35 / 40

Page 44: OpenStack – Automatisiertes Bereitstellen von Instanzen

Vorgehensweise

1 Definieren Sie Ihre Umgebungen (VM-Größen, Images,Netzwerk, Storage, Software).

2 Planen Sie ein parametrisiertes Template für verschiedeneUmgebungen.

3 Erzeugen Sie Heat-Templates anhand Ihrer Anforderungen(Skalierbarkeit, Alarme, Gruppen, . . . ).

4 Starten Sie Ihre Umgebungen mit einem Stack.

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 35 / 40

Page 45: OpenStack – Automatisiertes Bereitstellen von Instanzen

Vorgehensweise

1 Definieren Sie Ihre Umgebungen (VM-Größen, Images,Netzwerk, Storage, Software).

2 Planen Sie ein parametrisiertes Template für verschiedeneUmgebungen.

3 Erzeugen Sie Heat-Templates anhand Ihrer Anforderungen(Skalierbarkeit, Alarme, Gruppen, . . . ).

4 Starten Sie Ihre Umgebungen mit einem Stack.

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 35 / 40

Page 46: OpenStack – Automatisiertes Bereitstellen von Instanzen

Stack Topologie

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 36 / 40

Page 47: OpenStack – Automatisiertes Bereitstellen von Instanzen

Stack Ressourcen

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 37 / 40

Page 48: OpenStack – Automatisiertes Bereitstellen von Instanzen

Stack Events

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 38 / 40

Page 49: OpenStack – Automatisiertes Bereitstellen von Instanzen

Links

OpenStack http://www.openstack.org/

Heat-Wiki https://wiki.openstack.org/wiki/HeatHeat-Template-Beispiele

https://github.com/openstack/heat-templates

Template-Guide http://docs.openstack.org/developer/heat/template_guide/

B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 39 / 40

Page 50: OpenStack – Automatisiertes Bereitstellen von Instanzen

Vielen Dank für Ihre Aufmerksamkeit!Bei weiteren Fragen wenden Sie sich bitte an [email protected]

oder +49 (0)8457 - 931096

B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development


Recommended