8.6. Cobbler-Vorlagen
Innerhalb der RHN Satellite Weboberfläche gibt es Funktionen zum Erstellen von Variablen zur Verwendung mit Kickstart-Distributionen und Profilen. Lesen Sie z.B. für die Erstellung einer Kickstart-Profilvariablen bitte Abschnitt 4.4.9.3.3, »Kickstart-Details ⇒ Variablen«.
Kickstart-Variablen sind Teil einer Änderung der Infrastruktur in Satellite, um Templating, also das Arbeiten mit Vorlagen, in Kickstart-Dateien zu unterstützen. Im Zusammenhang mit Kickstart-Dateien handelt es sich bei Vorlagen um Dateien, die Beschreibungen enthalten, die zum Bauen von tatsächlichen Kickstart-Dateien verwendet werden, statt zur Erstellung von spezifischen Kickstarts.
Diese Vorlagen werden dann gemeinsam verwendet von verschiedenen Profilen und Systemen, die ihre eigenen Variablen und zugehörige Werte besitzen. Diese Variablen modifizieren die Vorlagen, und Software genannt Template Engine wandelt die Vorlage und die variablen Daten in eine nutzbare Kickstart-Datei um. Cobbler verwendet eine hoch entwickelte Template Engine namens Cheetah, die Unterstützung für Vorlagen, Variablen und Snippets bietet.
Vorteile der Verwendung von Vorlagen sind u.a.:
- Robuste Features, die es Administratoren erlauben, große Mengen von Profilen oder Systemen zu erstellen und zu verwalten ohne erhöhten Aufwand, und ohne manuelles Erstellen von Kickstarts für jede einzelne Situation.
- Vorlagen können zwar sehr komplex werden und Schleifen, Bedingungen und weitere fortgeschrittene Features und Syntax enthalten, aber sie können auch sehr einfach zum Erstellen von Kickstart-Dateien ohne derartige Komplexität benutzt werden.
8.6.1. Verwenden von Vorlagen Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Kickstart-Vorlagen können statische Werte enthalten für gemeinsame Elemente wie z.B. PXE-Image Dateinamen, Subnet-Adressen, und gemeinsame Pfade wie z.B.
/etc/sysconfig/network-scripts/
. Im Unterschied zu Standard-Kickstart-Dateien verwenden Vorlagen jedoch Variablen.
Eine standardmäßige Kickstart-Datei kann beispielsweise einen Netzwerkabschnitt enthalten ähnlich dem folgenden:
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
In einer Kickstart-Vorlagendatei hingegen könnte die Netzwerk-Passage etwa wie folgt aussehen:
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
Diese Variablen werden ersetzt durch Werte, die in Ihren Kickstart-Profilvariablen oder in Ihren Systemdetailvariablen eingestellt sind. Falls im Profil dieselben Variablen wie in den Systemdetails definiert sind, dann haben die Systemvariablen Vorrang.
Für weitere Informationen über Kickstart-Templates werfen Sie bitte einen Blick auf die Seite des Cobbler-Projekts unter der folgenden URL:
8.6.2. Kickstart-Snippets Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Falls Sie gemeinsame Konfigurationen haben, die über alle Kickstart-Vorlagen und Profile hinweg gleich sind, können Sie das Snippets-Feature von Cobbler verwenden, um sich die Wiederverwendung von Code zunutze zu machen.
Bei Kickstart-Snippets handelt es sich um "Schnipsel" von Kickstart-Code, die aufgerufen werden können durch eine
$SNIPPET()
-Funktion, die von Cobbler analysiert wird, und der Funktionsaufruf wird durch die Inhalte des Snippets ersetzt.
Falls Sie z.B. eine gemeinsame Konfiguration der Festplattenpartitionen für alle Server haben, wie z.B.:
Sie können dies Snippet nehmen, in einer Datei abspeichern (z.B.
my_partition
), und diese Datei in /var/lib/cobbler/snippets/
ablegen, so dass Cobbler darauf zugreifen kann.
Sie können dieses Snippet dann mithilfe der
$SNIPPET()
-Funktion in Ihren Kickstart-Vorlagen verwenden. Zum Beispiel:
$SNIPPET('my_partition')
$SNIPPET('my_partition')
Egal, wo Sie diese Funktion aufrufen, der Cheetah-Parser wird die Funktion durch den Code-Snippet ersetzen aus der
my_partition
-Datei.
Für weitere Informationen über Kickstart-Snippets werfen Sie bitte einen Blick auf die Seite des Cobbler-Projekts unter der folgenden URL: