|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Übersicht der Etikettenvorlagen
Elemental ermöglicht es, Etikettenvorlagen in den spec.machineInventoryLabels und spec.machineInventoryAnnotations Abschnitten der Maschinenregistrierung Ressourcen anzugeben.
Ihr Format ist das kanonische key:``value`, das in Kubernetes-Etiketten und -Annotationen verwendet wird.
Diese Etikettenvorlagen werden in tatsächliche Etiketten und Annotationen umgewandelt, die an jede MachineInventory-Ressource angehängt werden, die während der Maschinenintegration-Phase erstellt wird.
Die resultierenden Etiketten und Annotationen haben dasselbe key wie die Etikettenvorlage.
Das zugehörige value wird generiert:
-
Rendering der
label template variables(falls vorhanden) -
sanitizingden resultierenden Wert (im Falle der Etiketten nur)
|
Die Templating-Funktionalität von Elemental umfasst auch das MachineRegistration- Siehe den Abschnitt Maschinenname für weitere Details. |
Variablen der Etikettenvorlagen
Das Elemental-Label-Templating umfasst eine Reihe vordefinierter Variablen, die im value der Etikettenvorlagen in der Maschinenregistrierung verwendet werden können.
Die verwendete Syntax zur Angabe der Variablen der Etikettenvorlagen ist:
${ VARFAMILY \/ VARPATH }
wobei VARFAMILY eine Gruppe (Familie) unterstützter Variablen definiert und VARPATH den tatsächlichen Variablennamen innerhalb der zugehörigen Familiengruppe definiert.
Elemental unterstützt derzeit die folgenden Vorlagenvariablenfamilien:
-
BIOS: ${ BIOS \/ VARPATH }
-
BaseBoard: ${ BaseBoard \/ VARPATH }
-
CPU: ${ CPU \/ VARPATH }
-
Gehäuse: ${ Chassis \/ VARPATH }
-
GPU: ${ GPU \/ VARPATH }
-
Speicher: ${ Speicher \/ VARPATH }
-
Netzwerk: ${ Netzwerk \/ VARPATH }
-
Produkt: ${ Produkt \/ VARPATH }
-
Laufzeit: ${ Laufzeit \/ VARPATH }
-
Storage: ${ Storage \/ VARPATH }
|
Alle Template-Variablenfamilien (außer `Random`) sind nur aktiviert, wenn das MachineRegistration Wenn das Zufalls Variablen sind immer verfügbar, da sie auf der Betreiberseite integriert sind. Sie sind auch besonders, da sie nur einmal berechnet werden: siehe den Abschnitt Zufalls-Template-Variablen für weitere Details. |
Template-Variablen können mit statischem Text gemischt werden, um die tatsächlichen Bezeichnungen zu bilden, die (MachineInventories) zugewiesen sind.
|
Rendering-Beispiele
|
Bereinigung
Sobald der Wert der Etikettenvorlage entsprechend den enthaltenen Variablen der Etikettenvorlage gerendert wurde, ist der resultierende Wert sanitized, bevor er dem resultierenden Etikett zugewiesen wird.
Das sanitization erzwingt, dass der Etikettenwert nur Buchstaben (groß oder klein), Zahlen sowie die Zeichen Bindestrich (-), Punkt (.) und Unterstrich (_) enthält:
Alle nicht enthaltenen Zeichen werden durch einen Bindestrich ersetzt.
Jedes Zeichen am Anfang und am Ende des Etikettenwerts muss ein Buchstabe oder eine Zahl sein. Wenn nicht, wird es verworfen.
Zwei aufeinanderfolgende Bindestriche werden durch einen ersetzt.
|
Beispiel für die Darstellung
|
Verwendung von Etikettenvorlagen
Etikettenvorlagen ermöglichen es, automatisch Etiketten und Annotationen an jedes MachineInventory des Hosts anzuhängen und zu aktualisieren, jedes Mal, wenn sich ein Host beim Elemental Operator registriert.
|
Die Registrierung erfolgt nicht nur während der Onboarding-Phase: jeder Host registriert sich alle 30 Minuten neu (und jedes Mal, wenn er neu gestartet wird). Während der Neuregistrierung werden die Etikettenvorlagen im zugehörigen MachineRegistration neu bewertet und im MachineInventory hinzugefügt/aktualisiert. |
Es gibt im Wesentlichen drei Hauptfälle, in denen die Etikettenvorlagen nützlich sein können :
-
um Hardware-Daten an den Elemental-Katalog anzuhängen.
-
um Selektoren hinzuzufügen, um Hosts für die Clusterbereitstellung auszuwählen.
-
um eine benutzerdefinierte Vorlage für die Maschinenamen zu definieren.
Hardware-Daten für den Elemental-Katalog
Die Variablen der Etikettenvorlagen können verwendet werden, um Hardware-Daten an jede MachineInventory-Ressource (die den Elemental-Katalog bilden) anzuhängen.
In diesem Fall können Annotationen eine bessere Wahl sein, da ihre Werte nicht bereinigt werden.
Selektoren für die Clusterbereitstellung
Das Label Templates kann verwendet werden, um Labels zu generieren, die zur Identifizierung und Auswahl von Maschinen mit speziellen Hardwareeigenschaften dienen, um neue Kubernetes-Cluster zu bilden.
Die an jede MachineInventory angehängten Labels können als selector für die MachineInventorySelectorTemplate-Ressource verwendet werden (siehe den Abschnitt Kubernetes Clusterbereitstellung für weitere Details).
Benutzerdefinierte Maschinenamen
Der Hostname der Onboarding-Maschine kann mit dem MachineRegistration spec.machineName Feld angegeben werden.
Der spec.machineName Wert durchläuft die gleichen Label Templates' variables und sanitization Prozesse, die für das spec.machineInventoryLabels Feld reserviert sind.
|
Es gibt einen bemerkenswerten Unterschied zwischen den MachineRegistration |
Für weitere Informationen zur Definition des Hostnamens für Elemental-Hosts, siehe den Abschnitt Anleitung/Hostname anpassen.
|
Beispiel für die Darstellung
|