Freigeben über


Bewährte Methoden für Bereitstellungen virtueller Computer in OpenShift Virtualization

Dieses Dokument enthält Anleitungen zur Optimierung der Leistung und Kosteneffizienz bei der Bereitstellung virtueller Computer (VMs) mit OpenShift Virtualization auf Azure Red Hat OpenShift. In diesem Leitfaden werden auch alle Bedenken hinsichtlich der Anwendungsleistung behandelt und umsetzbare Schritte für eine erfolgreiche Bereitstellung bereitgestellt.

Optimierungsansatz

Hinweis

GPU-abhängige Workloads werden derzeit in OpenShift Virtualization in Azure nicht unterstützt. Planen Sie Ihre Bereitstellungen entsprechend.

Die Optimierung von VM-Bereitstellungen beginnt mit dem Verständnis Ihrer Anwendungsworkloads und der Entsprechenden Ausrichtung der Infrastrukturoptionen. Die OpenShift Virtualization-Bereitstellung auf Azure Boost-Computern, den Arbeitsknoten des Clusters, führt im Vergleich zu systemeigenen VM- oder Pod-Bereitstellungen einen architekturbasierten Aufwand ein. Die Planung von Kapazität und Leistung sollte diesen Aufwand berücksichtigen.

Identifizierung der Arbeitsbelastung

Kategorisieren Sie Ihre Workloads vor der Bereitstellung von virtuellen Computern, um ihre Leistung und Ressourcenanforderungen zu ermitteln. Zu den allgemeinen Workloadtypen gehören:

  • Allgemeiner Zweck: Webserver, Anwendungsserver, Inhaltsverwaltungssysteme.
  • Datenbank: Relationale und NoSQL-Datenbanken erfordern konsistente IOPS und Arbeitsspeicher.
  • Echtzeitanalysen: Datenverarbeitung mit geringer Latenz, Betriebsdashboards.
  • AI/ML: Rechenintensive Workloads, die hohe CPU/GPU und Arbeitsspeicher erfordern.
  • Datenstreaming & Messaging: Ereignisgesteuerte Architekturen mit hohem Durchsatz und geringer Latenz.
  • Stapelverarbeitung: Regelmäßige oder On-Demand-Aufträge, die große Datenmengen verarbeiten.
  • Hochleistungs-Computing (HPC): Wissenschaftliche Simulationen, Finanzmodellierung.
  • Edge und IoT: Aggregieren und Verarbeiten von Daten aus verteilten Sensoren.
  • Medienverarbeitung: Videocodierung/Decodierung, Bildtransformation, Streaming.
  • Entwicklungs-/Testumgebungen: Temporäre Umgebungen für Entwicklung und Tests.

Jeder Workloadtyp weist eindeutige Merkmale auf, die sich auf vm-Größenanpassung, Speicherkonfiguration und Leistungsoptimierungsstrategien auswirken.

Richtige Größenanpassung ihrer Anwendungsworkloads

Wichtige Überlegungen zur optimalen Anpassung der Größe

  • Mindestkernanforderung: OpenShift Virtualization erfordert mindestens acht (8) Kern-Azure-VMs für OpenShift-Workerknoten.
  • Architektonischer Aufwand: Die Leistung kann je nach den bei der Konfiguration der Umgebung getroffenen Architekturentscheidungen variieren, einschließlich Instanztypen, Speicher und Netzwerkmerkmalen.
  • Skalieren: Bei anspruchsvollen Workloads kann das Skalieren Ihres Azure Red Hat OpenShift-Clusters durch Hinzufügen weiterer Knoten dazu beitragen, die Ressourcenverknüpfung zu überwinden und den Durchsatz aufrechtzuerhalten.
  • Messen Sie Ihre Workloads: Vermeiden Sie es, sich ausschließlich auf lokale Größenreferenzen zu verlassen; messen Sie Ihre eigenen Workloads, um diese für die richtige Größenanpassung heranzuziehen.
  • Kostenfaktoren: Berücksichtigen Sie Azure Computekosten, OpenShift-Lizenzierung, VM-Lizenzierung und Skalierbarkeitsanforderungen.

Durch die richtige Größenanpassung wird sichergestellt, dass Ihre virtuellen Computer mit ausreichenden Ressourcen bereitgestellt werden, um Leistungsziele zu erreichen, ohne dass sie überprovisioniert werden. Dieser Prozess ist in Cloudumgebungen wichtig, in denen sich die Ressourceneffizienz direkt auf Kosten und Leistung auswirkt.

Schritte zur richtigen Größe von Workloads

  1. Gesundheitsmetriken definieren

    • CPU-Auslastung: Ziel 60–70% durchschnittliche Auslastung.
    • Speicherdruck: Überwachen der Swapauslastung, Speichersättigung und Seitenfehler.
    • E/A-Belastung: Messen Sie die Datenträgerlatenz, den Durchsatz und die Warteschlangentiefe.
  2. Einrichten der Überwachung

    • Verwenden Sie Prometheus und Grafana für die Echtzeitsammlung und -visualisierung von Metriken.
    • Aktivieren Sie KubeVirt-Metriken für Einblicke auf VM-Ebene.
    • Integrieren Sie über Azure Arc in Azure Monitor, um Metriken auf Infrastrukturebene mit der Anwendungsleistung zu korrelieren.
  3. Analysieren von historischen Daten

    • Überprüfen Sie die Leistungstrends im Laufe der Zeit.
    • Identifizieren sie Spitzenauslastungsperioden und Ressourcensättigungsereignisse.
    • Verwenden Sie historische Bezugswerte, um zukünftige Entscheidungen zur Autoskalierung zu leiten.
  4. Anpassen von VM-Spezifikationen

  5. Testen und Überprüfen

    • Führen Sie Lasttests mit Tools wie Apache JMeter, Locust oder Stress-ng durch.
    • Validieren Sie anhand definierter Gesundheitsmetriken und Leistungsziele.
    • Durchlaufen Sie Konfigurationsänderungen, und testen Sie erneut, um Verbesserungen zu bestätigen.

Optimieren Ihrer Umgebung

Die Feinabstimmung Ihrer OpenShift Virtualization-Umgebung ist unerlässlich, um eine optimale Leistung zu erzielen, insbesondere für anspruchsvolle Workloads. Die folgenden bewährten Methoden werden von umfangreichen Benchmarking- und realen Erfahrungen in der Azure Boost VM-Serie (Dsv5/Dsv6) abgeleitet.

Leistungsoptimierungsstrategien

  • Skalieren oder hochskalieren für anspruchsvolle Workloads: Fügen Sie weitere Knoten hinzu oder vergrößern Sie die Knoten in Ihrem Azure Red Hat OpenShift-Cluster, um hohe Parallelität oder ressourcenintensive Anwendungen zu unterstützen.
  • Vermeiden Sie strenge Ressourcenbeschränkungen: Legen Sie nur Gastspeicher für VMs fest; vermeiden Sie strenge Ressourcenbeschränkungen, es sei denn, dies ist für die Governance erforderlich.
  • Optimieren von Speicher- und Netzwerkkonfigurationen: Wählen Sie Speicherlösungen und Leistungsstufen aus, die Ihren Workloadanforderungen entsprechen. Optimieren Sie einstellungen wie NAPI und Multiqueue für netzwerkintensive Workloads, und überwachen Sie den Durchsatz und die Latenz.
  • Regelmäßige Überwachung und Benchmark: Verwenden Sie Prometheus, Grafana und Azure Monitor, um wichtige Metriken nachzuverfolgen. Bewerten Sie Ihre eigenen Workloads, um die Leistung zu überprüfen und weitere Optimierungen vorzunehmen.
  • Architekturaufwand erwarten: Planen Sie die Kapazität und legen Sie die Erwartungen entsprechend fest, insbesondere für Workloads mit hohen E/A- oder Netzwerkanforderungen.

Vm overcommit tuning

Mit dem OpenShift Virtualization-Operator können Sie cpu- und arbeitsspeicherüberlastungsverhältnisse anpassen, sodass Sie mehr virtuelle Ressourcen zuordnen können als physisch verfügbar. Diese Änderung kann die Dichte und Ressourcenauslastung verbessern, könnte jedoch die Konkurrenz erhöhen und die Leistung beeinträchtigen.

Bewährte Methoden für die Overcommit-Anpassung:

  • Verwenden Sie konservative Überbelegung für Produktionsworkloads.
  • Erwägen Sie eine höhere Überlastung für Entwicklungs-/Testumgebungen.
  • Überwachen Sie die Ressourcennutzung und passen Sie die Anteile nach Bedarf an.

Weitere Informationen finden Sie unter Konfigurieren höherer VM-Workloaddichte

Bewährte Methoden auf der Grundlage von Benchmarking

  • Datenbankworkloads: Vermeiden Sie das Festlegen von Ressourcenanforderungen und Grenzwerten für virtuelle Computer. Überwachen Sie die Leistung bei Verwendung von schnellem Speicher und hoher Parallelität genau. Skalieren Sie die Clusterknoten für große Datenbankbereitstellungen.
  • Netzwerkarbeitsauslastungen: Optimieren Sie die Netzwerkeinstellungen für den optimalen Durchsatz. Skalieren Sie nach Bedarf, um den gewünschten Netzwerkdurchsatz zu erzielen.

Optimierung der Speicherlösung

  • OpenShift Data Foundation (ODF): Verwenden Sie SSD-gesicherten Speicher für zugriff mit geringer Latenz. Konfigurieren Sie Replikations- und Erasure-Coding-Richtlinien basierend auf den Workload-Anforderungen. Um den Wettbewerb für Ihre Anwendungsberechnungsressourcen zu verhindern, sollten Sie einen separaten Workerpool für ODF mit kleineren Azure-VM-Größen erstellen, Ds16v5 ist ein guter Ausgangspunkt, und verwenden Sie Taints/Tolerationen, um sicherzustellen, dass ODF die einzige dort geplante Arbeitsauslastung ist. Überwachen Sie die Speicherleistung, und passen Sie die Replikationsfaktoren nach Bedarf an.
  • Azure NetApp Files (ANF): Wählen Sie Leistungsstufen basierend auf IOPS- und Durchsatzanforderungen aus. Stellen Sie die richtigen Bereitstellungsoptionen und die Netzwerkkonfiguration sicher, um eine optimale Leistung zu erzielen. Verwenden Sie Volumeschnappschüsse und Sicherungen, um Datenschutz- und Wiederherstellungsstrategien zu unterstützen.

OpenShift Virtualization für Azure Red Hat OpenShift.