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.

CPU-Pinning

SUSE Virtualization unterstützt das CPU-Pinning für virtuelle Maschinen. Um diese Funktion zu nutzen, müssen Sie zunächst den CPU-Manager auf den Knoten aktivieren und dann das CPU-Pinning aktivieren, wenn Sie die virtuelle Maschine erstellen.

Kubernetes CPU Manager

Die CPU-Manager Funktion verbessert die Zuweisung von CPU-Ressourcen in Kubernetes-Clustern und stellt sicher, dass Arbeitslasten mit strengen Leistungsanforderungen stabile und vorhersehbare CPU-Ressourcen erhalten. Dies ist besonders wichtig für leistungsstarke und latenzempfindliche Anwendungen.

SUSE Virtualization verwendet die static CPU-Manager-Richtlinie, wenn der CPU-Manager aktiviert ist. Diese Richtlinie verwaltet einen gemeinsamen Pool von CPUs, der zunächst alle CPUs auf Knoten mit der folgenden Konfiguration umfasst:

  • Pods in der Guaranteed Qualitätsklasse (QoS), die ganze CPU-Kerne anfordern (zum Beispiel CPU: "2") erhalten dedizierte CPUs. Diese CPUs sind "angeheftet" und werden aus dem gemeinsamen CPU-Pool entfernt.

  • Pods in der Burstable und BestEffort QoS-Klasse teilen sich die verbleibenden CPUs im gemeinsamen Pool.

Berechnung des gemeinsamen CPU-Pools

SUSE Virtualization reserviert CPU-Ressourcen für systemweite Operationen basierend auf der GKE-Formel, wobei die systemReserved und kubeReserved Werte im Verhältnis 2:3 zugewiesen werden.

Beispiel (Knoten mit 16 CPU-Kernen):

systemReserved: 408 millicores
kubeReserved: 612 millicores

In diesem Beispiel stehen ungefähr 15 Kerne (14980 Millikernen) für Arbeitslasten zur Verfügung.

Wenn eine virtuelle Maschine (Pod) in der garantierten QoS-Klasse 4 CPUs anfordert, werden 4 Kerne dieser virtuellen Maschine zugewiesen. Pods in den anderen QoS-Klassen teilen sich die verbleibenden 11 Kerne im gemeinsamen Pool.

CPU-Manager aktivieren und deaktivieren

Wenn Sie den CPU-Manager aktivieren, setzt SUSE Virtualization die Richtlinie des CPU-Managers auf static. Wenn Sie die Funktion deaktivieren, wechselt SUSE Virtualization die Richtlinie des CPU-Managers zurück zu none.

Sie müssen den CPU-Manager auf jedem Knoten separat aktivieren oder deaktivieren.

  1. Gehen Sie im SUSE Virtualization UI zu Hosts.

  2. Suchen Sie den Knoten in der Liste und wählen Sie dann ⋮ → CPU-Manager aktivieren oder CPU-Manager deaktivieren aus.

    Lassen Sie etwas Zeit, damit SUSE Virtualization die entsprechende Richtlinie des CPU-Managers anwenden kann.

    enable-cpu-manager
    disable-cpu-manager

Nutzungsbeschränkungen

  • Der CPU-Manager kann auf dem Zeugen-Knoten nicht aktiviert werden.

  • Der CPU-Manager muss auf jedem Verwaltungsknoten separat aktiviert oder deaktiviert werden. Sie müssen warten, bis der Vorgang abgeschlossen ist, bevor Sie einen weiteren starten.

  • Virtuelle Maschinen mit aktiviertem CPU-Pinning müssen beendet werden, bevor der CPU-Manager auf dem entsprechenden Knoten deaktiviert wird.

CPU-Pinning auf einer neuen virtuellen Maschine aktivieren

  1. Überprüfen Sie, ob der CPU-Manager auf einem oder mehreren Knoten aktiviert ist.

    Wenn der CPU-Manager auf mindestens einem Knoten nicht aktiviert ist, bleibt die virtuelle Maschine nach dem Start im Unschedulable Zustand hängen. Für weitere Informationen siehe Verwandte Konzepte zum CPU-Pinning.

  2. Gehen Sie zu Virtuelle Maschinen.

  3. Klicken Sie auf Erstellen.

    vm-erstellen
  4. Wählen Sie im Tab Erweiterte Optionen CPU-Pinning aktivieren aus.

    vm-erweiterte-optionen
  5. Klicken Sie auf Speichern.

Die Aktivierung von CPU-Pinning fügt dedicatedCpuPlacement: true zu .spec.template.spec.domain.cpu in der Konfiguration der virtuellen Maschine (YAML) hinzu. Wenn dedicatedCpuPlacement auf true gesetzt ist, werden die Anforderungen an CPU- und Arbeitsspeicherressourcen automatisch so eingestellt, dass sie den Grenzen entsprechen, um sicherzustellen, dass die Kriterien für garantierte QoS erfüllt sind.

Da die Anforderungen und Grenzen identisch sind, gelten die Einstellungen für CPU- und Arbeitsspeicher Ressourcenüberbuchung nicht für virtuelle Maschinen mit aktiviertem CPU-Pinning.

Um CPU-Pinning auf einer bestehenden virtuellen Maschine zu verwenden, müssen Sie die virtuelle Maschine neu starten, nachdem Sie die Funktion aktiviert und die Änderung gespeichert haben.

Live-Migration virtueller Maschinen

Virtuelle Maschinen mit aktiviertem CPU-Pinning können nur migriert werden, wenn der CPU-Manager auf dem Zielknoten aktiviert ist.

Aufrüstungen

Beim Upgrade eines Knotens entleert SUSE Virtualization alle Pods und migriert virtuelle Maschinen live auf einen anderen Knoten. Um Unterbrechungen des Upgrade-Prozesses zu vermeiden, stellen Sie sicher, dass der CPU-Manager auf anderen Knoten aktiviert ist und ausreichend Ressourcen verfügbar sind, wann immer Sie virtuelle Maschinen mit aktiviertem CPU-Pinning verwenden.