Dieser Vorgang führt Sie schrittweise durch die Erstellung eines benutzerdefinierten Linux-Maschinen-Images (Ubuntu), das beim Erstellen von klassenbasierten Clustern auf vSphere verwendet werden soll. Das Verfahren ist in die folgenden Abschnitte unterteilt:
Informationen zum Erstellen eines benutzerdefinierten Linux-Maschinen-Images für planbasierte Cluster (Legacy) finden Sie unter Benutzerdefinierte Linux-Maschinen-Images (Legacy). Weitere Informationen zu Clustertypen in Tanzu Kubernetes Grid finden Sie unter Typen von Arbeitslastclustern.
Zur Erstellung eines benutzerdefinierten Linux-Maschinen-Images benötigen Sie Folgendes:
kubectl
govc
-CLIIn diesem Schritt rufen Sie die Betriebssystem-Image-Version ab, die mit der für das benutzerdefinierte Image zu verwendenden Ubuntu-Standard-OVA für die Kubernetes-Version verknüpft ist. Sie weisen diese Betriebssystem-Image-Version Ihrem benutzerdefinierten Image im Schritt Erstellen eines Linux-Images weiter unten zu.
Zum Abrufen der Betriebssystem-Image-Version führen Sie je nach Anwendungsfall einen der folgenden Schritte aus:
Wenn Sie über einen ausgeführten Verwaltungscluster verfügen, der mit der Kubernetes-Standardversion für die aktuelle Tanzu Kubernetes Grid-Version erstellt wurde, können Sie die Betriebssystem-Image-Version aus dem Cluster abrufen:
Setzen Sie den kubectl
-Kontext auf den Verwaltungscluster.
Wählen Sie in der Liste der verfügbaren TKrs das Tanzu Kubernetes-Release (TKr) für die Kubernetes-Version aus, die Sie für das benutzerdefinierte Image verwenden möchten. Beispiel: v1.25.7---vmware.1-tkg.1
. Führen Sie zum Auflisten der verfügbaren TKrs folgenden Befehl aus:
kubectl get tkr
Öffnen Sie das TKr und suchen Sie nach der Eigenschaft osImages
. Diese Eigenschaft gibt die Namen von OSImage
-Objekten an, die dem TKr zugeordnet sind.
Suchen Sie nach dem OSImage
-Objekt und öffnen Sie es für die Ubuntu-Standard-OVA. Der Name des OSImage
-Objekts stimmt mit einem der osImages
-Namen aus dem TKr überein.
kubectl get osimages
Suchen Sie im OSImage
-Objekt für die Ubuntu-Standard-OVA nach dem Wert der Eigenschaft version
unter spec.image.ref
und notieren Sie sich den Wert. Beispiel: v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
.
Wenn Sie nicht über einen ausgeführten Verwaltungscluster verfügen, der mit der Kubernetes-Standardversion für die aktuelle Tanzu Kubernetes Grid-Version erstellt wurde, können Sie die Betriebssystem-Image-Version direkt aus der Ubuntu-Standard-OVA (entweder lokal oder aus vSphere) abrufen:
So rufen Sie die Betriebssystem-Image-Version lokal ab:
.ofv
.Suchen Sie in der Datei .ofv
nach der OVA-Eigenschaft VERSION
und notieren Sie sich den entsprechenden Wert. Beispiel: v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
. Die Eigenschaft ähnelt Folgendem:
<Property ovf:key="VERSION" ovf:type="string" ovf:userConfigurable="false" ovf:value="v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"/>
Wenn Sie die Ubuntu-Standard-OVA für Ihre Kubernetes-Zielversion bereits auf vSphere hochgeladen haben, können Sie alternativ die Betriebssystem-Image-Version abrufen, indem Sie die Eigenschaften der OVA-VM auf der vSphere-Benutzeroberfläche überprüfen oder die govc
-CLI verwenden. Rufen Sie zur Verwendung dieser Methode die Betriebssystem-Image-Version ab, bevor Sie die OVA-VM in eine Vorlage konvertieren.
So rufen Sie die Betriebssystem-Image-Version aus der vSphere-Benutzeroberfläche ab:
v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
.Zum Abrufen der Betriebssystem-Image-Version mithilfe der govc
-CLI führen Sie den Befehl govc vm.info
aus. Beispiel:
govc vm.info -json /dc0/vm/ubuntu-2004-kube-v1.25.7+vmware.1-tkg.1 | jq
Suchen Sie in der Ausgabe nach "Id": "VERSION"
und notieren Sie sich den Wert der Eigenschaft "DefaultValue"
. Beispiel:
{
"Key": 10,
"ClassId": "",
"InstanceId": "",
"Id": "VERSION",
"Category": "Cluster API Provider (CAPI)",
"Label": "VERSION",
"Type": "string",
"TypeReference": "",
"UserConfigurable": false,
"DefaultValue": "v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e",
"Value": "",
"Description": ""
}
So erstellen Sie ein Linux-Image:
Führen Sie die Schritte zum Erstellen eines Linux-Images für planbasierte Cluster auf vSphere aus, jedoch mit folgender Ausnahme. Wenn Sie die Versionszeichenfolge für das benutzerdefinierte Image in metadata.json
einrichten, legen Sie sie auf den Wert fest, den Sie im obigen Schritt Abrufen der Betriebssystem-Image-Version abgerufen haben. Legen Sie den Wert nicht auf v1.25.7+vmware.1-myorg.0
fest, wie im Abschnitt Erstellen eines Linux-Images empfohlen wird. Beispiel:
{
"VERSION": "v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"
}
Kehren Sie nach der Durchführung der Schritte im Abschnitt Erstellen eines Linux-Images zu dieser Seite zurück und fahren Sie mit Hochladen des Linux-Images auf vSphere unten fort.
Nachdem Sie die Schritte im Abschnitt Erstellen eines Linux-Images abgeschlossen haben, gehen Sie folgendermaßen vor:
Sie können jetzt Verwaltungs- und Arbeitslastcluster mithilfe des benutzerdefinierten Images bereitstellen. Eine Anleitung dafür finden Sie unter: