Vorheriges Thema: Appliance-Kit-Installation für Ubuntu-Linux-Distributionen

Nächstes Thema: Appliance-Kit


Solaris-Appliance-Installation
Dateien
Kompatibilität

Die Versionen "apk-*-solaris" sind mit den folgenden Betriebssystem-Distributionen kompatibel:

Zum Installieren von APK benötigen Sie:

Vorbereiten des Image

Die folgenden Schritte können je nach der ursprünglichen Installation des Betriebssystems variieren. Sie werden nicht vom APK-Setupskript ausgeführt, und werden dem Ermessen des Bedieners überlassen, da einige von ihnen invasiv sind und destruktiv sein können, wenn sie versehentlich auf einem Live-System ausgeführt werden (statt auf dem Image, das vorbereitet wird). Daher wird davon abgeraten, sie über ein automatisiertes Skript ablaufen zu lassen.

Überspringen Sie Schritte, die für Sie nicht zutreffend sind.

HINWEIS: Nach der Bereinigung kann das Volume verkleinert werden, um ein kleineres Start-Volume-Image für die Appliance zu erhalten. Stellen Sie aber sicher, dass mindestens 5–10 MB freier Speicherplatz verbleiben, um genügend Platz für die Installation von  APK und für Protokolldateien, temporäre Dateien usw. zu haben.

Installieren von APK

Laden Sie das Betriebssystem-Image in Ihrem Dateisystem. Wenn das Image bereits als ein Volume auf einem AppLogic-Grid installiert ist, kann darauf mithilfe des Befehls "vol manage" zugegriffen werden. Kopieren Sie die APK-Dateien in das Verzeichnis "/tmp" auf dem Image selbst oder in ein temporäres Verzeichnis auf dem Host, auf dem das Image geladen wird. Wenn sich das Image bereits auf einem Grid befindet, kopieren Sie die Dateien über die Webschnittstelle auf das Image selbst. (Ohne Grid: Beachten Sie, dass die folgenden Vorgänge als Benutzer "root" durchgeführt werden müssen.)

Entpacken Sie das APK-Binärarchiv in das Stammverzeichnis des Images, z. B.:

cd /mnt/vol
gtar -zxf tmp/apk-2.0.1-solaris.tar.gz 

Installation auf einem OpenSolaris-Image, das für die Ausführung als  paravirtualisierte Appliance (`uname -i` == i86xpv) vorbereitet wurde:

bash tmp/apk-install pvm 

Installation auf einem Solaris 10- oder OpenSolaris-Image, das lassen wird, das als Hardware-gestützter virtueller Computer (HVM) ausgeführt wird:

bash tmp/apk-install 

Wenn die Option "pvm" ausgeführt wird und das Ziel-Image einen paravirtualisierten Kernel hat, ersetzt das Skript die Startkonfigurationsdatei. Die alte Datei wird als "boot/grub/menu.lst.apksave" gespeichert. Wenn Sie dies nicht möchten (und Sie die Appliance als HVM ausführen möchten), stellen Sie die Datei manuell wieder her. Wenn kein paravirtualisierter Kernel vorhanden ist, aber "pvm" angegeben wurde, zeigt das Installationsskript eine Warnung an. Die Installation wird nicht abgebrochen, und das Image kann weiterhin als eine gültige HVM-Appliance verwendet werden.

Das Setupskript (und die Dateien mit der Erweiterung "tar", falls sie in das Image selbst kopiert wurden) können jetzt entfernt werden:

rm tmp/apk-install  tmp/apk-*.tar.gz 

Heben Sie das Image auf, und importieren es zu Ihrem AppLogic-Grid. (Oder schließen Sie einfach die Shell "vol manage", wenn sich das Image bereits auf Ihrem Grid befindet und mithilfe von "vol manage" bearbeitet wurde.)

Wenn das Image ein Image einer vorhandenen Appliance war, bearbeiten Sie die Klasse (mithilfe des GUI-Editors), und entfernen Sie die Kernel- und initrd-Dateinamen. Legen Sie den Konfigurationsmodus auf "dhcp" fest.

Anpassen des Appliance-Verhaltens - Schnellreferenz

Weitere Informationen finden Sie im Benutzerhandbuch.

Appliance-Initialisierungskonfiguration

Wenn die Datei "/etc/sysconfig/applogic_init" vorhanden ist, liest das APK-Initialisierungsskript sie als "shell include"-Skript (mit dem Befehl "."). Die folgenden Parameter können in "/etc/sysconfig/applogic_init" definiert werden:

APK_AUTH_KEY_PATH

Speicherort, an dem der öffentliche Schlüssel für den SSH-Zugriff der Appliance gespeichert wird. Über den Befehl "3t comp ssh" wird anhand des entsprechenden privaten Schlüssels eine Verbindung zu den Appliances hergestellt. Der Standard ist "/root/.ssh". Wenn eine leere Zeichenfolge festgelegt wird, wird der Schlüssel nirgends gespeichert.
Wenn der angegebene Speicherort eine vorhandene Datei ist, werden der Eigentümer und die Berechtigungen beibehalten. Andernfalls wird die Datei mit dem Eigentümer "root" erstellt.

APK_CONFIG_FILES

Durch Leerzeichen getrennte Liste von Dateien, auf die Appliance-Eigenschaften angewendet werden. Dies ersetzt die angegebene Konfigurationsdateiliste im Dialogfeld "Begrenzung ändern" in der GUI (für Appliances, die kein APK verwenden). Eine Appliance mit APK verwendet die Liste "APK_CONFIG_FILES", die sich in der Appliance selbst befindet, und nicht die in der GUI angegebene Liste.
Wichtig: Wenn APK auf einer vorhandenen Appliance installiert wird, müssen Sie im Klassen-Deskriptor (mithilfe der Editor-GUI) überprüfen, ob die Konfigurationsdateien vorhanden sind, die sich auf der Registerkarte "Konfigurationsdateien" im Dialogfeld "///Klasse anzeigen"/"Begrenzung ändern" befinden. Übertragen Sie die Liste der Dateien an die Einstellung "APK_CONFIG_FILES" in der Appliance.

Wichtig: Die Datei "/etc/sysconfig/applogic_init" wird ausgeführt, bevor Konfigurationsdaten abgerufen oder angewendet werden. Daher kann sich das Skript nicht auf die Anwesenheit der Konfigurationsdateien der Appliance verlassen.  Verwenden Sie diese Datei nicht für die Ausführung des Initialisierungscodes, sondern nur für die oben definierten Konfigurationsvariablen.

Beispiel

/etc/sysconfig/applogic_init: 
APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf 
APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys 

Appliance-Überprüfung nach dem Start

Wenn die Datei "/etc/sysconfig/applogic_appliance" vorhanden ist, liest das APK-Skript "late init"  sie als Skript "shell include" (mit dem Befehl "."), nachdem alle anderen Dienste auf der Appliance gestartet wurden. Der Rückgabestatus vom Skript zeigt an, ob die Appliance als richtig gestartet oder fehlgeschlagen betrachtet werden soll. Wenn das Skript eine Meldung in stderr druckt und einen Fehler zurückgibt, wird die Schlusszeile dieser Meldung als Fehlermeldung an den Controller gesandt.

Beispieldatei für die Überprüfung nach dem Start für eine Webserver-Appliance - überprüft, dass der Server läuft und auf "HTTP GET" an die Startseite reagiert:

if ! wget -q -O /dev/null http://localhost/ ; then
echo "start failed - Web server is not responding" >&2
return 1
fi
return 0 

Wichtig: Einige Appliances im Systemkatalog verwenden ein angepasstes Skript in "/appliance", um Dienste zu initialisieren. Dies wird nicht mehr unterstützt. Dieses Verzeichnis wird gelöscht, wenn APK installiert wird, damit die Stammverzeichnisstruktur sauber und mit dem Dateisystem-Hierarchie-Standard kompatibel ist. Der Code aus solchen Skripten könnte zu "/etc/sysconfig/applogic_appliance" verschoben werden, um das alte Verhalten nachzuahmen. Dies ist jedoch nicht die Absicht der Datei für die Überprüfung nach dem Start und wird nicht empfohlen. Statt dessen muss ein installierter Dienst sein eigenes Initialisierungsskript haben und allgemein in der Lage sein, vollständig außerhalb von CA AppLogic ausgeführt zu werden.