Wie man Ressourcen in OpenStack- und Kubernetes-Clouds mit Sardina FishOS besser verwalten kann

Wie man Ressourcen in OpenStack- und Kubernetes-Clouds mit Sardina FishOS besser verwalten kann

Ein optimierter Weg zum Ressourcen-Management-System in OpenStack- und Kubernetes-Umgebungen

Das in FishOS integrierte fortschrittliche Ressourcenmanagementsystem ermöglicht eine intelligente und effiziente Verwaltung von Ressourcen innerhalb von OpenStack und Kubernetes. Erreicht wird dies durch die Kombination von zwei Entscheidungsmaschinen – der FishOS Placement Engine und der Rebalancing Engine, die zusammenarbeiten, um einen hocheffizienten Rechenzentrumsbetrieb zu gewährleisten.

FishOS Placement Engine und Rebalancing Engine sind zwei Entscheidungsmaschinen, die zusammenarbeiten, um einen hocheffizienten Rechenzentrumsbetrieb zu gewährleisten.

Situation

Um eine hohe Effizienz der Ressourcennutzung zu erreichen, müssen zwei Situationen gemeistert werden:

  • Wo sollten die neu zu initiierenden VMs unter Berücksichtigung der Auslastung der Live-Ressourcen in der gesamten Einrichtung platziert werden?
  • Wie kann man bei einer Reihe von VMs, die in der Einrichtung laufen, die VMs auf die optimale Anzahl von Servern packen und gleichzeitig den Ressourcenanforderungen der VMs gerecht werden, ohne die Leistung zu beeinträchtigen?

Die erste wird als Platzierung bezeichnet, während die zweite als Rebalancing bezeichnet wird.

Obwohl Placement und Rebalancing miteinander verbunden sind, müssen sie als unterschiedliche Rechenaufgaben und somit als unterschiedliche Entscheidungen behandelt werden.

Wie im Folgenden gezeigt wird, ist das intelligente Ressourcenmanagement in FishOS auf die Verfügbarkeit von Live-Migration angewiesen. Bei Kubernetes hängt dieses Schema davon ab, dass Kubernetes innerhalb von VMs läuft.

High-Level-Ansicht

Auf einer hohen Ebene analysiert das System:

  • alle Hypervisoren im System durch Ermittlung ihrer Kapazität und
  • alle laufenden VMs durch Ermittlung der von ihnen erzeugten Last

Informationen über die Kapazität im Vergleich zur Last werden aus den von Hypervisoren und VMs erfassten Metriken gewonnen. Diese Metriken spiegeln Ressourcen wie Speicher, Festplatte, Netzwerk und CPU wider.

Die Auswirkungen

Mit diesem Ansatz würden wir die Anzahl der Hypervisoren, die zum Hosten von VMs verwendet werden, minimieren, ohne die Funktionsweise dieser VMs zusätzlich einzuschränken.

Es ermöglicht den Einsatz einer geringeren Anzahl von Servern, um die gleiche Anzahl von VMs zu hosten, um niedrigere OpEx und CapEx zu erreichen und die Lizenz- und Stromkosten zu senken.

FishOS Platzierungsmaschine

Der Zweck der Placement Engine ist es, zu bestimmen, wo VM(s) gestartet (platziert) werden sollen, wenn sie von einem Service Consumer angefordert werden.

Wohin kommen neue VMs?

Die Antwort auf die Frage, wo neue VMs platziert werden sollen, ergibt sich wie folgt:

Wenn alle Hypervisors im System frei sind, gehen die VMs zuerst zu dem Hypervisor mit der geringsten Kapazität, um sie zu hosten. Auf diese Weise müssten wir keine größeren Server verwenden, nur um eine Reihe kleiner VMs zu hosten.

Wenn es im System Hypervisoren gibt, die bereits genutzt werden (d. h. auf denen sich einige VMs befinden), werden neue VMs bevorzugt dort platziert (vorausgesetzt, auf diesen Hypervisoren ist eine Kapazität für die Aufnahme von VMs vorhanden). Dadurch wird die Anzahl der Hypervisoren, die zum Hosten der VMs eingeschaltet werden müssen, minimiert.

Die Placement Engine nimmt Schätzungen auf der Grundlage des für die VM ausgewählten Flavors vor, um zu prüfen, ob eine bestimmte VM auf einen bestimmten Hypervisor passt.

FishOS Rebalancing Engine

Der Zweck der Rebalancing Engine besteht darin, zu ermitteln, wie eine bereits laufende Infrastruktur neu ausbalanciert werden kann, um effizienter zu werden.

Muss die Infrastruktur optimiert werden? Vor der Durchführung von Rebalancing-Aufgaben stellt sich zunächst die Frage, ob die Infrastruktur optimiert werden muss.

Für jede VM gibt es eine Reihe von Fragen zu beantworten, u. a:

  • Müssen sie überhaupt auf einen anderen Hypervisor verschoben werden?
  • Kann es verschoben werden? Gibt es Vorgänge wie übermäßige Schreibvorgänge auf der Festplatte oder Netzwerkaktivitäten, die den Abschluss der Live-Migration verhindern könnten?

Wie kann die Infrastruktur optimiert werden?

Sobald festgestellt wurde, dass die laufende Infrastruktur nicht optimal ist, stellt sich die Frage, wie die Infrastruktur optimiert werden kann. In diesem Zusammenhang behandelt die Rebalancing Engine auch Fragen wie diese:

  • Was ist die optimale Mischung aus VM-Bewegungen?
  • Wenn eine VM verschoben werden kann und muss, wohin soll sie dann verschoben werden? (Siehe Abschnitt „Platzierungsmotor“.)
  • Welche Auswirkungen hat die Neugewichtung?

Nach der Berechnung des Ausgleichsplans stellt die Rebalancing Engine die Anträge zur Durchführung dieser Migrationen.

Platzierung und Neugewichtung

FishOS Placement Engine und Rebalancing Engine verwenden Live-Auslastungsmetriken der gesamten Anlage, um das Problem der Live-Ressourcenoptimierung zu lösen. Der Ansatz verwendet nicht nur die Reservierungswerte, die vom Flavor angegeben werden, um festzustellen, ob eine bestimmte VM auf einen bestimmten Hypervisor passt, sondern auch wichtige tatsächliche Nutzungsdaten, die durch die Erfassung von Metriken von VMs und Hypervisoren gewonnen werden.

Die Placement Engine stellt sicher, dass die richtigen Server, die die VM(s) hosten können, verwendet werden, während die Anzahl der Server, die für die Gesamtheit der VM-Workloads erforderlich sind, minimiert wird. Die Placement Engine behandelt Flavors, wie sie in OpenStack definiert sind, als Obergrenzen für Ressourcen, die VMs zugewiesen werden können, und gibt damit die maximale Menge an, die von jeder VM verbraucht werden kann.

FishOS stellt sicher, dass, wenn ein bereits genutzter Host aufgrund der tatsächlichen Ressourcenauslastung noch in der Lage ist, zusätzliche VMs aufzunehmen, neue zusätzliche VMs bevorzugt auf diesem Host ausgeführt werden. Mit FishOS kann ein Betreiber die Anzahl der Hypervisoren, die zu einem bestimmten Zeitpunkt verwendet werden, einfach steuern und so die Auslastung von OpenStack-Ressourcen verbessern.

Die Rebalancing Engine stellt sicher, dass eine bereits laufende Infrastruktur effizient betrieben wird, und ermöglicht es den Betreibern, die Nutzung der Anlagenressourcen unter Berücksichtigung der Live-Ressourcenauslastung der Workloads zu optimieren.

Die FishOS Rebalancing Engine läuft standardmäßig automatisch im System, wobei der Bediener die Häufigkeit des Rebalancing konfigurieren kann. Sobald ein Rebalancing-Plan berechnet wurde, stellt die Rebalancing-Engine die Anträge zur Durchführung dieser Migrationen, ohne dass ein Betreiber eingreifen muss, und kann außerdem Funktionen wie diese bereitstellen:

  • automatische Migration von VMs aus deaktivierten Hypervisoren
  • Ausgleich der Last durch Live-Migration von nicht verankerten VMs
  • Protokollierung der Ergebnisse zum Verständnis des Zustands der Infrastruktur
  • CLI-Schnittstelle mit Trockenlauf-Option, um dem Bediener zu helfen, die Auswirkungen zu verstehen
  • deaktivierte Hypervisors werden zwangsweise live migriert
Unterstützende Komponenten

Damit die Placement Engine und die Rebalancing Engine Entscheidungen treffen können, benötigen sie jeweils Daten. Die erforderlichen Daten werden von einer Reihe von State Data Collectors gesammelt, die als Plugins von collected implementiert sind.

Sardina entschied sich dafür, die Zustandsdatensammler als Plugins von collected zu implementieren, da collected eine Reihe von Vorteilen bietet: Es ist in Linux-Umgebungen weit verbreitet, quelloffen, leicht erweiterbar und hat geringe Integrationskosten, so dass Linux-Sysadmins es leicht erweitern und ausbauen können.

Die gesammelten Zustandsdaten werden von einem Sammel-Plugin versandt und landen schließlich in einer horizontal skalierbaren Zeitseriendatenbank, die für eine große Anzahl kleiner Schreibvorgänge und eine kleine Anzahl großer Lesevorgänge ausgelegt ist.

Die Daten in der Zeitreihendatenbank werden dann von den Placement- und Rebalancing-Engines genutzt.

Standardmäßig aktiviert

Sowohl die Placement Engine als auch die Rebalancing Engine sind in FishOS-Systemen standardmäßig aktiviert, wobei die Rebalancing Engine so eingestellt ist, dass sie periodisch läuft.

Offene Quelle

Da Sardina OpenStack und sein Open-Source-Modell unterstützen möchte, bieten wir jetzt für einen begrenzten Zeitraum einen kostenlosen Zugang zum FishOS Deployer an.

Besuchen Sie unsere Website www.sardinasystems.com für weitere Informationen oder kontaktieren Sie uns unter info@sardinasystems.com.

Ich danke Ihnen!

800 390 Mihaela Constantinescu
Start Typing