Vorheriges Thema: So erstellen Sie eine Appliance, indem Sie eine Appliance mit ähnlichen Funktionen verzweigenNächstes Thema: Erstellen eine Appliance durch Importieren des OVF-Images


So erstellen Sie eine Appliance, indem Sie eine generische Appliance verzweigen

Als Entwickler erstellen Sie eine individuelle Appliance, die Sie als Baustein für die Erstellung von Anwendungen verwenden. Appliances sind sehr wertvoll, da sie es Entwicklern ermöglichen, Anwendungen schnell zusammenzusetzen. Wenn Sie eine Appliance konfigurieren, ermöglichen Sie es der nachfolgenden Entwicklungsaktivität, sich auf das Anwendungsdesign zu konzentrieren, statt auf die Produktkonfiguration.

Eine Appliance ist ein individueller virtueller Computer, der physische Hardware emuliert, wie z. B. Server, Switches, Router und Lastenausgleichsmodule. Jede Appliance wird in der eigenen virtualisierten Umgebung ausgeführt, startet das eigene Betriebssystem, die eigenen Anwendungsdienste und andere erforderliche Software. Die Appliance-Begrenzung isoliert das Innere der Appliance von der Außenseite und definiert die Struktur. Außerdem wird definiert, wie sie mit anderen Komponenten, einschließlich des Grid, interagiert.

Zusätzlich zur Verzweigung einer generischen Appliance können Sie eine Appliance mit ähnlichen Funktionen verzweigen, ein OVF-Image importieren, ein Betriebssystem installieren oder eine Assembly erstellen. Sie müssen Eigenschaftswerte festlegen, Speicher-Volumes erstellen, Netzwerkverbindungen erstellen und die Qualität der Lösung überprüfen, um Ihre Appliance zu erstellen.

Folgendes Diagramm zeigt, wie ein Entwickler eine Appliance erstellt, indem eine generische Appliance verzweigt wird:

SBC_Generische Übersicht

  1. Erstellen einer Appliance
  2. Konfigurieren einer Appliance
  3. Abschließen einer Appliance
So erstellen Sie eine Appliance

Als Entwickler beginnen Sie mit dem Erstellen der Sandbox-Anwendung. Die Anwendung stellt die ideale Umgebung bereit, um die Appliance zu erstellen und zu testen, bevor sie in den lokalen oder globalen Katalog verschoben wird.

Der Katalog enthält generische Klassen, die Entwickler per Drag-and-Drop auf die Arbeitsfläche ziehen. Diese Aktion instanziiert die Appliance innerhalb der Anwendung. Allerdings verwaltet die Katalogklasse weiterhin die Appliance. Wenn Sie den Katalog aktualisieren, wird das Image aller Appliances, die von dieser Klasse instanziiert werden, teilweise neu erstellt, damit sie mit der aktualisierten Klasse übereinstimmen.

Um Ihre eigenen Klassen für die Bereitstellung im Katalog zu erstellen, müssen Sie die Verbindung der vorhandenen Klasse trennen. Durch die Trennung kann Ihre Entwicklung unabhängig von der ursprünglichen Klasse vorhanden sein. Das Trennen der Verbindung wird Verzweigen der Klasse genannt. Das Verzweigen der Appliance erstellt eine eigenständige Entität, die "Singleton" genannt wird.

Wenn Sie anschließend die Katalogklasse durch Ihren Singleton ersetzen, dann werden alle von Ihnen vorgenommenen Änderungen in allen Anwendungen, die diese Klasse verwenden, beibehalten. Wenn Sie zum Beispiel einen statischen Wert angeben, wird dieser statische Wert in allen Anwendungen, diese Klasse verwenden, beibehalten. Wenn Sie das Betriebssystem im Singleton aktualisieren, dann ersetzen Sie die Katalogklasse durch Ihren Singleton. Sie aktualisieren automatisch das Betriebssystem in allen Anwendungen, die auf dieser Klasse basieren.

Generisch_Appliance erstellen

  1. Erstellen einer Sandbox-Anwendung
  2. Festlegen der Klassenbegrenzung
  3. Verzweigen einer generischen Appliance
Erstellen einer Sandbox-Anwendung

Sie können eine neue Anwendung erstellen, die vorübergehend als Sandbox-Anwendung verwendet wird, um Ihre Appliance zu konfigurieren. Nach der Fertigstellung können Sie die Sandbox-Anwendung löschen.

Führen Sie folgende Schritte aus:

  1. Wählen Sie in der GUI die Registerkarte Anwendungen aus, und wählen Sie dann das Symbol Neue Anwendung aus.

    Das Dialogfeld "Neue Anwendung" wird angezeigt.

  2. Geben Sie den Namen der Anwendung an.

    Die Anwendungsnamen bestehen aus alphanumerischen Zeichen, Unterstrichen und Gedankenstrichen. Andere Sonderzeichen sind nicht zulässig.

  3. Klicken Sie auf OK.

    Die Erstellungsmeldung wird angezeigt. Nach der Fertigstellung wird die Anwendung in der Anwendungsliste angezeigt.

  4. Klicken Sie auf den Anwendungsnamen.

    Die Anwendung wird im Infrastruktur-Editor angezeigt. Sie können die Klassenbegrenzung jetzt festlegen.

Festlegen der Klassenbegrenzung

Die Begrenzung definiert die Funktion der Appliance, und es wird definiert, wie die Appliance der Grid-Steuerung und anderen Appliances auf dem Grid angezeigt wird. Sie umfasst alle erforderlichen Komponenten, um die Appliance zu konfigurieren und mit anderen Appliances zu verbinden.

Sie definieren die Begrenzung einer Appliance-Klasse und legen die Bindungen zwischen der Klassenbegrenzung und den Bestandteilen der Appliance fest.

Schnittstellen

Schnittstellen oder Terminals sind Verbindungspunkte für logische Interaktionen zwischen Appliances. Dadurch können Softwarepakete innerhalb der virtuellen Appliances kommunizieren, ohne geändert werden zu müssen.

Von innerhalb der Appliance aus gesehen ist das Terminal ein Hostname, der nur für diese Appliance-Instanz sichtbar ist. Der Terminal-Name eines Eingabe-Terminals kann in der Appliance verwendet werden, um ein "listening"-Socket für das Akzeptieren von Verbindungen zu erstellen. Der Terminal-Name eines Ausgabe-Terminals wird zur mit dem Terminal verbundenen Appliance aufgelöst und kann verwendet werden, um Verbindungen zwischen Appliances herzustellen.

Wenn z. B. eine Appliance den Zugriff auf einen Datenbankserver benötigt, können Sie einen Ausgabe-Terminal für den Zugriff auf diese Datenbank definieren und sie "dbase" nennen. Beim Konfigurieren des JDBC-Treibers in der Appliance legen Sie einfach den Namen der Ausgabe "dbase" als Hostnamen des Zieldatenbankservers fest. Zur Laufzeit kann jede Instanz Ihrer Appliance mit einem anderen Datenbankserver verbunden werden, ohne dass Sie den Zielhostnamen für den JDBC-Treiber ändern müssen. Der gleiche Hostname "dbase" löst automatisch zur richtigen IP-Adresse des Datenbankservers auf, mit dem die betreffende Instanz verbunden ist.

Sie können Terminals zu einem späteren Zeitpunkt ändern, hinzufügen oder löschen.

Für jedes Terminal müssen Sie angeben, welche Protokolle darauf zulässig sind. Dadurch wird eine virtuelle Firewall auf dem Terminal erstellt. Ein Terminal kann als obligatorisch gekennzeichnet werden. Wenn ein erforderlicher Terminal nicht verbunden ist, startet die Appliance nicht.

Führen Sie folgende Schritte aus:

  1. Klicken Sie im Infrastruktur-Editor mit der rechten Maustaste auf die Arbeitsfläche, und wählen Sie Begrenzung ändern aus.

    Das Fenster "Klassendefinition" wird geöffnet, und die Registerkarte Allgemein wird angezeigt.

  2. Geben Sie die folgende Namensinformationen der Begrenzung ein.
    Name

    Geben Sie einen alphanumerischen Wert ein, der den Klassentyp beschreibt.

    Instanzname-Vorlage

    Geben Sie einen alphanumerischen Wert ein, der bei der Generierung des Appliance-Namens als Präfix eingesetzt wird, wenn Sie diese Appliance auf die Arbeitsfläche ziehen.

    Die erste Instanz der Appliance verwendet den Wert, der in diesem Feld angegeben ist, während nachfolgende Instanzen den hier definierten Namen und ein numerisches Suffix verwenden. Wenn kein Wert in diesem Feld angegeben ist, wird der Klassenname als Präfix für alle Appliances verwendet.

    Kategorie

    Geben Sie die Kategorie an, wie z. B. "Anwendungsserver", "Webserver" oder "Verschiedenes".

    Die Kategorie ist eine kurze alphanumerische Wortfolge, die die Einteilung dieser Appliance im Katalog beschreibt. Wenn die Appliance in den Katalog verschoben wird, werden alle Appliances mit der gleichen Kategorie gruppiert.

  3. Wählen Sie die Registerkarte Schnittstellen aus, dann definieren Sie nach Bedarf die Terminals.
  4. Wählen Sie die Registerkarte "Hinweise" aus, und fügen Sie Hinweise hinzu, um zu identifizieren, welche Änderungen vorgenommen wurden. Nachfolgende Entwickler können dadurch die Funktion Ihrer Appliance leicht nachvollziehen.
  5. Klicken Sie auf OK. Der Infrastruktur-Editor wird angezeigt.
  6. Klicken Sie auf Speichern.
Verzweigen einer generischen Appliance

Sie erstellen eine Klasseninstanz für Ihre Appliance, indem Sie eine generische Appliance verzweigen.

Die folgenden zwei generischen Appliances sind im Systemkatalog verfügbar:

LUX

Die Appliance hat ein 200-MB-Volume mit einer Mindestinstallation von Linux.

LINUX

Der Server hat ein 2-GB-Volume mit einer standardmäßigen Serverinstallation von Linux.

Für dieses Szenario verwendet der Entwickler "LUX6". Diese Appliance benötigt nur ein kleines Volume für unsere Sandbox-Umgebung.

Führen Sie folgende Schritte aus:

  1. Scrollen Sie im Systemkatalog zum generischen Abschnitt, und ziehen Sie die generische LUX6-Appliance per Drag-and-drop auf die Arbeitsfläche.

    Verzweigen_Lux6

  2. Klicken Sie mit der rechten Maustaste auf die Appliance, und klicken Sie auf Klasse verzweigen.

    Die Bestätigungsaufforderung wird angezeigt.

  3. Klicken Sie auf OK.

    Das Fenster "Klasse verzweigen" zeigt den Status der Verzweigung an. Nach der Fertigstellung wird eine Erfolgsmeldung angezeigt.

  4. Klicken Sie auf Schließen.
  5. Benennen Sie die Appliance im Infrastruktur-Editor um, indem Sie mit der rechten Maustaste auf die Appliance klicken und Attribute auswählen.

    Das Fenster "Instanz-Einstellungen" wird angezeigt.

  6. Geben Sie im Feld Name einen Namen ein, der auf Ihre Appliance hinweist, und klicken Sie auf OK.
  7. Klicken Sie im Infrastruktur-Editor auf Speichern.

    Die Verzweigung ist vollständig. Sie können jetzt Ihre Appliance konfigurieren.

So konfigurieren Sie die Appliance

Sie konfigurieren das Innere der Appliance und binden die äußere Begrenzung an das Innere.

Das Innere besteht aus:

  1. Installieren von Software
  2. Trennen der Konfiguration und Daten vom Code
  3. Binden der Begrenzung an innere Begrenzung
Installieren von Software

Sie laden anwendungsspezifische Software auf der Appliance hoch und installieren sie. Zuerst ermitteln Sie die Anwendungen und ihre Lizenzierungs- und Verteilungssanforderungen, die für Ihre Appliance benötigt werden.

Die flexibelste und effizienteste Methode, um Software in Ihrer Appliance zu installieren, ist die Verwendung der ssh-Schnittstelle und der Befehl "scp" (sichere Kopie). Wenn Sie Windows verwenden, stellen Sie sicher, dass Sie einen echten scp-Client verwenden, nicht "sftp".

Führen Sie folgende Schritte aus:

  1. Richten Sie den SSH-Zugriff auf das Grid ein.
  2. Konfigurieren Sie den SSH-Client auf Ihrer Arbeitsstation.
  3. Platzieren Sie Ihre anwendungsspezifische Software auf Ihrer Arbeitsstation.
  4. Stellen Sie sicher, dass Ihr zur Klasse gehörendes Volume lesbar bzw. beschreibbar ist.
  5. Starten Sie die Appliance über die GUI.
  6. Melden Sie sich bei der Grid-Shell an, und führen Sie folgenden Befehl aus:
    ssh appname:componentname 
    

    Es wird Stammzugriff auf die Appliance gewährt.

    Hinweis: Sie können auch die Shell-Makros (rmacros.sh) des Remote-Zugriffs verwenden, die die Shell assh bereitstellen, die den Befehl "ascp" für das Kopieren einer Datei enthält. Für "rmacros.sh" ist die Bash-Shell und OpenSSH 3.9 oder höher erforderlich.

  7. Führen Sie in der Appliance "scp" aus, um Ihre Anwendungsdateien auf die Appliance zu übertragen.
  8. Melden Sie sich aus der Grid-Shell ab. Sie müssen die Appliance nicht anhalten.

Trennen der Konfiguration und Daten vom Code

Sie können Ihre Konfiguration und Daten vom Code trennen, indem Sie ein zur Klasse gehörendes Volume erstellen, wie z. B. Daten, um den Code zu speichern. Alle Instanzen der Appliance-Klasse geben das schreibgeschützte Daten-Volume frei. Das Lese-/Schreib-Startvolume enthält den Appliance-Code.

Führen Sie folgende Schritte aus:

  1. Klicken Sie mit der rechten Maustaste auf die Appliance, und wählen Sie Begrenzung ändern und Volumes aus.

    Die Registerkarte Volumes wird angezeigt.

  2. Um das neue Volume hinzuzufügen, klicken Sie auf Hinzufügen.

    Das Dialogfeld Volumes erstellen wird angezeigt

  3. Füllen Sie die folgenden Felder aus:
    Typ

    Volume-Typ. Zum Beispiel: "Gemeinsam"

    Name

    Eindeutiger Name des Volumes. Zum Beispiel: "data"

    Größe

    Größe des Volumes in Megabyte oder Gigabyte. Zum Beispiel: 100M

    Dateisystem

    Dateisystem, das auf dem Volume installiert ist. Zum Beispiel: ext3

    Klicken Sie auf Weiter und dann auf Schließen .

    Die Registerkarte Volumes wird angezeigt.

  4. Wählen Sie das Volume aus, geben Sie dann den Volume-Bereitstellungspunkt, wie z. B. "/content", in der Spalte Bereitstellen auf ein, und klicken Sie auf OK.

    Der Infrastruktur-Editor wird angezeigt.

  5. Klicken Sie auf das Symbol "Grid-Shell".
  6. Um die Volume-Verwaltung zu starte, führen Sie folgenden Befehl aus:
    vol manage appliancename.volumename --rw
    
  7. Um das Inhaltsverzeichnis zu erstellen, führen Sie folgenden Befehl aus:
    mkdir content 
    
  8. Fügen Sie Ihre Konfiguration und Daten in das separate Volume ein.
  9. Verlassen Sie die Grid-Shell.

    Der Infrastruktur-Editor wird angezeigt.

  10. Speichern Sie die Anwendung.
Binden der Begrenzung an innere Begrenzung

Die Appliance-Begrenzung haben Sie zuvor definiert. Jetzt müssen Sie die Begrenzung an das Innere binden, um die Appliance-Initialisierung und den Systemstart zu konfigurieren. Damit kann Ihre Appliance seine eigene virtualisierte Umgebung ausführen und sein eigenes Betriebssystem, Anwendungsdienste und andere erforderliche Software booten.

Das Innere der Appliance besteht aus:

So schließen Sie die Appliance ab

Sie testen die Appliance und bereinigen die Appliance-Volumes. Sie können Ihre Appliance in einen Katalog einfügen. Kataloge ermöglichen es Ihnen, mehrere Appliance-Klassen einfach in eine Bibliothek zu packen. Der Katalog enthält Appliances, die Sie in verschiedenen Anwendungen verwenden, wie z. B. eine Verwaltungsanwendung für Datenbanken im Gesundheitswesen oder eine Help-Desk-Anwendung.

Generisch_Appliance abschließen

  1. Testen einer Appliance
  2. Bereinigen einer Appliance
  3. Verschieben einer Appliance in einen Katalog
  4. Ausführen eines letzten Tests der Appliance
Testen der Appliance

Sie testen die Appliance, um sicherzustellen, dass die Konfiguration wie geplant funktioniert.

Führen Sie folgende Schritte aus:

  1. Wählen Sie im Infrastruktur-Editor die Appliance aus, und klicken Sie dann auf das Startsymbol.

    Das Fenster "Anwendung starten" wird angezeigt.

  2. Wählen Sie Erweiterte Optionen aktivieren und Debug-Modus aus, und klicken Sie dann auf Anwendung starten.

    Auf der Appliance wird der Startindikator angezeigt.

    Wenn die Appliance startet, wird der grüne ausgeführte Indikator angezeigt.

  3. Wenn die Appliance nicht gestartet werden kann, überprüfen Sie die Fehlerdetails oder Protokolldateien, um das Problem zu ermitteln.

    Um Fehlerdetails anzuzeigen, klicken Sie im Dialogfeld "Eingabeaufforderung" auf Ja. Die Details werden in der dynamischen Arbeitsfläche angezeigt.

    Um die vollständigen Protokolle anzuzeigen, wählen Sie die Registerkarte Protokolle aus. Die Protokolldateien werden angezeigt.

  4. Beheben Sie das Problem.
  5. Wiederholen Sie diese Schritte, bis die Appliance startet.

Bereinigen der Appliance

Sie können Dateien entfernen, wie z. B. Protokolldateien oder Verzeichnisse, die von der Softwareinstallation hinzugefügt wurden und die für die Ausführung der Appliance nicht erforderlich sind.

Führen Sie folgende Schritte aus:

  1. Melden Sie sich bei Ihrer Appliance an.
  2. Entfernen Sie unnötige Dateien, wie z. B. Protokolle, SSH-Schlüssel, Bash-Verlauf und mysql-Verlauf.
  3. Um die letzten Anmeldeinformationen zu löschen, führen Sie folgenden Befehl aus:
    > /var/log/lastlog 
    
  4. Löschen Sie die Liste der kürzlich ausgeführten Befehle aus dem Verlaufszwischenspeicher, indem Sie folgenden Befehl ausführen:
    rm -f ~/.bash_history 
    history -c 
    
  5. Melden Sie sich aus der Appliance ab.
  6. Klicken Sie im Infrastruktur-Editor auf das Symbol Anhalten, und klicken Sie in der Bestätigungsmeldung auf OK.

    Sie können die Appliance jetzt in den Katalog verschieben.

Verschieben der Appliance in einen Katalog

Sie können Ihre Appliance in den Katalog verschieben, um die Appliance freizugeben oder zu instanziieren. Wenn Sie Ihre Appliance freigeben, dann können Sie oder andere Entwickler die Appliance als Baustein in ihrer Anwendung verwenden.

Führen Sie folgende Schritte aus:

  1. Überprüfen Sie im Infrastruktur-Editor den Katalog, in dem Sie die Appliance platzieren.
  2. Wählen Sie den Katalogtyp im Drop-down-Menü "Katalog" aus.
  3. Stellen Sie sicher, dass die Appliance angehalten ist.
  4. Ziehen Sie die Appliance in den Katalog.
  5. Um die Appliance zu speichern, klicken Sie auf OK.

    Die Appliance wird zum Katalog hinzugefügt.

  6. Wenn eine Meldung angezeigt wird, die darauf hinweist, dass die gemeinsamen Volumes schreibgeschützt sein müssen, dann klicken Sie mit der rechten Maustaste auf die Appliance, und wählen Sie Begrenzung ändern aus.

    Das Fenster "Begrenzungen ändern" wird angezeigt.

    Wählen Sie die Registerkarte Volumes aus, und stellen Sie sicher, dass alle Volumes des Typs "Gemeinsam" (üblicherweise mit dem Namen "usr") schreibgeschützt und freigegeben sind. Der Typ "Gemeinsam" gibt das gemeinsame Volume zwischen allen Instanzen der Appliance frei.

    Wenn Sie das Appliance-Volume nicht freigeben möchten, dann ändern Sie den Volume-Typ in "Instantiierbar".

    Klicken Sie auf OK, und wiederholen Sie nach Bedarf diese Schritte.

Ausführen eines letzten Tests der Appliance

Sie können einen letzten Test der Appliance ausführen, um Ihre Appliance aus der Sicht von anderen Entwicklern, die Ihre Appliance verwenden, anzuzeigen.

Führen Sie folgende Schritte aus:

  1. Ziehen Sie im Infrastruktur-Editor die Appliance aus dem Katalog.
  2. Klicken Sie auf Start.

    Das Fenster "Anwendung starten" wird angezeigt.

  3. Klicken Sie auf Anwendung starten.

    Auf der Appliance wird der Startindikator mit einer Fortschrittsleiste angezeigt.

    Wenn die Appliance gestartet ist, wird der Ausführungsindikator angezeigt.

  4. Klicken Sie auf Anhalten und auf OK.

    Der letzte Test der Appliance ist abgeschlossen.

  5. Löschen Sie die Sandbox-Anwendung.

    Die Appliance ist jetzt eine wiederverwendbare Appliance, auf die andere Entwickler zugreifen können.