{"id":11597,"date":"2016-06-20T12:14:31","date_gmt":"2016-06-20T10:14:31","guid":{"rendered":"https:\/\/www.scaleuptech.com\/de\/?p=2882"},"modified":"2016-06-20T12:14:31","modified_gmt":"2016-06-20T10:14:31","slug":"openstack-components","status":"publish","type":"post","link":"https:\/\/www.scaleuptech.com\/en\/blog\/openstack-komponenten\/","title":{"rendered":"The most important OpenStack components"},"content":{"rendered":"<h5>In\u00a0<a href=\"\/de\/blog\/einfuehrung-in-openstack-teil-1\/\" target=\"_blank\" rel=\"noopener\">unserem ersten OpenStack Artikel<\/a>\u00a0haben wir erkl\u00e4rt, was\u00a0OpenStack ist und schon einige der zentralen Komponenten der Open Source Cloud-Computing-Plattform genannt. In diesem Artikel wollen wir uns nun n\u00e4her mit der Funktion und dem Aufbau der zentralen IaaS-Module befassen und erl\u00e4utern, wie diese zusammen arbeiten.<\/h5>\n<div style=\"height: 25px;\"><\/div>\n<h3>Wie funktioniert OpenStack?<\/h3>\n<p>OpenStack bietet eine flexible L\u00f6sung, um Public und Private Clouds jeder Gr\u00f6\u00dfe schnell implementieren und skalieren zu k\u00f6nnen. Daf\u00fcr ist OpenStack in verschiedene Komponenten aufgeteilt, die einzelne Aufgaben l\u00f6sen und abgestimmt ineinandergreifen. Jede Komponente deckt einen bestimmten Bereich einer IaaS-Umgebung ab. Die Integration wird durch Application Programming Interfaces (APIs) erreicht, die den Austausch zwischen den Komponenten erm\u00f6glichen. Dienste k\u00f6nnen so auch einfach durch andere mit \u00e4hnlichen Eigenschaften ersetzt werden, jedoch nur, wenn die Form der Kommunikation eingehalten wird.<\/p>\n<p>[mk_image src=&#8220;\/de\/wp-content\/uploads\/2016\/06\/OpenStack_Infrastruktur_Aufbau.png&#8220; image_width=&#8220;900&#8243; image_height=&#8220;478&#8243; crop=&#8220;true&#8220; lightbox=&#8220;false&#8220; frame_style=&#8220;simple&#8220; target=&#8220;_self&#8220; caption_location=&#8220;inside-image&#8220; align=&#8220;left&#8220; caption=&#8220;\u00a9 ScaleUp Technologies&#8220; margin_top=&#8220;25&#8243; margin_bottom=&#8220;25&#8243;]<\/p>\n<p>OpenStack hat keine propriet\u00e4ren Hardware- oder Software-Anforderungen. Es kann jedoch nicht direkt auf der Hardware installiert werden. Es ben\u00f6tigt ein Betriebssystem, welches Virtualisierung im Hintergrund unterst\u00fctzt. Gl\u00fccklicherweise wird OpenStack von diversen Betriebssystemen und Herstellern\u00a0unterst\u00fctzt.<\/p>\n<p>OpenStack kompatible Linux Distributionen:<\/p>\n<ul>\n<li>Ubuntu<\/li>\n<li>Redhat Enterprise Linux<\/li>\n<li>SuSE Linux<\/li>\n<li>CentOS Linux<\/li>\n<li>Fedora<\/li>\n<\/ul>\n<p>Unterst\u00fctzte Virtualisierung:<\/p>\n<ul>\n<li>KVM (vollst\u00e4ndige Unterst\u00fctzung)<\/li>\n<li>XEN<\/li>\n<li>Microsoft Hyper-V<\/li>\n<li>VMware<\/li>\n<li>u.a. (ebenfalls: baremetal, Docker, LXC)<\/li>\n<\/ul>\n<p>OpenStack kann f\u00fcr Tests auch\u00a0auf einem einzelnen PC\/Server installiert werden (sog. Single-Node-Setup). Das erm\u00f6glicht einfaches Evaluieren und Testen erster Setups.<\/p>\n<h3>Zentrale Komponenten von OpenStack sind:<\/h3>\n<h4>\u201eHorizon&#8220;<\/h4>\n<p>(Dashboard) &#8211; Horizon bietet ein modular aufgebautes, web-basiertes User Interface f\u00fcr Endnutzer sowie eine Administrator-Schnittstelle zu anderen Diensten. \u00dcber Horizon k\u00f6nnen die meisten Cloud Operations durchgef\u00fchrt werden wie das Anlegen\u00a0von Instanzen, die Zuordnung von IP-Adressen und die Vergabe von Berechtigungen.<\/p>\n<h4>&#8222;Keystone&#8220;<\/h4>\n<p>(Identity) &#8211; Keystone ist eine zentrale Komponente f\u00fcr die Authentifizierung und Autorisierung innerhalb aller OpenStack Dienste. Keystone verwaltet API-Anfragen und bietet konfigurierbare Katalog-, Policy, Token und Identit\u00e4ts-Dienste f\u00fcr eine bestimmte Cloud\u00a0an. Nutzer k\u00f6nnen bestimmten Gruppen, aber auch Tenants, abgegrenzten Projekten, zugeordnet werden und individuelle Rechte erhalten. Auch auf Gruppen-Ebene k\u00f6nnen Rechte vergeben werden.<\/p>\n<h4>&#8222;Nova&#8220;<\/h4>\n<p>(Compute) &#8211; Nova ist das Compute-Projekt in OpenStack und fast s\u00e4mtliche Dienste zusammen, die f\u00fcr die Verwaltung von Cloud-Instanzen zust\u00e4ndig sind. Zu den Diensten geh\u00f6ren zum einen Organisationsdienste, die Aufgaben abarbeiten und neue Instanzen auf vorhandene Systeme verteilen und zum anderen Dienste und Schnittstellen zur Virtualisierung, welche die Kommunikation mit dem Hypervisor \u00fcbernehmen. Nova geh\u00f6rt zu den verbreitetsten und aufgrund seines gro\u00dfen Funktionsumfangs zu den komplexeren OpenStack Projekten.<\/p>\n<h4>&#8222;Glance&#8220;<\/h4>\n<p>(Images) &#8211; Glance stellt einen Katalog und einen Aufbewahrungsort f\u00fcr Disk-\/ Server-Images und deren Metadaten bereit. Ein Image ist in Openstack die Basis f\u00fcr eine virtuelle Instanz. Es enth\u00e4lt ein Abbild eines vollst\u00e4ndig installierten Betriebssystems. Die Images werden im objektbasierten Speicher \u201eSwift\u201c oder anderen Speicherorten (Ceph rdb, Amazon S3 etc.) gespeichert. Wird \u00fcber den Compute Dienst Nova eine neue Instanz gestartet, greift dieser\u00a0\u00fcber die Glance-API auf das verf\u00fcgbare Basis-Image zu und kopiert es auf den auszuf\u00fchrenden Compute Node.<\/p>\n<h4>&#8222;Neutron&#8220;<\/h4>\n<p>(Networks) &#8211; Neutron bietet virtuelle Netzwerk-Verbindungen als Service zwischen Ger\u00e4ten, die von anderen OpenStack-Diensten verwaltet werden &#8211; haupts\u00e4chlich virtuelle Maschinen von Nova. Neutron erm\u00f6glicht es Nutzern, eigene Netzwerke zu erstellen, deren Aufbau\u00a0zu bearbeiten\u00a0und diese\u00a0mit ausgew\u00e4hlten Ger\u00e4ten (z. B. Routern oder Netzwerk-Interfaces) zu verkn\u00fcpfen. Neutron hat eine sehr offene Struktur und unterst\u00fctzt viele bekannte \u201esoftware defined networking\u201c (SDN) Lieferanten und Technologien zur Netzwerksteuerung.<\/p>\n<h4>&#8222;Cinder&#8220;<\/h4>\n<p>(Block Storage) &#8211; Cinder bietet persistenten Speicher in Form von Volumes f\u00fcr in der Cloud gehostete virtuelle Maschinen (VMs). Volumes k\u00f6nnen einer virtuellen Instanz beim Starten und im laufenden Betrieb zugewiesen werden. Durch den zus\u00e4tzlichen Speicher kann die Speicherleistung und -geschwindigkeit erh\u00f6ht werden. Speichervolumen und Status-Informationen werden in einer Datenbank gespeichert.<\/p>\n<h4>&#8222;Swift&#8220;<\/h4>\n<p>(Object Storage) &#8211; Swift bietet verteilten, objektbasierten Speicher. Was bedeutet das bzw. was ist ein Objekt? Ein Objekt ist eine Speichereinheit, die Daten enth\u00e4lt, die nach dem Erstellen gelesen oder gel\u00f6scht werden k\u00f6nnen. Eine \u00c4nderung der Daten ist jedoch nicht mehr m\u00f6glich. Die Objekte werden auch nicht wie man es von normal verwendeten Dateien kennt, in einer Hierarchie geordnet. Stattdessen existieren alle Objekte nebeneinander auf derselben Ebene in einem horizontalen Adressraum (Storage Pool). Sie werden dabei durch ihre erweiterten Metadaten charakterisiert. Objekt Storage ist also kein Dateisystem in dem Sinne, sondern viel mehr ein Container, der Dateien speichern und zu einem sp\u00e4teren Zeitpunkt via einer eindeutigen Kennzeichnung (Unique Identifier) abrufen kann.<\/p>\n<p>Weitere erw\u00e4hnenswerte Projekte:<\/p>\n<p><strong>Ceilometer<\/strong> (Telemetry\/ Metering &amp; Monitoring)<br \/>\n<strong>Heat<\/strong> (Orchestration)<br \/>\n<strong>Trove<\/strong> (Datenbank as a Service)<br \/>\n<strong>Ironic<\/strong> (Bare Metal Provisioning)<\/p>\n<p>Um als vollst\u00e4ndiges Cloud-Betriebssystem zu funktionieren werden f\u00fcr eine OpenStack-L\u00f6sung also eine Reihe von Infrastrukur-Managementkomponenten ben\u00f6tigt. Diese werden aufbauend auf der Operativen Infrastructure \u00fcber das OpenStack Dashboard Horizon und OpenStack Cloud APIs durch weitere Clients und Support-Funktionen eingebunden (z.B. Ceilometer f\u00fcr das Metering und Billing). Neben den von der OpenStack-Community aktiv entwickelten Projekten, gibt es weitere Komponenten wie MySQL \/ MariaDB und den Messaging Service RabbitMQ, die zwar kein Teil von OpenStack selbst sind, die aber f\u00fcr den Betrieb einer OpenStack-Umgebung notwendig oder sinnvoll sein k\u00f6nnen.<\/p>\n<h6>Verwendete Quellen:<\/h6>\n<h6>1) Beittner, Tillmann (u.a.), IaaS mit OpenStack. Cloud Computing in der Praxis\u201c, 1. Auflage Heidelberg 2014, S.15-27<br \/>\n2) <a href=\"http:\/\/vmartinezdelacruz.com\/in-a-nutshell-how-openstack-works\/\" target=\"_blank\" rel=\"noopener\">http:\/\/vmartinezdelacruz.com\/in-a-nutshell-how-openstack-works\/<\/a><br \/>\n3) <a href=\"https:\/\/www.linux.com\/learn\/introduction-openstack-part-one-zero-domination\" target=\"_blank\" rel=\"noopener\">https:\/\/www.linux.com\/learn\/introduction-openstack-part-one-zero-domination<\/a><br \/>\n4) <a href=\"http:\/\/de.slideshare.net\/gpaterno1\/openstack-explained\" target=\"_blank\" rel=\"noopener\">http:\/\/de.slideshare.net\/gpaterno1\/openstack-explained<\/a><\/h6>\n","protected":false},"excerpt":{"rendered":"<p>In\u00a0unserem ersten OpenStack Artikel\u00a0haben wir erkl\u00e4rt, was\u00a0OpenStack ist und schon einige der zentralen Komponenten der Open Source Cloud-Computing-Plattform genannt. In diesem Artikel wollen wir uns nun n\u00e4her mit der Funktion [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3147,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[66],"tags":[120,121,122,123,124,125,126,127,105,128],"class_list":["post-11597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-openstack","tag-cinder","tag-glance","tag-horizon","tag-keystone","tag-komponenten","tag-module","tag-neutron","tag-nova","tag-openstack","tag-swift"],"_links":{"self":[{"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/posts\/11597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/comments?post=11597"}],"version-history":[{"count":0,"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/posts\/11597\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/media?parent=11597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/categories?post=11597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scaleuptech.com\/en\/wp-json\/wp\/v2\/tags?post=11597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}