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:
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.
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:
Das Dialogfeld "Neue Anwendung" wird angezeigt.
Die Anwendungsnamen bestehen aus alphanumerischen Zeichen, Unterstrichen und Gedankenstrichen. Andere Sonderzeichen sind nicht zulässig.
Die Erstellungsmeldung wird angezeigt. Nach der Fertigstellung wird die Anwendung in der Anwendungsliste angezeigt.
Die Anwendung wird im Infrastruktur-Editor angezeigt. Sie können die Klassenbegrenzung jetzt festlegen.
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:
Das Fenster "Klassendefinition" wird geöffnet, und die Registerkarte Allgemein wird angezeigt.
Geben Sie einen alphanumerischen Wert ein, der den Klassentyp beschreibt.
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.
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.
Sie erstellen eine Klasseninstanz für Ihre Appliance, indem Sie eine generische Appliance verzweigen.
Die folgenden zwei generischen Appliances sind im Systemkatalog verfügbar:
Die Appliance hat ein 200-MB-Volume mit einer Mindestinstallation von 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:
Die Bestätigungsaufforderung wird angezeigt.
Das Fenster "Klasse verzweigen" zeigt den Status der Verzweigung an. Nach der Fertigstellung wird eine Erfolgsmeldung angezeigt.
Das Fenster "Instanz-Einstellungen" wird angezeigt.
Die Verzweigung ist vollständig. Sie können jetzt Ihre Appliance konfigurieren.
Sie konfigurieren das Innere der Appliance und binden die äußere Begrenzung an das Innere.
Das Innere besteht aus:
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:
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.
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:
Die Registerkarte Volumes wird angezeigt.
Das Dialogfeld Volumes erstellen wird angezeigt
Volume-Typ. Zum Beispiel: "Gemeinsam"
Eindeutiger Name des Volumes. Zum Beispiel: "data"
Größe des Volumes in Megabyte oder Gigabyte. Zum Beispiel: 100M
Dateisystem, das auf dem Volume installiert ist. Zum Beispiel: ext3
Klicken Sie auf Weiter und dann auf Schließen .
Die Registerkarte Volumes wird angezeigt.
Der Infrastruktur-Editor wird angezeigt.
vol manage appliancename.volumename --rw
mkdir content
Der Infrastruktur-Editor wird angezeigt.
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:
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.
Sie testen die Appliance, um sicherzustellen, dass die Konfiguration wie geplant funktioniert.
Führen Sie folgende Schritte aus:
Das Fenster "Anwendung starten" wird angezeigt.
Auf der Appliance wird der Startindikator angezeigt.
Wenn die Appliance startet, wird der grüne ausgeführte Indikator angezeigt.
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.
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:
> /var/log/lastlog
rm -f ~/.bash_history history -c
Sie können die Appliance jetzt in den Katalog verschieben.
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:
Die Appliance wird zum Katalog hinzugefügt.
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.
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:
Das Fenster "Anwendung starten" wird angezeigt.
Auf der Appliance wird der Startindikator mit einer Fortschrittsleiste angezeigt.
Wenn die Appliance gestartet ist, wird der Ausführungsindikator angezeigt.
Der letzte Test der Appliance ist abgeschlossen.
Die Appliance ist jetzt eine wiederverwendbare Appliance, auf die andere Entwickler zugreifen können.
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|