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.

Virtualisierungsmanagement

Mit den Virtualisierungsmanagement-Funktionen von Rancher können Sie mehrere SUSE Virtualization Cluster importieren und verwalten. Es bietet eine Lösung, die Virtualisierungs- und Containerverwaltung aus einer einzigen Ansicht vereint.

Darüber hinaus nutzt SUSE Virtualization die bestehenden Funktionen von Rancher, wie Authentifizierung und RBAC zur Unterstützung von Multi-Tenancy.

Für Informationen zum Bereitstellen von Rancher und zum Bereitstellen von Kubernetes-Clustern mit verschiedenen Cloud-Anbietern siehe Bereitstellen des SUSE Rancher Prime Servers.

Importieren des SUSE Virtualization Clusters

  • UI

  • API

  1. Überprüfen und Vorbereiten des Container-Images.

    Um die Importaufgabe zu erleichtern, wird ein neuer Pod mit dem Namen cattle-cluster-agent-* im SUSE Virtualization Cluster erstellt. Das für diesen Pod verwendete Container-Image hängt von der Version Ihres Rancher Servers ab (zum Beispiel wird das Image rancher/rancher-agent:v2.7.9 verwendet, wenn Sie Rancher v2.7.9 ausführen). Darüber hinaus ist dieses dynamische Image nicht in die SUSE Virtualization ISO gepackt und wird stattdessen während des Imports aus dem Repository heruntergeladen.

    Wenn Ihr SUSE Virtualization Cluster nicht direkt über das Internet zugänglich ist, führen Sie eine der folgenden Aktionen aus:

    • Konfigurieren Sie eine private Registry für den Cluster und fügen Sie das Image hinzu. Harvester wird das Image automatisch aus dieser Registry herunterladen.

    • Wenn Sie einen HTTP-Proxy für den Zugriff auf externe Dienste konfiguriert haben, überprüfen Sie, ob er wie erwartet funktioniert. Die DNS-Server, die Sie in der Harvester-Konfiguration angegeben haben, sollten in der Lage sein, den Domainnamen docker.io aufzulösen.

    • Laden Sie das Image mit dem Befehl docker pull rancher/rancher-agent:v2.7.9 && docker save -o rancher-agent.tar rancher/rancher-agent:v2.7.9 herunter. Erstellen Sie als Nächstes eine Kopie des heruntergeladenen Images in jedem Cluster-Knoten und importieren Sie dann das Image in containerd mit dem Befehl sudo -i ctr --namespace k8s.io image import rancher-agent.tar. Führen Sie schließlich sudo -i crictl image ls | grep "rancher-agent" auf jedem Knoten aus, um sicherzustellen, dass das Image bereit ist.

  2. Sobald der Rancher Server läuft, melden Sie sich an, klicken Sie auf das Menü und wählen Sie den Tab Virtualisierungsmanagement. Wählen Sie Vorhandenes importieren, um den Downstream-SUSE Virtualization Cluster in den Rancher Server zu importieren. vm menu

  3. Geben Sie die Cluster Name an und klicken Sie auf Erstellen. Sie sehen dann den Registrierungsleitfaden; bitte öffnen Sie das Dashboard des Ziel-SUSE Virtualization Clusters und folgen Sie dem Leitfaden entsprechend. harv importing

  4. Sobald der Agent-Knoten bereit ist, sollten Sie in der Lage sein, den importierten SUSE Virtualization Cluster vom Rancher Server zu sehen und darauf zuzugreifen sowie Ihre VMs entsprechend zu verwalten. harv cluster view

    Wann immer der Agent-Knoten feststeckt, führen Sie den Befehl kubectl get pod cattle-cluster-agent-* -n cattle-system -oyaml im SUSE Virtualization Cluster aus. Wenn die folgende Nachricht angezeigt wird, überprüfen Sie die Informationen in Schritt 1, beenden Sie diesen Pod und dann wird automatisch ein neuer Pod erstellt, um den Importprozess neu zu starten.

      ...
      state:
        waiting:
          message: Back-off pulling image "rancher/rancher-agent:v2.7.9"
          reason: ImagePullBackOff
      ...
  5. Im SUSE Virtualization UI können Sie auf das Hamburger-Menü klicken, um zur Seite für die Verwaltung mehrerer Cluster Rancher zurückzukehren.

    harv go back

  1. Erstellen Sie im Rancher Kubernetes-Cluster eine neue Cluster Ressource.

    Beispiel:

      apiVersion: provisioning.cattle.io/v1
      kind: Cluster
      metadata:
        name: harvester-cluster-name
        namespace: fleet-default
        labels:
          provider.cattle.io: harvester
        annotations:
          field.cattle.io/description: Human readable cluster description
      spec:
        agentEnvVars: []
  2. Sobald der Status der Cluster Ressource aktualisiert ist, erhalten Sie die Cluster-ID (Format: c-m-foobar) aus der .status.clusterName Eigenschaft.

  3. Erstellen Sie eine ClusterRegistrationToken mit der Cluster-ID im Namespace mit demselben Namen wie die Cluster-ID. Sie müssen die Cluster-ID im .spec.clusterName Feld des Tokens angeben.

    Beispiel:

      apiVersion: management.cattle.io/v3
      kind: ClusterRegistrationToken
      metadata:
        name: default-token
        namespace: c-m-foobar
      spec:
        clusterName: c-m-foobar
  4. Sobald der Status der ClusterRegistrationToken aktualisiert ist, erhalten Sie den Wert der .status.manifestUrl Eigenschaft des Tokens.

  5. Führen Sie im SUSE Virtualization Cluster einen Patch der Einstellung cluster-registration-url durch und geben Sie die URL an, die aus der .status.manifestUrl Eigenschaft des Cluster-Registrierungstokens im value Feld erhalten wurde.

    Beispiel:

      apiVersion: harvesterhci.io/v1beta1
      kind: Setting
      metadata:
        name: cluster-registration-url
      value: https://rancher.example.com/v3/import/abcdefghijkl1234567890-c-m-foobar.yaml

Aufrüstungen

Um einen importierten SUSE Virtualization Cluster zu upgraden, müssen Sie Rancher, die Harvester UI-Erweiterung und SUSE Virtualization in einer bestimmten Reihenfolge upgraden. Die Harvester UI-Erweiterung ist erforderlich, um auf die SUSE Virtualization UI in Rancher v2.10.x und späteren Versionen zuzugreifen.

  1. Überprüfen Sie die Supportmatrix, um die Rancher und Harvester UI-Erweiterungs-Versionen zu bestimmen, die mit dem SUSE Virtualization Cluster übereinstimmen.

  2. Upgrade Rancher.

  3. Upgrade die Harvester UI-Erweiterung.

    Für Informationen zum Upgrade der Erweiterung in einer Air-Gapped-Umgebung siehe Harvester UI-Erweiterung mit Rancher Integration.

  4. Upgrade SUSE Virtualization.

    Funktionen in SUSE Virtualization v1.5.0 und späteren Versionen sind in der Harvester UI-Erweiterung implementiert. Wenn Sie Rancher und die Harvester UI-Erweiterung nicht upgraden, sind diese Funktionen möglicherweise nicht verfügbar.

Multi-Tenancy

SUSE Virtualization nutzt die vorhandene Rancher RBAC-Autorisierung, sodass Benutzer eine Reihe von Ressourcen basierend auf ihren Berechtigungen für Cluster und Projektrollen anzeigen und verwalten können.

Innerhalb von Rancher authentifiziert sich jede Person als Benutzer, was ein Login ist, das einem Benutzer Zugriff auf Rancher gewährt. Wie in Authentifizierung erwähnt, können Benutzer entweder lokal oder extern sein.

Sobald der Benutzer sich in Rancher anmeldet, wird seine Autorisierung, auch bekannt als Zugriffsrechte, durch globale Berechtigungen sowie Cluster- und Projektrollen bestimmt.

  • Globale Berechtigungen: Definieren Sie die Benutzerautorisierung außerhalb des Rahmens eines bestimmten Clusters.

  • Cluster- und Projektrollen: Definieren Sie die Benutzerautorisierung innerhalb des spezifischen Clusters oder Projekts, in dem Benutzer die Rolle zugewiesen bekommen.

Sowohl globale Berechtigungen als auch Cluster- und Projektrollen werden auf Kubernetes RBAC implementiert. Daher erfolgt die Durchsetzung von Berechtigungen und Rollen durch Kubernetes.

  • Ein Clusterbesitzer hat die volle Kontrolle über den Cluster und alle Ressourcen darin, z. B. Hosts, VMs, Volumes, Images, Netzwerke, Backups und Einstellungen.

  • Ein Projektbenutzer kann einem bestimmten Projekt mit der Berechtigung zugewiesen werden, die Ressourcen innerhalb des Projekts zu verwalten.

Es wird dringend empfohlen, den Benutzerzugang mithilfe der integrierten Rollenvorlagen und projektbezogenen RBAC zu verwalten.

SUSE Virtualization implementiert sein eigenes RBAC-Modell auf Kubernetes und KubeVirt und integriert sich mit Rancher-Stil-Projekten und Multi-Tenancy-Logik. Während Upgrades oder Neukonfigurationen können benutzerdefinierte RoleBindings, die nur auf kubevirt.io Rollen verweisen, verloren gehen, zurückgesetzt oder inkonsistent mit dem internen Zustand von SUSE Virtualization werden.

Beispiel für Multi-Tenancy

Das folgende Beispiel bietet eine gute Erklärung dafür, wie die Multi-Tenant-Funktion funktioniert:

  1. Zuerst fügen Sie neue Benutzer über die Rancher Users & Authentication Seite hinzu. Klicken Sie dann auf Create, um zwei neue getrennte Benutzer hinzuzufügen, wie project-owner und project-readonly jeweils.

    • Ein project-owner ist ein Benutzer mit der Berechtigung, eine Liste von Ressourcen eines bestimmten Projekts zu verwalten, z. B. das Standardprojekt.

    • Ein project-readonly ist ein Benutzer mit Lesezugriffsberechtigung für ein bestimmtes Projekt, z. B. das Standardprojekt. create user

  2. Klicken Sie auf einen der importierten SUSE Virtualization Cluster, nachdem Sie zur SUSE Virtualization Benutzeroberfläche navigiert haben.

    • Klicken Sie auf die Projects/Namespaces Registerkarte.

    • Wählen Sie ein Projekt wie default aus und klicken Sie auf das Edit Config Menü, um die Benutzer mit den entsprechenden Berechtigungen diesem Projekt zuzuweisen. Zum Beispiel wird der project-owner Benutzer die Rolle des Projektinhabers zugewiesen. add member

  3. Fügen Sie den project-readonly Benutzer weiterhin demselben Projekt mit Lesezugriffsberechtigungen hinzu und klicken Sie auf Speichern. added user

  4. Öffnen Sie einen Inkognito-Browser und melden Sie sich als project-owner an.

  5. Nachdem Sie sich als project-owner Benutzer angemeldet haben, klicken Sie auf die Virtualisierungsmanagement Registerkarte. Dort sollten Sie den Cluster und das Projekt sehen können, dem Sie zugewiesen wurden.

  6. Klicken Sie auf die Images Registerkarte, um eine Liste der zuvor in im harvester-public Namensraum hochgeladenen Bilder anzuzeigen. Sie können auch Ihr eigenes Bild hochladen, wenn nötig.

  7. Erstellen Sie eine VM mit einem der Bilder, die Sie hochgeladen haben.

  8. Melden Sie sich mit einem anderen Benutzer an, z. B. project-readonly, und dieser Benutzer hat nur die Leseberechtigung für das zugewiesene Projekt.

Der harvester-public Namespace ist ein vordefinierter Namespace, der für alle Benutzer zugänglich ist, die diesem Cluster zugewiesen sind.

Importierten SUSE Virtualization Cluster löschen

Benutzer können den importierten SUSE Virtualization Cluster über die Virtualisierungsverwaltungsoberfläche der Rancher UI löschen. Wählen Sie den Cluster aus, den Sie löschen möchten, und klicken Sie auf die Löschen Schaltfläche, um den importierten SUSE Virtualization Cluster zu löschen.

Sie müssen auch die cluster-registration-url Einstellung des zugehörigen SUSE Virtualization Clusters zurücksetzen, um den Rancher Cluster-Agenten zu bereinigen.

Cluster löschen

Bitte führen Sie nicht den kubectl delete -f …​ Befehl aus, um den importierten SUSE Virtualization Cluster zu löschen, da dies den gesamten cattle-system Namespace entfernt, der für den SUSE Virtualization Cluster erforderlich ist.