Gibt es Beispiele für benutzerdefinierte Installationsskripte?

Gibt es Beispiele für benutzerdefinierte Installationsskripte?

Ich kann anscheinend keine Informationen dazu finden, wie man ein benutzerdefiniertes Skript bereitstellt, das nach der Installation ausgeführt werden soll. Gibt es hierzu Beispiele, die die Community bereitstellen kann?

Antwort1

Abhängig davon, welches Installationsprogramm Sie verwenden, bietet MAAS verschiedene Mechanismen zur Anpassung einer Installation. Diese Antwort geht davon aus, dass Sie dasVorhanginstallateur(auch bekannt als Fast-Path-Installer), der zum Standard wurde inMAAS 1.7.

MAAS verwendetCloud-Initals Teil des Installationsprozesses. Es gibt mehrere Möglichkeiten, das Verhalten von Cloud-Init anzupassen. Die einfachste Möglichkeit besteht darin, einfach einBenutzerdaten-Skript, das Cloud-Init beim ersten Start ausführt, nachdem die Installation des Betriebssystems abgeschlossen ist.

In MAAS kann dies erreicht werden, indem das Argument user_data an dennode start CLI-BefehlDas Format dieses Befehls ist:

maas <user> node start <node uuid> user_data=<script> distro_series=<name>

wobei es <script>sich eigentlich um eine base64-kodierte Zeichenfolge handelt. Ein konkretes Beispiel: Angenommen, Sie möchten ein Skript ausführen, addkey.shdas eine Ausgabe auf der Installationskonsole ausgibt,importiert einen SSH-Schlüssel vom Launchpadfür den Benutzer ubuntuund protokolliert die Ergebnisse in einer Protokolldatei:

#!/bin/sh
(
echo ======== Hi World ======================
echo ============== $(date) =================
ssh-import-id user
) | tee /my.log

Sie könnten die folgenden Befehle eingeben:

$ script=$(base64 addkey.sh)
$ maas myuser node start node-79b67e82-d25c-11e4-a333-00163eca91de \
  user_data=$script distro_series=trusty

Bei Erfolg sollte die Ausgabe (nach einer Weile) im folgenden Format zurückgegeben werden:

Success.
Machine-readable output follows:
{
    "status": 6, 
    "macaddress_set": [
        {
...

Nun wird das Skript ausgeführt, nachdemein bestimmter KnotenWenn Sie Befehle so einrichten möchten, dass sie ausgeführt werden aufbeliebiger KnotenDas über MAAS installierte Programm kann die auszuführenden Befehle als Teil der late_commandsStrophe in der/etc/maas/preseeds/curtin_userdataDatei. Ein komplexeres Beispiel, das diesen Mechanismus zum Einrichten von zwei VLANs auf einer Netzwerkschnittstelle verwendet, finden Sie unterhttp://astokes.org/customizing-fastpath-curtin-installations/.

Beachten Sie, dass Curtin derzeit größtenteils ohne Papiere ist; es gibt jedoch eineÜbersichtsdateidas einige Einzelheiten seiner Funktionsweise beschreibt.

Beachten Sie, dass dieser Mechanismus nicht mit einem zu verwechseln ist comissioning script, der während derInbetriebnahmephase, und die im Lebenszyklus des MAAS-Knotens vor der Installation kommt. Die Inbetriebnahme wird im Allgemeinen für Verwaltungsaufgaben verwendet, die sich nicht direkt auf die Installation auswirken sollen. Beispiele wären:

  • Firmware-Aktualisierung
  • Sanity-Tests wichtiger Hardwarekomponenten
  • verbrennen in

Antwort2

Es ist zu beachten, dass die Befehle hier für die 1.0-API gelten. Ab 2.0 lautet der Befehl:

maas <profile> machine deploy <system_id> user_data=<base64-encoded-userdata>

verwandte Informationen