Foreman provided by gridscale: Erstelle und manage deine Server in Foreman mit dem Plugin von gridscale.io

Durch unser Tutorial Foreman – Hinzufügen und Konfigurieren des NTP-Moduls unter Ubuntu 16.04/18.04 weißt du bereits, wie du für dein Foreman das Management der Zeitsynchronisierung ermöglichst. In diesem Tutorial nun geht es um das Foreman-Plugin, dass dir gridscale.io für die Nutzung von Foreman bereitstellt. Ich werde dir zeigen, wie du es, bzw. die darin involvierten Software-Komponenten installierst und konfigurierst, sowie wie du das Plugin verwendest.

Zum Foreman-Plugin von gridscale

“Foreman provided by gridscale!” lautet das Motto des Plugins, das von gridscale.io für die Nutzung von Foreman entwickelt wurde. Wir stellen dir mit dem Plugin die Nutzung von Foreman über unsere eigenen Server-Templates bereit und machen es möglich, dass du innerhalb von Foreman mit unseren Server-Templates via dem Plugin interagieren kannst, sprich deren Generierung und die Steuerung deren Aktivierung/Deaktivierung in Foreman vornehmen kannst. Mit Hilfe des Plugins können nämlich von gridscale.io angebotene Server-Templates direkt von Foreman aus erstellt und gemanaged werden. Dies wäre ohne das Plugin nicht möglich. Für die Wirkung des Plugins stellt gridscale.io zwei Software-Komponenten zur Verfügung, zum einen foreman-gridscale und zum anderen fog-gridscale. Mit fog-gridscale hat gridscale einen eigenen Ruby-Gem für fog entwickelt, um mit Foreman via der gridscale API zu kommunizieren. gridscale verwendet fog-gridscale sozusagen als Brücke zwischen Foreman und der gridscale API.

Installiere und konfiguriere foreman-gridscale und fog-gridscale

Zunächst führst du ein Update auf deinem Server durch.

apt-get update &&apt-get upgrade

Im foreman/bundler.d-Verzeichnis erstellst du eine Datei leeren Inhalts namens Gemfile.local.rb. Das foreman/bundler.d-Verzeichnis sollte sich für gewöhnlich im /usr/share/foreman-Verzeichnis befinden. Ich nutze den unten aufgeführten Befehl, um die Datei zu erstellen und im nano-Editor zu öffnen.

nano /usr/share/foreman/bundler.d/Gemfile.local.rb

Füge der zunächst leeren Datei den Inhalt des unten präsentierten Code-Snippet ein.

gem 'foreman_gridscale'

Im folgenden Screenshot erkennst du, wie das aussehen sollte.

Sichere das Update mit der Tastenkombination Strg+O und beende deine Arbeit an den Inhalten der Datei, indem du den nano-Editor mit der Tastenkombination Strg+Xverlässt. Führe danach folgendes Kommando aus.

cd /usr/share/foreman &&sudo -u foreman /usr/bin/foreman-ruby /usr/bin/bundle install

Im Anschluss daran ist es erforderlich Foreman neu zu starten. Nutze hierzu den gezeigten Befehl.

touch /usr/share/foreman/tmp/restart.txt

Getting Started mit dem Foreman-Plugin von gridscale

Rufe in deinem Browser das Web-UI von Foreman auf. Nachdem du dich mit den dir bekannten Anmeldedaten eingeloggt hast, prüfst du am besten zunächst, ob das eben heruntergeladene und konfigurierte Plugin von gridscale in Foreman zur Verfügung steht. Hierzu navigierst du dich zum Info-Untermenüpunkt des Verwalten-Menüpunktes. Wie in den beiden Screenshots unten gezeigt, solltest du daraufhin im Plugins-Tab das von gridscale bereitgestellte Plugin für Foreman gelistet und im Verfügbare Provider-Tab die Installationsbestätigung sehen.

Eine neue Rechenressource unter dem gridscale-Provider erstellen

Begib dich als Nächstes im Menü zum Rechenressource-Untermenüpunkt des Infrastruktur-Menüpunktes.

Klicke dort den Rechenressource erstellen-Button.

Daraufhin wird ein Tab mit Formularfeldern zur neu zu erstellenden Rechenressource generiert, in dem du dann notwendige Informationen zu dieser angeben sollst. Du musst hier einen dir als passend erscheinenden Namen der neuen Rechenressource eintragen und kannst zusätzlich eine Beschreibung dazu beifügen. Des Weiteren musst du über das zur Verfügung gestellte Dropdown einen Provider für deine neue Rechenressource auswählen.

Wenn du alle beschriebenen Schritte befolgt hast, die wichtig für den korrekten Download und die korrekte Konfiguration von foreman-gridscale und foreman-fog sind, und dir das Plugin im Info-Untermenüpunkt des Verwalten-Menüpunktes angezeigt wird, dann sollte dir nun auch gridscale als Provider im Dropdown als auswählbare Option angezeigt werden. Sollte dies nicht der Fall sein, dann prüfe, ob die beiden zuvor in der Konfigurationsdatei gesetzten Pfade stimmen. Korrigiere die Pfade bei Bedarf, führe im Anschluss erneut das unten eingeblendete Kommando aus:

cd /usr/share/foreman &&sudo -u foreman /usr/bin/foreman-ruby /usr/bin/bundle install

und starte Foreman erneut neu.

touch /usr/share/foreman/tmp/restart.txt

Andernfalls wähle dann direkt gridscale als Provider im Dropdown.

Daraufhin werden zwei weitere Formularfelder generiert. Hierbei werden die Angaben zu der gridscale User-UUID sowie des gridscale API-Tokens mit Lese- und Schreibrechten verlangt.

Diese beiden Informationen findest du jeweils in deinem persönlichen gridscale-Panel in der gridscle API Sektion. Diese wiederum erreichst du entweder –wie im folgenden Screenshot gezeigt –unter dem API-Keys-Menüpunkt oder über den Link zur gridscale API Sektion.

Die beiden Informationen zur gridscale User-UUID sowie dem gridscale API-Token findest du dann auf der betreffenden Seite –wie im Screenshot unten verbildlicht und farblich hervorgehoben.

Achte darauf, dass der Berechtigungstyp deines Tokens auf “Vollzugriff” gesetzt ist und das du ein “Gültig bis”-Datum festgelegt hast.

Wenn du dann den Absenden-Button klickst, sollte dir das korrekte Erstellen der Rechenressource –wie im Screenshot unten präsentiert –bestätigt werden. Du befindest dich dann in der Detailansicht der neuen gridscale Rechenressource. Du bist nun fähig innerhalb deiner neuen gridscale Rechenressource Server zu erstellen und zu managen.

Die Detailansicht einer Rechenressource erreichst du jederzeit über den Rechenressource-Untermenüpunkt des Infrastruktur-Menüpunktes. Sobald mindestens eine Rechenressource angelegt wurde, siehst du auf der Rechenressource-Hauptseite nicht mehr –wie in einem der Screenshots zuvor gezeigt –den großen Button zum adden einer Rechenressource, sondern eine Liste aller derzeit verfügbaren Rechenressourcen. Nach wie vor kannst du aber weitere Rechenressourcen hinzufügen. Der Button befindet sich dann oben rechts auf Höhe der Suchleiste. Klickst du eine Rechenressource aus der erwähnten Liste, gelangst du in die besagte Detailansicht.

Rechenprofile unter der gridscale-Provider gestützten Rechenressource erstellen

Begib dich zum Rechenprofile-Untermenüpunkt des Infrastruktur-Menüpunktes

Dort sieht du alle verfügbaren Rechenprofile aufgelistet. Über den Rechenprofil erstellen-Button kannst du beliebig viele weitere Rechenprofile generieren. Du wirst dann lediglich um die Angabe eines Namens des neu zu erstellenden Rechenprofils gefragt. Automatisch wird das Rechenprofil unter der zuvor unter dem gridscale-Provider definierten und erstellten Rechenressource aufgeführt.

Auch die bereits in der Liste existierenden Rechenprofile gehören zu der Rechenressouce, die vom gridscale-Plugin provided wird. Das kannst du ganz gut reproduzieren, indem du ein Rechenprofil anklickst. In der Detailansicht sollte der Name der via gridscale bereitgestellten Rechenressource aufgeführt sein. In meinem Beispiel ist das der Name “foreman-plugin ”.

Klickst du in der Detailansicht des jeweiligen Rechenprofils auf den Namen der Rechenressource, gelanst du wiederum zu einer Detailseite, auf der du Angaben zum Rechenprofil im Kontext der gridscale-Rechenressource in Formularfeldern vorfindest und (um)definieren kannst. Du kannst hier u.a. das Volumen und den Arbeitsspeicher des Prozessors sowie den Speicherplatz des zum Server gehörenden Storage festlegen.

Des Weiteren stellt dir ein Dropdown alle von gridscale supporteten Templates zur Auswahl.

Zudem kannst du über den Schnittstelle hinzufügen-Button eine beliebige Menge an Netzwerkschnittstellen, unter der jeweiligen Angabe des Netzwerktyps sowie den IP-Adressen zu IPv4 und IPv6, zum Rechenprofil hinzufügen.

Passe dein Betriebssystem für die Nutzung von Hosts unter der gridscale-Provider gestützten Rechenressource an

Um neue Hosts unter der gridscale-Provider gestützten Rechenressource zu erstellen und zu führen, musst du dein Betriebssystem im Web UI von Foreman anpassen. Navigiere dich hierzu zum Betriebssysteme-Untermenüpunkt des Hosts-Menüpunktes.

Dort wirst du zunächst das Betriebssystem in der Liste finden, unter welchem du Foreman installiert hast. Über den Betriebssystem erstellen-Button kannst du aber auch jederzeit zusätzliche Betriebssysteme hinzufügen. Du klickst für die Anpassung des Betriebssystems auf das in der Liste befindliche und von dir bevorzugte Betriebssystem. In meinem Beispiel tue ich das für das bereits während der Installation von Foreman registrierte Betriebssystem.

Du wirst daraufhin auf die Detailseite des Betriebssystems weitergeleitet, auf der dir unterschiedliche Tabs die Möglichkeit bieten Formularfelder und Schaltflächen mit Informationen zu füllen. Im Betriebssystem-Tab sind allgemeine Daten zum Betriebssystem zu pflegen wie z.B. der Name und der Hauptrelease sowie der Nebenrelease. In den Selektion-Frames zu den Architekturen des Betriebssystems kannst du mit Klick auf die jeweilige Architektur dafür sorgen, dass diese zur Liste aller auswählbaren Architekturen geadded wird. Dies wird später, wenn du neue Hosts unter der gridscale-Provider gestützten Rechenressource generieren möchtest, eine Rolle spielen, da du dann u.a. auch Informationen zum Betriebssystem angeben musst und dir dann ein Dropdown zur Verfügung steht mit möglichen Auswahloptionen. Durch die Anpassung des Betriebssystems sorgst du vorab dafür, dass entsprechende Optionen später im Dropdown bei der Erstellung eines neuen Hosts auswählbar sind.

Im Partitionstabelle-Tab hast du erneut zwei Selektion-Frames. Hier gehst du genauso vor, wie bei den im Screenshot oben gezeigten Selektion-Frames zu den Architekturen.

Du kannst alle Elemente in das Ausgewählte Elemente-Frame überführen, sodass dir dann bei der Erstellung eines Hosts später auch alle diese Elemente im Dropdown bereitgestellt werden.

Schließlich ist dann noch der Installationsmedien-Tab relevant.

Auch in diesem Fall nutzt du die beiden Selektion-Frames, um die Menge der auswählbaren Optionen bei der späteren Generierung von neuen Hosts festzulegen.

Hosts unter der gridscale-Provider gestützten Rechenressource erstellen

Einen neuen Host erstellen kannst du, indem du den Alle Hosts-Untermenüpunkt des Hosts-Menüpunktes wählst und dort dann auf der Seite den Host erstellen-Button klickst oder direkt in der Menüleiste unter dem Hosts-Menüpunkt den Host erstellen-Untermenüpunkt betätigst.

Wenn du über den Alle Hosts
-Untermenüpunkt gehst, dann wird dir in der Liste zunächst der Host angezeigt, unter dem du Foreman installiert hast. Diesen Host zu bearbeiten im Sinne, dass er als Host unter der gridscale-Provider gestützten Rechenressource läuft, ist nicht möglich. Hierzu musst du via dem Host erstellen
-Button einen neuen Host anlegen.

Nach Klick auf den besagten Button gelangst du auf die Detailseite, auf der du unterschiedliche Tabs mit auszufüllenden Formularfeldern vorliegen hast. Im Host-Tab fixierst du allgemeine Informationen zum neu zu erstellenden Host. Im Bereitstellen auf-, Puppet-Master–und Puppet-CA-Dropdown wird dir nun jeweils das Foreman-Plugin von gridscale als Option angeboten. Dieses wählst du dann und im Umgebung-Dropdown gilt die production-Auswahl.

Im Virtuelle Maschine-Tab legst du die Rahmendaten deiner Servers fest, den du über das gridscale-Panel beziehst. Hierzu zählen dann Daten zum Speicherplatz sowie die Art des Server-Templates (in meinem Beispiel Ubuntu 18.04 LTS) sowie der SSH Key, der wie das Server-Template via Dropdown wählbar ist und den du bereits zu Beginn der Erstellung deiner Server-Templates von gridscale angegeben haben solltest. Ohne SSH-Key wird dir eine Fehlermeldung zurückgegeben, wenn du versuchst, den neuen Host zu generieren.

Im Betriebssystem-Tab pflegst du dann die Informationen zu dem Betriebssystem, unter dem der Host erstellt werden soll. Für das Architektur-, Medien–sowie das Partitionstabelle-Dropdown kannst du dich dann jeweils für eine der auswählbaren Optionen entscheiden, die du zuvor für das betreffende Betriebssystem definiert haben solltest.

Schließlich ist der Schnittstellen-Tab noch von Bedeutung. Hier findest du die Schnittstelle, die per-default für den neu zu erstellenden Host generiert wurde, als du den Host erstellen-Button betätigt hattest. Für diese Schnittstelle müssen jedoch noch Informationen ergänzt werden. Klicke auf den Bearbeiten-Button der in der Liste bereits vorzufindenden Schnittstelle. Du kannst bei Bedarf beliebig viele Schnittstellen hinzufügen.

Dir wird daraufhin das Detail-Interface dieser Schnittstelle geöffnet. Stelle hier sicher, dass der DNS-Name dem Namen deines neu zu erstellenden Host gleicht und du als Domäne im Dropdown gridserver.io ausgewählt hast. Alle übrigen Felder und Schaltflächen in diesem Interface sind nach deinem Ermessen zu editieren. Bestätige die für die Schnittstelle festgelegten Informationen mit Klick auf den OK-Button.

Nachdem du nun alle relevanten Informationen für den neuen Host im jeweiligen Tab implementiert hast, kannst du die Generierung des Hosts mit dem Absenden-Button in die Wege leiten.

Hierauf sollte die Bestätigung über die erfolgreiche Erstellung des Host erfolgen, indem du automatisiert auf die Detailseite des neuen Hosts weitergeleitet wirst. Somit verfügst du nun über einen Host in Foreman, der unter der gridscale-Provider gestützten Rechenressource läuft.

Hosts unter der gridscale-Provider gestützten Rechenressource managen

In Foreman ist es mit Hilfe des von gridscale entwickelten Plugins nicht nur möglich Hosts zu erstellen, sondern auch deren Status zu ändern oder diese zu löschen. Hiebei gibt es zwei Wege dies umzusetzen. Einer der beiden Wege führt dich in der Navigation des Foreman UI in den Alle Hosts-Untermenüpunkt des Hosts-Menüpunktes. Dort siehst du, wie bereits erwähnt, alle aktuell Hosts, die Foreman aktuell bekannt sind, tabellarisch gelistet. In der zweiten Spalte der Tabelle wird dir der Power-Status zu jedem Host angezeigt und mit Klick auf den jeweiligen Hostnamen offenbart sich dir dessen Detailseite. Den Power-Status eines Host kannst du ändern, indem du die Checkmark-Box in der ersten Spalte aktiv setzt und im rechts oben platzierten Aktion wählen-Dropdown die Energiezustand ändern-Option auswählst. Du kannst den Prozess bei Bedarf auch für eine Sammlung von Hosts durchführen, wenn du alle betreffenden Checkmark-Boxen aktiviert hast.

Die Auswahl der Energiezustand ändern-Option generiert ein Interface, in dem du in einem Dropdown spezifizieren kannst, in welcher Form sich der Energiezustand ändern soll. Abschließend bestätigst du deinen Änderungswunsch mit dem Absenden-Button.

Um einen Host zu löschen, kannst du in der Aktionen-Spalte via Dropdown des jeweiligen Host die Löschen-Option umsetzen. In diesem Fall müsstest du diese Aktion für jeden einzelnen zu löschenden Host durchführen.

Alternativ kannst du auch wieder das rechts oben befindliche Aktion auswählen-Dropdown nutzen. Das bietet sich vor allem an, wenn du die Löschung mehrerer Hosts gleichzeitig durchführen möchtest. Achte hierbei, wie bereits im Fall der Änderung des Energiezustands darauf, dass die Checkmark-Box in der ersten Spalte jedes Host aktiviert ist.

Auch in diesem Fall generiert die Auswahl der betreffenden Option ein Interface, in dem du das Löschen mit dem Absenden-Button bestätigen sollst.

Ein weiterer Weg deine unter dem Plugin erstellten Hosts zu managen führt über die Rechenressource-Seite, die du –wie bereits gezeigt –als Untermenüpunkt des Infrastruktur-Menüpunktes findest. Hier klickst du die betreffende gridscale-Provider gestützte Rechenressource an.

Hierauf wirst du auf die Detailseite weitergeleitet, wo du dann im Virtuelle Maschinen-Tab ebenfalls alle Foreman bekannten Hosts tabellarisch gelistet siehst. Hier ist es dir –wie auf der Alle Hosts-Seite eben gezeigt –möglich über den Energiezustand des jeweiligen Host zu entscheiden. Hierzu klickst du einfach den Power Ein-/Power Aus-Button, wie in den beiden folgenden Screenshot unten gezeigt.

Solltest du einen Host aus der Liste löschen wollen, dann betätige einfach das jeweilige Dropdown, das sich neben dem betreffenden Power Ein-/Power Aus-Button befindet und wähle entsprechend die Option, mit der du die Löschung einleitest.

Gut zu wissen …

  • Bei der Erstellung eines Hosts können mehrere Netzwerkschnittstellen auf bootfähig gesetzt werden. Die gridscale-Plattform unterstützt dies nicht. Daher wird in diesem Fall nur eine der Schnittstellen tatsächlich auf bootfähig gesetzt.
  • Beim Erstellen eines Berechnungsprofils wird die gewählte Netzwerkschnittstellenkonfiguration nicht gespeichert.
  • Der Überblick über die virtuellen Maschinen einer Rechenressource kann sehr lange dauern.
  • Die auf der Registerkarte “VM ”eines Hosts angezeigten Daten sind nicht vollständig. Weitere Informationen darüber, welche Informationen nützlich sind, sind erforderlich.
  • Das Öffnen der Konsole eines Hosts in Foreman wurde nicht implementiert, es wird jedoch ein Link zu gridscale bereitgestellt.
  • Das Herunterfahren des Acpi-Systems kann ein System, das nicht neu gestartet wurde, nicht herunterfahren.

Fazit

Du verfügst nun über das gridscale-Plugin für die Nutzung von Foreman und kannst innerhalb von Foreman von gridscale angebotene Server-Templates erstellen, diese verwenden und managen. Es hat mir Spaß gemacht, dir bei der Installation und Konfiguration des Plugins zu helfen und dir zu zeigen, wie du einen neuen Server unter der gridscale-Provider gestützten Rechenressource erstellst, diesen löschen oder seinen Energiezustand ändern kannst. Ich wünsche dir viel Freude bei der Nutzung unseres Plugins! 🙂