View
128
Download
2
Category
Preview:
DESCRIPTION
OpenStack – Automatisiertes Bereitstellen von Instanzen
Citation preview
OpenStack – AutomatisiertesBereitstellen von InstanzenLinux Informationstag Augsburg 2014 22. März 2014
Ralph DehnerGründer & CEO
B1 Systems GmbHdehner@b1-systems.de
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development
Inhalt
VorstellungDie Cloud und ihre EigenschaftenOpenStackOrchestrierung
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 2 / 40
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
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
Die Cloud und ihre Eigenschaften
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 5 / 40
Eigenschaften nach NIST
On-Demand Self ServiceBroad Network AccessResource PoolingRapid ElasticityMeasured Services
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 6 / 40
Bereitstellungs-/Liefermodelle
Private CloudPublic CloudCommunity CloudHybrid Cloud
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 7 / 40
Servicemodelle
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 8 / 40
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
OpenStack
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 10 / 40
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
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
Komponentenübersicht
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 13 / 40
Deployment
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 14 / 40
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
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
Beispielumgebungen
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 17 / 40
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
Entwicklungsumgebungen
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 19 / 40
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
Testumgebungen
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 21 / 40
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
Produktivumgebungen
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 23 / 40
Orchestrierung
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 24 / 40
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
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
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
Heat
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 28 / 40
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Stack Topologie
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 36 / 40
Stack Ressourcen
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 37 / 40
Stack Events
B1 Systems GmbHOpenStack – AutomatisiertesBereitstellen von Instanzen 38 / 40
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
Vielen Dank für Ihre Aufmerksamkeit!Bei weiteren Fragen wenden Sie sich bitte an info@b1-systems.de
oder +49 (0)8457 - 931096
B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development
Recommended