Spanish English French German Italian Portuguese
Soziales Marketing
HomeRecycelbare TechnologieInfrastrukturGrundsätze für den Umgang mit Daten in Kubernetes

Grundsätze für den Umgang mit Daten in Kubernetes

Kubernetes hat sich zu einem Industriestandard entwickelt, mit bis zu 94% der Organisationen, die laut Umfragen ihre Dienste und Anwendungen auf der Container-Orchestrierungsplattform bereitstellen. Einer der Hauptgründe, warum Unternehmen Kubernetes implementieren, ist die Standardisierung, die es Power-Usern ermöglicht, doppelte Produktivitätsvorteile zu erzielen.

Durch die Standardisierung auf Kubernetes können Unternehmen jeden beliebigen Container überall bereitstellen. Aber es fehlte ein Teil: Die Technologie ging davon aus, dass Container temporär sind, was bedeutet, dass nur zustandslose Container sicher auf Kubernetes bereitgestellt werden können. Die Community hat jedoch kürzlich das Paradigma geändert und Funktionen wie StatefulSets und Storage Classes eingeführt, die die Verwendung von Daten in Kubernetes ermöglichen.

Es ist zwar möglich, zustandsbehaftete Container auf Kubernetes auszuführen, aber es ist immer noch eine Herausforderung.

mach es nach und nach

Kubernetes ist auf dem Weg, so beliebt zu werden wie Linux und de facto die Möglichkeit, jede Anwendung überall und verteilt auszuführen. Die Verwendung von Kubernetes erfordert das Erlernen vieler technischer Konzepte und Vokabeln. Beispielsweise könnten Einsteiger Probleme mit den vielen logischen Einheiten von Kubernetes wie Containern, Pods, Nodes und Clustern haben.

Wenn Sie Kubernetes nicht bereits in der Produktion ausführen, ist es keine gute Idee, direkt in Datencontainer zu springen. Beginnen Sie am besten damit, zustandslose Apps zu verschieben, um Datenverluste zu vermeiden, wenn etwas schief geht.

Wenn Sie keinen Operator finden, der Ihren Anforderungen entspricht, machen Sie sich keine Sorgen, denn die meisten von ihnen sind Open Source.

Verstehen Sie die Einschränkungen und Besonderheiten

Sobald Sie mit den allgemeinen Konzepten von Kubernetes vertraut sind, können Sie in die Details zustandsbehafteter Konzepte eintauchen. Da beispielsweise Anwendungen unterschiedliche Speicheranforderungen wie Leistungs- oder Kapazitätsanforderungen haben können, muss das richtige zugrunde liegende Speichersystem bereitgestellt werden.

Was die Branche allgemein als Speicher-„Profile“ bezeichnet, werden in Kubernetes als Speicherklassen bezeichnet. Sie bieten eine Möglichkeit, die verschiedenen Arten von Klassen zu beschreiben, auf die ein Kubernetes-Cluster zugreifen kann. Speicherklassen können unterschiedliche QoS-Stufen haben, z. B. E/A-Vorgänge pro Sekunde pro GiB, Sicherungsrichtlinien oder willkürliche Richtlinien, z. B. Verbindungsmodi und zulässige Topologien.

Eine weitere wichtige Komponente, die es zu verstehen gilt, ist StatefulSet. Es ist das Kubernetes-API-Objekt, das zur Verwaltung zustandsbehafteter Anwendungen verwendet wird, und bietet wichtige Funktionen wie:

  • Einzigartige und stabile Netzwerkkennungen, mit denen Sie das Volumen verfolgen und die Verbindung trennen und wieder herstellen können, wann immer Sie möchten
  • Stabiler und dauerhafter Speicher zum Schutz Ihrer Daten
  • Ordentliche und geordnete Bereitstellung und Skalierung, die für viele Tag-2-Operationen erforderlich sind.

Obwohl StatefulSet ein erfolgreicher Ersatz für das berüchtigte (inzwischen veraltete) PetSet war, ist es immer noch unvollkommen und hat Einschränkungen. Zum Beispiel kommt der StatefulSet-Controller keine eingebaute Unterstützung für Volume Resizing (PVC) – was eine große Herausforderung darstellt, wenn die Größe des Datensatzes Ihrer Anwendung über Ihre derzeit zugewiesene Speicherkapazität hinaus anwächst. existieren alternative lösungen Solche Einschränkungen müssen jedoch rechtzeitig verstanden werden, damit das Engineering-Team weiß, wie es damit umgeht.

Einen Plan haben

Sobald Sie sich mit den Zustandskonzepten von Kubernetes vertraut gemacht haben, können Sie datenbezogene Aufgaben schrittweise in einer bestimmten Reihenfolge migrieren. So können Sie aus Fehlern lernen und sich nicht überfordern, denn nicht alle Datentechnologien lassen sich auf Kubernetes gleich gut ausführen.

Etablierte Technologien wie Datenbanken und Speicher sollten zuerst migriert werden, und aufkommende Technologien wie KI und ML sollten zuletzt migriert werden. Dies spiegelt sich in einem kürzlich erschienenen Bericht wider, in dem festgestellt wurde, dass Datenbank und persistenter Speicher die beiden am häufigsten ausgeführten Daten-Workloads auf Kubernetes sind. Der Hauptgrund ist der Mangel an Tools für den Tag-2-Betrieb.

Verfügbarkeit von Betreibern

Das Verschieben von zustandsbehafteten Containern nach Kubernetes ist nur die halbe Miete, auch bekannt als Tag 1. Jetzt ist es an der Zeit, den Betrieb von Tag 2 abzuwickeln (eines der am häufigsten diskutierten Themen auf der letzten KubeCon). Hier wird es schwierig. Es gibt unzählige Tag-2-Vorgänge, die Kubernetes nicht nativ verarbeiten kann, wie z. B. Patchen und Aktualisieren, Backup und Wiederherstellung, Protokollverarbeitung, Überwachung, Skalierung und Optimierung.

Alle diese Operationen sind anwendungsspezifisch. Beispielsweise erfordert ein PostgreSQL- und MySQL-Cluster zwei völlig unterschiedliche Ansätze bei der Auswahl eines neuen Hauptservers in einem HA-Cluster-Setup. Kubernetes kann nicht alle spezifischen Tag-2-Operationen der Anwendung kennen. Hier kommen die Operatoren ins Spiel.

Operatoren sind skriptfähige Erweiterungen, die Vorgänge ausführen, die Kubernetes nicht nativ verarbeiten kann. Operatoren bieten dynamische und intelligente Verwaltungsfunktionen, indem sie die Funktionalität der Kubernetes-API erweitern. Eine der häufigsten Anwendungen ist die Durchführung dieser Operationen am Tag 2. Diese Operatoren werden nicht von Kubernetes-Betreuern entwickelt, sondern von Drittentwicklern und -organisationen.

Stellen Sie vor dem Verschieben eines Datenjobs nach Kubernetes sicher, dass es einen Operator dafür gibt. OperatorHub leistet hervorragende Arbeit bei der Indizierung. Mit 282 auf der Website verfügbaren Operatoren wiederholt die Distribution das Obige: Einige Jobs haben Support-Tools und andere nicht. Beispielsweise hat die Datenbankkategorie 38 Operatoren (es gibt allein acht für PostgreSQL), während die gesamte ML/IA-Kategorie nur sieben hat.

Das richtige Maß an Bedienerkompetenz

Es reicht nicht aus, einen Bediener für Ihre Technologie zu haben, da diese möglicherweise unterschiedliche Fähigkeiten haben und häufig in unterschiedlichen Reifegraden vorhanden sind. Das OperatorFramework schlägt ein Fähigkeitsmodell vor, das Operatoren anhand ihrer Eigenschaften kategorisiert:

  • Ebene 1 – Funktioniert für die grundlegende Installation, wie z. B. automatisierte Anwendungsbereitstellung und Konfigurationsverwaltung.
  • Tier 2: Unterstützt Upgrades, Patches und Upgrades von Nebenversionen ohne Probleme.
  • Tier 3 – Behandelt den gesamten Anwendungs- und Speicherlebenszyklus (Backup, Failover usw.).
  • Ebene 4 – Bietet Einblicke, Metriken, Warnungen, Protokollverarbeitung und Workload-Analyse.
  • Stufe 5 – Bietet automatische horizontale/vertikale Skalierung, automatische Konfigurationsabstimmung, Anomalieerkennung und Zeitplanabstimmung.

Bei der Auswahl eines Operators müssen Sie sicherstellen, dass seine Fähigkeiten Ihren Anforderungen entsprechen. Wenn Sie sich nicht sicher sind, welche Stufe die richtige ist, finden Sie im Data on Kubernetes 2022-Bericht heraus, dass die meisten Organisationen nach Betreibern suchen, die mindestens Stufe 3 haben. Es ist eine gute Praxis, ein Backup für Ihre Container zu haben.

Wenn Sie keinen Operator finden, der Ihren Anforderungen entspricht, ist dies kein Problem, da die meisten von ihnen Open Source sind. Sie können die Möglichkeiten bestehender Operatoren durch Eigenentwicklung erweitern oder noch besser zum Open-Source-Projekt beitragen.

den Betreiber verstehen

Die Erweiterbarkeit der Operatoren ist seine Stärke, aber auch seine Schwäche. Das Fehlen von Standards bedeutet, dass sie auf unterschiedliche Weise programmiert sind, sodass Sie sich Ihre Konfigurationsdateien ansehen müssen, um das für Sie am besten geeignete Format auszuwählen.

Außerdem können Betreiber unterschiedliche technische Routen verwenden, um dasselbe Ziel zu erreichen. Beispielsweise verwendet einer der acht PostgreSQL-Operatoren, CloudNativePG, keine StatefulSets und stattdessen einen eigenen benutzerdefinierten Handler. Das ist ziemlich unerwartet, wenn man bedenkt, dass StatefulSets die Grundlage für zustandsbehaftete Container in Kubernetes ist.

Die Entwickler entschieden sich für dieses Design, da StatefulSet nicht in der Lage ist, PVCs zu skalieren (wie oben besprochen). Wie die Bedienerdokumentation erklärt, führt die Auswahl „verschiedener Layoutoptionen auf mehreren Wegen“. Stellen Sie daher bei der Auswahl eines Operators sicher, dass Sie seine Implementierung und seine Vor- und Nachteile verstehen, und wählen Sie den für Sie bequemsten aus.
Den Aufwand wert

Die Ausführung von Daten auf Kubernetes ist nicht immer einfach, aber die gute Nachricht ist, dass sich die harte Arbeit lohnt: 54 % der befragten Unternehmen schreiben mehr als 10 % ihres Umsatzes der Ausführung von Daten auf Kubernetes zu. Darüber hinaus gaben 33 % an, dass es einen transformativen Einfluss auf die Produktivität hat, und weitere 51 % sahen einen erheblichen positiven Effekt.

Da Unternehmen zunehmend Multicloud-Infrastrukturen einsetzen, um ihre Kosten und Infrastrukturleistung zu optimieren, ist Kubernetes zum bevorzugten Tool geworden. Da etwa 66 % der Länder eine Form von Datenschutz- und Verbraucherrechtsgesetzen haben, die oft die Durchsetzung von Data Governance erfordern, müssen Unternehmen zunehmend Benutzerdaten in den Ländern hosten, in denen sie tätig sind.

VERBUNDEN

Lassen Sie eine Antwort

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Die Kommentarmoderation ist aktiviert. Es kann einige Zeit dauern, bis Ihr Kommentar erscheint.

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

ABONNIEREN SIE TRPLANE.COM

Veröffentlichen Sie auf TRPlane.com

Wenn Sie eine interessante Geschichte über Transformation, IT, Digital usw. mit einem Platz in TRPlane.com haben, senden Sie sie uns bitte und wir werden sie mit der gesamten Community teilen.

WEITERE PUBLIKATIONEN

Benachrichtigungen aktivieren OK Nein danke