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.

Bilder hochladen

Derzeit gibt es drei unterstützte Möglichkeiten, um ein Bild zu erstellen: Bilder über URL hochladen, Bilder über lokale Dateien hochladen und Bilder über Volumes erstellen.

Bilder über URL hochladen

  • UI

  • API

  • Terraform

Um virtuelle Maschinenbilder auf der Images-Seite zu importieren, geben Sie eine URL ein, die vom Cluster aus zugänglich ist. Beschreibung und Labels sind optional.

  • Der Bildname wird automatisch mit dem Dateiname in der URL ausgefüllt. Sie können den Bildnamen jederzeit anpassen.

  • Vermeiden Sie die Verwendung einer täglichen Build-URL (zum Beispiel den Ubuntu Jammy daily build). Wenn alle Replikate eines Longhorn Backing-Images verloren gehen, versucht Longhorn, die Datei erneut herunterzuladen, um die Selbstheilung zu ermöglichen. Die Verwendung einer täglichen Build-URL ist problematisch, da sich die URL selbst ändert, was zu einer Prüfsummenabweichung und einem Konflikt führt, der zu verlorenen Replikaten führt.

Große Bilddateien können in SUSE Virtualization Speicherprobleme verursachen, wenn Sie Drittanbieter-StorageClasses mit Download-URLs verwenden, die auf Servern gehostet werden, die keine HTTP-Bereichsanfragen unterstützen (zum Beispiel Python’s http.server). Für zuverlässige Downloads verwenden Sie stattdessen NGINX oder Apache. (Dieses Problem ist in v1.6.1 behoben.)

upload image

Um ein virtuelles Maschinenbild aus einem Repository über die API zu importieren, erstellen Sie ein VirtualMachineImage-Objekt. Sie müssen eine URL angeben, die vom Cluster aus zugänglich ist.

Beispiel:

apiVersion: harvesterhci.io/v1beta1
kind: VirtualMachineImage
metadata:
  name: opensuse-leap
  namespace: default
spec:
  description: A human-readable description for the VM image
  displayName: openSUSE-Leap
  sourceType: download
  url: "https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2"
  checksum: 80c27afb7cd791ac86ee1b0b0c572a242f6142579db5beac841e71151d370cd6

Für weitere Informationen siehe die API-Referenz.

resource "harvester_image" "opensuse154" {
  name      = "opensuse154"
  namespace = "harvester-public"

  display_name = "openSUSE-Leap-15.4.x86_64-NoCloud.qcow2"
  source_type  = "download"
  url          = "https://downloadcontent-us1.opensuse.org/repositories/Cloud:/Images:/Leap_15.4/images/openSUSE-Leap-15.4.x86_64-NoCloud.qcow2"
}

Bilder über lokale Datei hochladen

Derzeit werden qcow2-, raw- und ISO-Images unterstützt.

  • Bitte aktualisieren Sie die Seite nicht, bis der Datei-Upload abgeschlossen ist.

upload image local

HTTP 413 Fehler in SUSE Rancher Prime Multi-Cluster-Management

Sie können Bilder von dem Multi-Cluster-Management Bildschirm im SUSE Rancher Prime UI hochladen. Wenn der Status eines Bildes _Hochladen ist, aber der Fortschrittsindikator 0% über einen längeren Zeitraum anzeigt, überprüfen Sie den HTTP-Antwortstatuscode. 413 zeigt an, dass die Größe des Anforderungskörpers das Limit überschreitet.

img 413 code

Die maximale Größe des Anforderungskörpers sollte spezifisch für den Cluster sein, der SUSE Rancher Prime hostet (zum Beispiel haben RKE2-Cluster ein Standardlimit von 1 MB, aber ein solches Limit existiert nicht in K3s-Clustern).

Der aktuelle Workaround besteht darin, Bilder von dem SUSE Virtualization UI hochzuladen. Wenn Sie sich entscheiden, Bilder von dem SUSE Rancher Prime UI hochzuladen, müssen Sie möglicherweise verwandte Einstellungen auf dem Ingress-Server konfigurieren (zum Beispiel proxy-body-size in NGINX).

Wenn SUSE Rancher Prime auf einem RKE2-Cluster bereitgestellt wird, führen Sie die folgenden Schritte aus:

  1. Bearbeiten Sie den SUSE Rancher Prime Ingress.

    kubectl -n cattle-system edit ingress rancher
  2. Geben Sie einen Wert für nginx.ingress.kubernetes.io/proxy-body-size an.

    Beispiel:

    img ingress client body

  3. Löschen Sie das festgefahrene Bild und starten Sie dann den Upload-Prozess neu.

Verlängertes Hochladen großer Bilder im SUSE Rancher Prime Multi-Cluster-Management

Wenn Sie ein großes Bild (über 10 GB) von dem Multi-Cluster-Management Bildschirm im SUSE Rancher Prime UI hochladen, kann der Vorgang länger als gewöhnlich dauern und der Bildstatus (Hochladen) kann sich nicht ändern.

Dieses Verhalten hängt mit proxy-request-buffering in der Ingress-Konfiguration zusammen, die ebenfalls spezifisch für den Cluster ist, der SUSE Rancher Prime hostet.

Der aktuelle Workaround besteht darin, Bilder von dem SUSE Virtualization UI hochzuladen. Wenn Sie sich entscheiden, Bilder von dem SUSE Rancher Prime UI hochzuladen, müssen Sie möglicherweise verwandte Einstellungen auf dem Ingress-Server konfigurieren (zum Beispiel proxy-request-buffering in NGINX).

Wenn SUSE Rancher Prime auf einem RKE2-Cluster bereitgestellt wird, führen Sie die folgenden Schritte aus:

  1. Bearbeiten Sie den SUSE Rancher Prime Ingress.

    kubectl -n cattle-system edit ingress rancher
  2. Schalten Sie nginx.ingress.kubernetes.io/proxy-request-buffering aus.

    Beispiel:

    img ingress request proxy buffering

  3. Löschen Sie das festgefahrene Bild und starten Sie dann den Upload-Prozess neu.

Hochladen von Bildern, die zuvor von SUSE Virtualization heruntergeladen wurden

Beginnend mit v1.5.5 komprimiert Longhorn Backing Images zum Herunterladen. Wenn Sie versuchen, ein komprimiertes Backing-Image hochzuladen, lehnt SUSE Virtualization den Versuch ab und zeigt die Nachricht Upload fehlgeschlagen: die hochgeladene Dateigröße xxxx sollte ein Vielfaches von 512 Bytes sein, da Longhorn standardmäßig directIO verwendet an, da die komprimierten Daten nicht mit der Datenausrichtung von Longhorn übereinstimmen.

Vor dem Hochladen dekomprimieren Sie Backing-Images mit dem Befehl gzip -d <file name>.

Bilder über Volumes erstellen

Klicken Sie auf der Volumes-Seite auf Export Image. Geben Sie den Bildnamen ein und wählen Sie eine StorageClass aus, um ein Bild zu erstellen.

export volume to image 1

Bild StorageClass

Beim Erstellen eines Bildes können Sie eine StorageClass auswählen und deren vordefinierte Parameter wie Replikate, Knotenauswähler und Festplattenauswähler verwenden.

Das Bild verwendet nicht direkt die hier ausgewählte StorageClass. Es ist lediglich eine StorageClass Vorlage.

Stattdessen wird im Hintergrund eine spezielle StorageClass mit dem Präfixnamen longhorn- erstellt. Dies geschieht automatisch durch das SUSE Virtualization Backend, aber es erbt die Parameter von der von Ihnen ausgewählten StorageClass.

image storageclass

Bildetiketten

Sie können dem Bild Etiketten hinzufügen, die helfen, den OS-Typ genauer zu identifizieren. Außerdem können Sie bei Bedarf benutzerdefinierte Etiketten zum Filtern hinzufügen.

Wenn Ihr Bildname oder Ihre URL gültige Informationen enthält, erkennt die Benutzeroberfläche automatisch den OS-Typ und die Bildkategorie für Sie. Andernfalls können Sie auch manuell die entsprechenden Etiketten in der Benutzeroberfläche angeben.

image labels