Deployment

Der Data Processing Service wird wie viele andere OpenStack Services als Applikation eingesetzt, die auf einem Host läuft, der mit dem Stack verbunden ist. Ab dem Kilo-Release ist es möglich, mit mehreren redundanten Controllern verteilt zu deployen. Wie andere Dienste erfordert es auch eine Datenbank, um Informationen über ihre Ressourcen zu speichern. Siehe Datenbanken. Es ist wichtig zu beachten, dass der Datenverarbeitungsdienst mehrere Identity Service Trusts verwalten muss, direkt mit den Orchestrierungs- und Netzwerkdiensten kommunizieren und möglicherweise Benutzer in einer Proxy-Domäne erstellen. Aus diesen Gründen benötigt der Regler Zugriff auf die Steuerungsebene und empfiehlt daher, neben anderen Service-Controllern zu installieren.

Die Datenverarbeitung interagiert direkt mit mehreren Openstack-Diensten:

  • Compute

  • Identität

  • Vernetzung

  • Objektspeicher

  • Orchestrierung

  • Blockspeicher (optional)

Wir empfehlen Ihnen, alle Datenströme und Brückenpunkte zwischen diesen Diensten und dem Datenverarbeitungscontroller zu dokumentieren. Siehe Systemdokumentation.

Der Objektspeicherdienst wird vom Datenverarbeitungsdienst zum Speichern von Jobbinärdateien und Datenquellen verwendet. Benutzer, die Zugang zu der vollständigen Datenverarbeitungsdienstfunktion haben möchten, benötigen einen Objektspeicher in den von ihnen verwendeten Projekten.

Der Networking-Service spielt bei der Bereitstellung von Clustern eine wichtige Rolle. Vor der Bereitstellung wird erwartet, dass der Benutzer ein oder mehrere Netzwerke für die Cluster-Instanzen bereitstellt. Die Aktion der Assoziationsnetze ähnelt dem Prozess der Zuweisung von Netzwerken beim Start von Instanzen über das Dashboard. Diese Netzwerke werden vom Controller für den administrativen Zugriff auf die Instanzen und Frameworks seiner Cluster verwendet.

Bemerkenswert ist auch der Identitätsdienst. Benutzer des Datenverarbeitungsdienstes benötigen entsprechende Rollen in ihren Projekten, um die Bereitstellung von Instanzen für ihre Cluster zu ermöglichen. Installationen, die die Proxy-Domänenkonfiguration verwenden, erfordern besondere Berücksichtigung. Siehe Proxy-Domänen. Insbesondere benötigt der Datenverarbeitungsdienst die Möglichkeit, Benutzer innerhalb der Proxy-Domäne zu erstellen.

Controller-Netzwerkzugriff auf Cluster

Eine der primären Aufgaben des Datenverarbeitungscontrollers ist es, mit den Instanzen zu kommunizieren, die es erzeugt. Diese Instanzen werden in Abhängigkeit von dem verwendeten Framework bereitgestellt und dann konfiguriert. Die Kommunikation zwischen dem Controller und den Instanzen verwendet secure shell (SSH) und HTTP-Protokolle.

Bei der Bereitstellung von Clustern erhält jede Instanz eine IP-Adresse in den vom Benutzer bereitgestellten Netzwerken. Das erste Netzwerk wird oft als das Datenverarbeitungs-Management-Netzwerk bezeichnet und Instanzen können die feste IP-Adresse verwenden, die dem Networking-Dienst für dieses Netzwerk zugewiesen ist. Der Controller kann auch so konfiguriert werden, dass er neben der festen Adresse auch Floating-IP-Adressen für die Instanzen verwendet. Bei der Kommunikation mit den Instanzen wird der Controller die Floating-Adresse bevorzugen, wenn aktiviert.

Für Situationen, in denen die festen und Floating-IP-Adressen nicht die erforderliche Funktionalität bereitstellen, kann der Controller durch zwei alternative Methoden Zugriff gewähren: benutzerdefinierte Netzwerktopologien und indirekten Zugriff. Die benutzerdefinierte Netzwerk-Topologien-Funktion ermöglicht es dem Controller, über einen bereitgestellten Shell-Befehl in die Konfigurationsdatei auf die Instanzen zuzugreifen. Indirekter Zugriff wird verwendet, um Instanzen anzugeben, die als Proxy-Gateways vom Benutzer während der Cluster-Bereitstellung verwendet werden können. Diese Optionen werden mit Anwendungsbeispielen in Konfiguration und Hardening diskutiert.