Fallstudie

Bereitstellungsspezifikation für Kubernetes in AWS

Bild des ITGix-Teams
ITGix-Team
Passionierte DevOps- und Cloud-Ingenieure
20.03.2023
Lesezeit: 3 Minuten.
Zuletzt aktualisiert: 16.01.2025

Inhaltsübersicht

Warum sollten Sie sich für eine Multi-Master-Einrichtung entscheiden?

Um ein wirklich zuverlässiges, hochverfügbares verteiltes System für Ihre Anwendungen zu haben. Master-Fehlertoleranz.

Warum sollten Sie sich für eine Mehrzonenanlage entscheiden?

Verbesserung der Verfügbarkeit im Falle eines Ausfalls/Wartung einer einzelnen Zone. Toleranz bei Zonenausfall.

Warum 3 Master?

Einige der Hauptkomponenten müssen als ein einziger Akteur ausgeführt werden, um eine Split-Brain-Situation zu vermeiden. Mehr über den Abschnitt "Gewählte Master-Komponenten" weiter unten

Warum 3 Arbeiter?

Falls eine der Zonen ausfällt, müssen die Anwendungen in der anderen Zone gestartet werden können. Wir können "Pod-Affinität" verwenden, um unsere Pods in einer Zone mit einer höheren Anzahl von Arbeitern auszuführen

Wie kann man skalieren?

Durch die Verwendung von Amazons Single auto-scaling group, die mehrere Zonen umfasst.

Wie wird die dauerhafte Speicherung eingestellt?

AWS S3 ist mit Kubernetes kompatibel. Amazon EBS bietet persistente Blockspeicher-Volumes für die Verwendung mit Amazon EC2-Instances in der AWS-Cloud.

Wie überwacht man in AWS?

Wir können Open-Source-Tools wie Icinga2, Prometheus usw. verwenden oder uns für Amazon CloudWatch Service entscheiden. Beide sind geeignete Lösungen.Amazon CloudWatch-Dienst

DIE HERAUSFORDERUNG

Erstellen Sie einen hochverfügbaren Kubernetes-Cluster mit Funktionen wie Master-Fehlertoleranz und Zonenfehlertoleranz.

DIE LÖSUNG

Einrichtung von redundantem, zuverlässigem Speicher:

Das oberste Gebot der Hochverfügbarkeit ist der Schutz der Daten. Was auch immer sonst passiert, was auch immer in Brand gerät, wenn man die Daten hat, kann man sie wiederherstellen.

Clustering ETCD

Verwenden Sie den persistenten Speicher von Amazon S3, der für eine Haltbarkeit von 99,999999999 % ausgelegt ist
https://aws.amazon.com/s3/ ODER Jedes Amazon EBS-Volume ist für eine Verfügbarkeit von 99,999 % ausgelegt und wird automatisch innerhalb seiner Availability Zone repliziert, um Ihre Anwendungen vor Komponentenausfällen zu schützen. https://aws.amazon.com/ebs/

Replizierte API:

Installieren Sie den API-Server auf allen Master-Knoten mit der YAML-Definition.
Richten Sie den Lastausgleich zwischen den Master-Knoten mit der gewünschten Methode ein. Bei AWS verwenden Sie ELB.

Master hat Komponenten gewählt:

Bisher haben wir noch nichts getan, was den Zustand des Clusters tatsächlich verändert, wie z. B. der Controller-Manager und der Scheduler. Um Zuverlässigkeit zu erreichen, wollen wir nur einen Akteur, der den Zustand des Clusters ändert, aber wir wollen auch replizierte Instanzen dieser Akteure, falls der Rechner stirbt. Lease-lock wird in der API verwendet, um die Master-Wahl durchzuführen (Flag leader-elect).
Der Scheduler und der Controller-Manager können so konfiguriert werden, dass sie über die IP-Adresse der API-Server mit Lastausgleich kommunizieren. Unabhängig davon, wie sie konfiguriert sind, führen der Scheduler und der Controller-Manager den oben erwähnten Prozess der Leader-Wahl durch, wenn sie das Flag "leader-elect" verwenden.
Falls der Zugriff auf den API-Server ausfällt, kann der gewählte Leader den Lease nicht erneuern, so dass ein neuer Leader gewählt werden muss. Dies ist besonders relevant, wenn der Scheduler und der Controller Manager so konfiguriert sind, dass sie über 127.0.0.1 auf den API-Server zugreifen, während der API-Server auf demselben Knoten nicht verfügbar ist.

Hinzufügen von Arbeitskräften:

Für einen neuen Cluster: Wir müssen das Kubelet und den Kube-Proxy auf jedem Worker-Node installieren und das Flag -apiserver auf Ihren replizierten Endpunkt setzen.

Multi-Zonen-Einrichtung:

Die Unterstützung für mehrere Zonen ist absichtlich begrenzt: Ein einzelner Kubernetes-Cluster kann in mehreren Zonen ausgeführt werden, aber nur innerhalb derselben Region (und desselben Cloud-Anbieters).
Bei Clustern mit mehreren Zonen wird dieses Verteilungsverhalten auf alle Zonen ausgedehnt (um die Auswirkungen von Zonenausfällen zu verringern). (Dies wird über SelectorSpreadPriority erreicht).

Einschränkungen bei der Einrichtung mehrerer Zonen:

Wir müssen sicherstellen, dass sich die verschiedenen Zonen im Netzwerk nahe beieinander befinden, daher führen wir kein zonenabhängiges Routing durch. Insbesondere der Datenverkehr, der über Dienste läuft, kann zonenübergreifend sein (auch wenn die Pods in einigen Pods, die diesen Dienst unterstützen, in derselben Zone wie der Client liegen), was zusätzliche Latenzzeiten und Kosten verursachen kann.

Weitere Fallstudien

Einleitung Ein schwedisches Fintech-Start-up, das in einem regulierten Umfeld tätig ist, musste vom ersten Tag an eine sichere und vorschriftsmäßige Cloud-Grundlage auf Azure schaffen. Anstatt sich schrittweise mit den Themen Sicherheit und Governance zu befassen...
Lesen
Zusammenfassung Ein führendes japanisches Finanzinstitut hat sich mit unserem Cloud-Beratungsteam zusammengetan, um seine Cloud-Transformation durch den Aufbau einer sicheren, skalierbaren und umfassend geregelten AWS Landing Zone zu beschleunigen. Durch den Einsatz von...
Lesen

Blog-Beiträge

Einleitung: Warum Nachhaltigkeit in der Cloud wichtig ist In der sich schnell entwickelnden digitalen Landschaft von heute ist Cloud Computing zum Rückgrat skalierbarer und flexibler Geschäftsabläufe geworden. Die rasche Einführung von Cloud-Diensten hat jedoch auch...
Lesen
Die Fintech-Revolution, angetrieben durch unerbittliche digitale Innovation, verändert die Finanzbranche. Diese Leistung muss jedoch mit robusten Sicherheitsmaßnahmen gekoppelt werden, da Fintech-Anwendungen mit sensiblen Daten und...
Lesen
DevOps in der Finanzwelt Kurz gesagt ist DevOps eine Methodik und eine Reihe von Best Practices und Tools, die von Entwicklungs- und Betriebsteams verwendet werden, die sich mit...
Lesen
Wie DevOps die Patientenversorgung, Compliance und Innovation im Gesundheitswesen revolutioniert Einleitung: Die Gesundheitsbranche am Wendepunkt Der globale Gesundheitssektor durchläuft einen beispiellosen digitalen Wandel...
Lesen
Bedeutung der Technologie im Gesundheitswesen Heutzutage entwickeln sich die Technologien außergewöhnlich schnell, und das beobachtete Potenzial nimmt mit der Zeit zu. Die Technologie verändert nicht nur die Art und Weise, wie wir unser persönliches Leben...
Lesen
Kontakt aufnehmen
ITGix bietet Ihnen fachkundige Beratung und maßgeschneiderte DevOps-Services, um Ihr Unternehmenswachstum zu beschleunigen.
Newsletter für
Technik-Experten
Schließen Sie sich 12.000+ Geschäftsführern, Designer und Entwickler, die Blogs, e-Books und Fallstudien Fallstudien über neue Technologie erhalten.