Erstellen einer hochverfügbaren Cluster-Strategie

Konzipieren Sie Ihren Standardcluster mit IBM Cloud® Kubernetes Service für maximale Verfügbarkeit und Kapazität für Ihre App. Nutzen Sie die integrierten Funktionen, um die Hochverfügbarkeit Ihres Clusters zu erhöhen und Ihre Anwendung vor Ausfallzeiten zu schützen, falls eine Komponente in Ihrem Cluster ausfällt. Es ist jedoch keine exakte Wissenschaft, herauszufinden, wie Ihr Cluster aufgebaut sein muss, um Ihre Arbeitslast zu unterstützen. Möglicherweise müssen Sie unterschiedliche Konfigurationen testen und anpassen.

Hochverfügbarkeit (High Availability, HA) ist eine zentrale Disziplin in einer IT-Infrastruktur, um Ihre Apps auch nach einem partiellen oder vollständigen Ausfall der Site betriebsbereit zu halten. Der Hauptzweck der Hochverfügbarkeit ist es, potenzielle Fehlerquellen in einer IT-Infrastruktur zu eliminieren. Sie können sich beispielsweise auf den Ausfall eines Systems vorbereiten, indem Sie Redundanz hinzufügen und Failover-Mechanismen einrichten. Weitere Informationen finden Sie unter Sicherstellen der Hochverfügbarkeit und Disaster-Recovery durch IBM Cloud.

Um mit der Planung und Dimensionierung Ihres Clusters zu beginnen, sollten Sie diese Entscheidungspunkte vor der Erstellung eines Clusters überprüfen.

Entscheiden Sie, wie viele Cluster Sie erstellen möchten

Die Wahrscheinlichkeit, dass Ihre Benutzer Ausfallzeiten verzeichnen, ist geringer, wenn Sie Ihre Apps auf mehrere Workerknoten, Zonen und Cluster verteilen. Integrierte Funktionen wie Lastausgleich (Load Balancing) und Isolation erhöhen die Ausfallsicherheit gegenüber möglichen Fehlerbedingungen mit Hosts, Netzen oder Apps.

Hohe Verfügbarkeit bei
Verfügbarkeit bei

Die Anzahl der Cluster, die Sie erstellen, hängt von Ihrer Arbeitslast, den Unternehmensrichtlinien und -vorschriften, den geschäftlichen Anforderungen, den Service Level Agreements, die Sie mit Ihren Kunden abgeschlossen haben, den Ressourcen, die Sie aufwenden wollen, und der Art und Weise, wie Sie die Computerressourcen nutzen wollen, ab.

  • Mehrere Cluster: Die Verwaltung mehrerer Cluster ist in der Regel komplexer, kann Ihnen jedoch dabei helfen, wichtige Ziele wie die folgenden zu erreichen.

    • Einhalten von Sicherheitsrichtlinien, die eine Isolierung von Workloads erfordern.
    • Testen Sie, wie Ihre App in einer anderen Version von Kubernetes oder anderen Clustersoftware wie z. B. Calico ausgeführt wird.
    • Erzielen Sie eine höhere Leistung für Nutzer in verschiedenen geografischen Gebieten.
    • Vereinfachen Sie den Benutzerzugriff, um den Zugriff innerhalb eines Clusters zu kontrollieren, indem Sie den Zugriff auf der Ebene der Cluster-Instanz konfigurieren, anstatt mehrere RBAC-Richtlinien auf Namespace-Ebene anzupassen und zu verwalten.
    • Halten Sie die Anzahl der Arbeitsknoten niedriger. Die Netzwerkbandbreite bei der Skalierung virtueller Maschinen beträgt etwa 1000 Mbit/s. Wenn Sie Hunderte von Worker-Knoten in einem Cluster benötigen, können Sie die Konfiguration auf mehrere Cluster mit jeweils weniger Knoten aufteilen oder Bare-Metal-Knoten bestellen.
    • Ermöglichen Sie eine größere Anzahl von Diensteintegrationen, z. B. mehr als 5.000 Dienste.
    • Bieten Sie einer Anwendung eine höhere Verfügbarkeit. Ähnlich wie bei der Verwendung von drei Zonen in Multizonen-Clustern können Sie die Verfügbarkeit Ihrer Anwendung erhöhen, indem Sie drei Cluster über verschiedene Zonen hinweg einrichten.
    • Senken Sie die Kosten, indem Sie kleinere Maschinen anschaffen, die für Ihr Arbeitsaufkommen ausreichen.
  • Ein Cluster mit mehreren Worker-Knoten: Mit weniger Clustern können Sie den Betriebsaufwand und die Kosten pro Cluster für feste Ressourcen reduzieren. Anstatt mehrere Cluster zu erstellen, können Sie einem Cluster Worker-Pools hinzufügen, um verschiedene Arten von Computing-Ressourcen für Ihre Anwendungs- und Servicekomponenten bereitzustellen. Wenn Sie die App entwickeln, befinden sich die Ressourcen, die sie verwendet, in derselben Zone oder sind auf andere Weise in einer Mehrfachzone eng verbunden, sodass Sie Annahmen zu Latenzzeiten, Bandbreite oder korrelierten Fehlern machen können. Wenn Sie jedoch nur über einen einzigen Cluster verfügen, ist es umso wichtiger, dass Sie Ihren Cluster mithilfe von Namespaces, Ressourcenquoten und Labels organisieren.

Bestimmen Sie, wie viele Standorte benötigt werden

Ein Cluster kann Replikate entweder auf Worker-Knoten an einem einzigen Standort oder auf mehrere Standorte verteilen. Diese Wahl kann sich auf die Clustertypen auswirken, die Ihnen im nächsten Abschnitt zur Verfügung stehen.

Durch die Verteilung der Workload auf drei Zonen wird Hochverfügbarkeit für Ihre App für den Fall sichergestellt, dass eine Zone nicht mehr verfügbar ist. Ihre Workerknoten müssen gleichmäßig auf alle drei Verfügbarkeitszonen verteilt sein, um das IBM Cloud-Service-Level-Agreement (SLA) für HA-Konfigurationen zu erfüllen.

Ein Zonenfehler wirkt sich auf alle physischen Datenverarbeitungshosts und den NFS-Speicher aus. Fehler umfassen Ausfälle bei Stromversorgung, Kühlung, Netzbetrieb oder Speicherausfälle sowie Naturkatastrophen wie Überschwemmungen, Erdbeben und Stürme. Um sich gegen einen Zonenausfall zu schützen, müssen Sie Cluster in zwei verschiedenen Zonen haben, die durch einen externen Load Balancer ausgeglichen werden, einen Cluster an einem Standort mit mehreren Zonen erstellen, der den Master über die Zonen verteilt, oder die Einrichtung eines zweiten Clusters in einer anderen Zone in Betracht ziehen.

Mehrzonencluster

Klassisch VPC

Multizone-Cluster verteilen Workloads auf mehrere Worker Nodes und Zonen und bieten so zusätzlichen Schutz vor Zonenausfällen. Worker-Knoten werden automatisch mit drei Replikaten über mehrere Zonen verteilt bereitgestellt. Wenn eine ganze Zone ausfällt, wird Ihre Arbeitslast auf Worker Nodes in den anderen Zonen verteilt, sodass Ihre Anwendung vor dem Ausfall geschützt ist.

Jede Region wird mit einer hoch verfügbaren Lastausgleichsfunktion konfiguriert, auf die von einem regionsspezifischen API-Endpunkt aus zugegriffen werden kann. Die Lastausgleichsfunktion leitet eingehende und ausgehende Anforderungen an Cluster in den Regionszonen weiter. Die Wahrscheinlichkeit eines vollständigen regionalen Ausfalls ist gering. Um diesem Fehler jedoch vorzubeugen, können Sie mehrere Cluster in verschiedenen Regionen einrichten und sie mithilfe einer externen Lastausgleichsfunktion verbinden. Sollte eine gesamte Region ausfallen, kann der Cluster in der anderen Region die Arbeitslast übernehmen.

Beispiel: Sie stellen Ihren Multizonen-Cluster in einer Metro-Region bereit, z. B. sydney, und drei Replikate werden automatisch auf die drei Zonen der Metro verteilt, z. B. au-syd-1, au-syd-2 und au-syd-3. Falls Ressourcen in einer Zone ausfallen, werden Ihre Cluster-Workloads in den anderen Zonen weiterhin ausgeführt.

Ein Cluster in mehreren Regionen erfordert mehrere Cloudressourcen und kann abhängig von Ihrer App sehr komplex und kostenintensiv sein. Prüfen Sie, ob Sie eine Konfiguration über mehrere Regionen benötigen, oder ob Sie mit einer möglichen Serviceunterbrechung umgehen können. Wenn Sie einen Cluster mit mehreren Regionen konfigurieren möchten, stellen Sie sicher, dass Ihre App und die Daten in einer anderen Region gehostet werden können, und dass Ihre App die Replikation globaler Daten handhaben kann.

Mehrere mit Lastverteilern verbundene Cluster

Klassisch VPC

Um Ihre Anwendung vor einem Master-Ausfall zu schützen, können Sie mehrere Cluster in verschiedenen Zonen innerhalb einer Region erstellen und sie mit einem globalen Load Balancer verbinden. Diese Option ist nützlich, wenn Sie einen Cluster in einem klassischen Rechenzentrum mit nur einer Zone bereitstellen müssen, aber dennoch die Vorteile der Multizonen-Verfügbarkeit nutzen möchten.

Um mehrere Cluster mit einem globalen Load Balancer zu verbinden, müssen die Cluster mit einer öffentlichen Netzwerkkonnektivität eingerichtet und Ihre Anwendungen über Ingress, Routen oder mit einem Kubernetes Load Balancer Service zugänglich gemacht werden.

Um Ihre Arbeitslast auf mehrere Cluster zu verteilen, müssen Sie einen globalen Load Balancer über Cloud Internet Services (CIS) einrichten und die öffentlichen IP-Adressen Ihrer ALBs oder Load Balancer Services zu Ihrer Domain hinzufügen. Durch das Hinzufügen dieser IP-Adressen können Sie eingehenden Datenverkehr zwischen Ihren Clustern weiterleiten.

Damit die globale Lastausgleichsfunktion erkennen kann, ob einer der Cluster nicht verfügbar ist, sollten Sie in Betracht ziehen, jeder IP-Adresse eine Ping-basierte Statusprüfung hinzuzufügen. Wenn Sie diese Prüfung einrichten, überprüft Ihr DNS-Provider regelmäßig mit Ping die IP-Adressen, die Sie zu Ihrer Domäne hinzugefügt haben. Wenn eine IP-Adresse nicht mehr verfügbar ist, wird der Datenverkehr nicht mehr an diese IP-Adresse gesendet. Kubernetes startet jedoch nicht automatisch erneut Pods von dem nicht verfügbaren Cluster auf Workerknoten in verfügbaren Clustern. Wenn Sie möchten, dass „ Kubernetes “ Pods in verfügbaren Clustern automatisch neu startet, sollten Sie die Einrichtung eines Multizonen-Clusters in Betracht ziehen.

Einzelzonencluster

Klassisch

Die Arbeiterknoten sind auf verschiedene physische Hosts innerhalb einer einzigen Zone verteilt. Diese Option schützt vor bestimmten Ausfällen, z. B. während eines Master-Updates, und ist einfacher zu verwalten. Sie schützt Ihre Anwendungen jedoch nicht, wenn eine ganze Zone ausfällt. Wenn Sie später feststellen, dass die Verfügbarkeit ein Problem darstellt, können Einzelzonen-Cluster, die an bestimmten Standorten eingesetzt werden, später in Multizonen-Cluster umgewandelt werden.

Wenn Ihr Cluster so erstellt wurde, dass sich alle Worker-Knoten in einer einzigen Zone befinden, ist der „ Kubernetes “-Master Ihres klassischen Clusters hochverfügbar und umfasst separate physische Hosts für Ihren Master-API-Server, den „ etcd “, den Scheduler und den Controller-Manager, um vor Ausfällen zu schützen, beispielsweise während einer Master-Aktualisierung. Sie können zusätzliche Arbeitsknoten zu Ihrem Einzelzonen-Cluster hinzufügen, um die Verfügbarkeit zu verbessern und sich für den Fall abzusichern, dass ein Arbeitsknoten ausfällt.

Wenn ein Workerknoten ausfällt, werden die App-Instanzen auf den verfügbaren Workerknoten weiter ausgeführt. Kubernetes plant Pods von nicht verfügbaren Workerknoten automatisch neu, um die Leistung und Kapazität für Ihre App zu gewährleisten. Um sicherzustellen, dass Ihre Pods gleichmäßig auf die Worker-Knoten verteilt werden, implementieren Sie die Pod-Affinität.

Wählen Sie einen Clustertyp

Die Workerknotentypen und Isolationsstufen, die Ihnen zur Verfügung stehen, hängen von der Containerplattform, von dem Clustertyp und von dem Infrastrukturprovider, die Sie verwenden wollen, sowie von dem IBM Cloud Kubernetes Service-Standort ab, an dem Sie Ihren Cluster erstellen wollen. Sie können zwischen Classic-, VPC- oder Satellite-Clustern wählen. Die Art des Clusters, die Sie benötigen, hängt von den Entscheidungen ab, die Sie hinsichtlich der Anzahl der Cluster und der Standorte getroffen haben.

Hardware-Optionen für Worker-Knoten in einem
für Worker-Knoten in einem

VPC-Cluster
Worker-Knoten werden als virtuelle Serverinstanzen auf der VPC-Infrastruktur bereitgestellt. VPC ist der empfohlene Infrastrukturtyp für neue Cluster. Es bietet standardmäßig Netzwerkisolierung und unterstützt die neuesten Funktionen von „ IBM Cloud Kubernetes Service “, darunter dedizierte Hosts und „Secure by Default“.
Satellite-Cluster
Worker-Knoten werden in Ihrer eigenen Infrastruktur bereitgestellt, einschließlich lokaler Hardware oder virtueller Maschinen bei anderen Cloud-Anbietern wie AWS, Azure und GCP. Verwenden Sie „ Satellite “, wenn Sie von „ IBM Cloud “ verwaltete Cluster außerhalb der Rechenzentren von „ IBM Cloud “ betreiben möchten.
Klassische Cluster
Worker-Knoten werden auf virtuellen Maschinen oder Bare-Metal-Servern in der klassischen Infrastruktur v IBM Cloud bereitgestellt. Verwenden Sie „Classic“, wenn Sie Bare-Metal-Worker-Knoten, Software-Defined-Storage-Varianten (SDS) oder Verbindungen zu bestehenden Ressourcen der klassischen Infrastruktur benötigen.

Auswahl eines Betriebssystems für den Cluster

Welche Betriebssysteme Ihnen zur Verfügung stehen, hängt von dem von Ihnen gewählten Clustertyp ab.

Ubuntu 24
Weitere Informationen finden Sie in den Versionshinweisen Ubuntu 24.04. Beachten Sie, dass NTP mit Ubuntu 24 timesyncd verwendet und die entsprechenden Befehle möglicherweise aktualisiert werden.

Umstieg auf ein neues Betriebssystem? Siehe Migration auf eine neue Version von Ubuntu.

Definieren Sie eine Strategie zur Benennung von Clustern

Verwenden Sie bei der Angabe von Clustern eindeutige Namen für Ressourcengruppen und Regionen in Ihrem Konto, um Namenskonflikte zu vermeiden. Sie können einen Cluster nicht umbenennen, nachdem er erstellt wurde.

Entscheiden Sie, wie viele Arbeitsknoten für jeden Cluster

Der Verfügbarkeitsgrad, den Sie für Ihren Cluster einrichten, hat Auswirkungen auf Ihre Abdeckung in Bezug auf die Bedingungen des IBM Cloud-HA-Service-Level-Agreements. Um beispielsweise eine vollständige HA-Abdeckung gemäß den SLA-Bedingungen zu erhalten, müssen Sie einen Cluster mit mehreren Zonen mit insgesamt mindestens 6 Workerknoten einrichten, zwei Workerknoten pro Zone, die gleichmäßig auf drei Zonen verteilt sind.

Die Gesamtzahl der Workerknoten in einem Cluster bestimmt die Datenverarbeitungsfunktionalität, die für Ihre Apps im Cluster zur Verfügung steht. Sie können Ihre Infrastruktur bei einem Ausfall eines Worker-Knotens schützen, indem Sie mehrere Worker-Knoten in Ihrem Cluster einrichten. Zu den Ausfällen von Worker-Knoten können Hardwareausfälle wie Strom-, Kühlungs- oder Netzwerkausfälle sowie Probleme auf dem „ VM “ selbst gehören.

  • Multizonen-Cluster Classic VPC: Planen Sie mindestens zwei Worker-Knoten pro Zone ein, also insgesamt sechs Knoten in drei Zonen. Planen Sie außerdem für die Gesamtkapazität Ihres Clusters mindestens 150 Prozent der erforderlichen Gesamtkapazität für die Workload, sodass Sie, wenn eine Zone ausfällt, Ressourcen für die Aufrechterhaltung der Workload zur Verfügung haben.

  • Cluster mit einer Zone: Planen Sie mindestens drei Worker-Knoten in Ihrem Cluster ein. Weiterhin benötigen Sie genügend im Cluster verfügbare CPU- und Speicherkapazität für einen zusätzlichen Knoten. Wenn Ihre Anwendungen weniger Ressourcen benötigen, als auf dem Worker-Knoten zur Verfügung stehen, können Sie möglicherweise die Anzahl der Pods begrenzen, die Sie auf einem Worker-Knoten bereitstellen.

Denken Sie daran:

  • Sie können den Cluster-Autoscaler ausprobieren, um sicher zu sein, dass Sie immer genügend Worker Nodes haben, um Ihre Arbeitslast abzudecken.
  • Kubernetes beschränkt die maximale Anzahl von Workerknoten, die in einem Cluster vorhanden sein können. Weitere Informationen finden Sie unter Quoten für Worker-Knoten und Pods.

Worker-Node-Varianten auswählen

Ein Worker-Knoten ist ein „ VM “, der auf physischer Hardware ausgeführt wird. Ein Workerknotentyp ('Flavor') beschreibt die Datenverarbeitungsressourcen, wie CPU-, Speicher- und Plattenkapazität, die Sie erhalten, wenn Sie Ihren Workerknoten bereitstellen. Workerknoten desselben Typs werden in Workerknotenpools zusammen gruppiert.

Bei der Auswahl eines Clustertyps haben Sie bereits darüber nachgedacht, wie sich der Standort des Worker Node Flavor und der Maschinentyp auf Ihre Entscheidung auswirken. Bei der Auswahl der Worker-Node-Varianten sollten Sie Folgendes beachten.

  • Tenancy: Je nach dem von Ihnen benötigten Grad der Hardware-Isolierung können virtuelle Arbeitsknoten so eingerichtet werden, dass sie von mehreren IBM Kunden gemeinsam genutzt werden (Multi-Tenancy) oder nur für Sie bestimmt sind (Single-Tenancy). Bare-Metal-Maschinen werden immer als dediziert eingerichtet. Wenn Sie sich zwischen gemeinsam genutzten und dedizierten Knoten entscheiden, sollten Sie sich möglicherweise mit Ihrer Rechtsabteilung in Verbindung setzen, um zu erörtern, in welchem Umfang Ihre Anwendungsumgebung hinsichtlich Infrastrukturisolierung und Compliance Anforderungen erfüllt werden muss.

    • Gemeinsam genutzt: Physische Ressourcen wie CPU und Arbeitsspeicher werden von allen virtuellen Maschinen gemeinsam genutzt, die auf derselben physischen Hardware bereitgestellt sind. Um sicherzustellen, dass jede virtuelle Maschine unabhängig von anderen Maschinen ausgeführt werden kann, segmentiert ein VM-Monitor, d. h. eine Überwachungsfunktion für virtuelle Maschinen, die auch als Hypervisor bezeichnet wird, die physischen Ressourcen in isolierte Entitäten und ordnet diese einer virtuellen Maschine als dedizierte Ressourcen zu. Dies wird als Hypervisor-Isolation bezeichnet. Gemeinsam genutzte Knoten sind in der Regel kostengünstiger als dedizierte Knoten, weil die Kosten für die ihnen zugrunde liegende Hardware von mehreren Kunden getragen werden.
    • Gewidmet: Alle physischen Ressourcen sind nur für Sie bestimmt. Sie können mehrere Workerknoten als virtuelle Maschinen auf demselben physischen Host bereitstellen. Ähnlich wie bei der Multi-Tenant-Konfiguration stellt der Hypervisor auch hier sicher, dass jeder Workerknoten seinen Anteil an den verfügbaren physischen Ressourcen erhält.
  • Maschinentyp: Sie haben eine Reihe von Maschinentypen zur Auswahl.

    • Virtuelle Maschinen: Größere Flexibilität, kürzere Bereitstellungszeiten, mehr automatische Skalierbarkeitsfunktionen und ein günstigerer Preis: Verwenden Sie VMs. Sie können virtuelle Maschinen für die meisten allgemeinen Anwendungsfälle, wie Test- und Entwicklungsumgebungen, Staging- und Produktionsumgebungen, Microservices und Business-Apps, verwenden. Allerdings geht dies zu Lasten der Leistung.

    • Bare-Metal-Maschinen (physische Maschinen): Wenn Sie Hochleistungsrechner für daten- oder RAM-intensive Workloads benötigen, sollten Sie die Einrichtung von Clustern mit Bare-Metal-Worker-Knoten in Betracht ziehen. Da Sie die uneingeschränkte Kontrolle über die Isolation und die Ressourcenauslastung für Ihre Workloads besitzen, können Sie Bare-Metal-Maschinen einsetzen, um HIPAA- und PCI-Konformität für Ihre Umgebung zu erzielen. Mit Bare-Metal haben Sie direkten Zugriff auf die physischen Ressourcen auf der Maschine, wie z. B. Speicher oder CPU. Durch diese Konfiguration wird der Hypervisor der virtuellen Maschine entfernt, der physische Ressourcen zu virtuellen Maschinen zuordnet, die auf dem Host ausgeführt werden. Stattdessen sind alle Ressourcen einer Bare-Metal-Maschine ausschließlich dem Worker zugeordnet, sodass Sie sich keine Sorgen machen müssen, dass "verrauschte Nachbarn" Ressourcen gemeinsam nutzen oder die Leistung verlangsamen. Physische Typen verfügen über einen größeren lokalen Speicher als virtuelle und einige verfügen zur Steigerung der Datenverfügbarkeit zudem über RAID. Der lokale Speicher auf dem Worker-Knoten dient ausschließlich der kurzfristigen Verarbeitung, und die Haupt- und Zusatzfestplatten werden gelöscht, wenn Sie den Worker-Knoten aktualisieren oder neu laden. Für klassische Cluster und für VPC-Bare-Metal-Konfigurationen stehen Bare-Metal-Mitarbeiter zur Verfügung.

      Die Abrechnung für Bare-Metal-Worker-Knoten variiert je nach Infrastrukturtyp. Klassische Bare-Metal-Server werden monatlich abgerechnet. Wenn Sie einen klassischen Bare-Metal-Server vor Monatsende kündigen, werden Ihnen die Kosten bis zum Ende dieses Monats in Rechnung gestellt. Nachdem Sie einen klassischen Bare-Metal-Server bestellt oder storniert haben, wird der Vorgang manuell in Ihrem „ IBM Cloud “-Infrastrukturkonto abgeschlossen, sodass dies mehr als einen Werktag in Anspruch nehmen kann. VPC-Bare-Metal-Server werden stundenweise abgerechnet, ohne Mindestvertragslaufzeit.

    • SDS-Maschinen: Software-defined Storage (SDS) Flavors verfügen über zusätzliche Raw Disks für physischen lokalen Speicher. Im Gegensatz zur primären und zur sekundären lokalen Festplatte werden diese Raw-Festplatten bei einer Aktualisierung oder einem Neustart des Worker-Knotens nicht gelöscht. Da sich die Daten auf derselben Maschine wie der Datenverarbeitungsknoten befinden, eignen sich SDS-Maschinen für Workloads mit hoher Leistungsanforderung. Softwaredefinierte Speichertypen sind nur für klassische Cluster verfügbar und werden in VPC-Clustern nicht unterstützt.

      Da Sie die uneingeschränkte Kontrolle über die Isolation und die Ressourcenauslastung für Ihre Workloads besitzen, können Sie SDS-Maschinen einsetzen, um HIPAA- und PCI-Konformität für Ihre Umgebung zu erzielen.

      Normalerweise verwenden Sie SDS-Maschinen in den folgenden Fällen: * Wenn Sie ein SDS-Add-on wie beispielsweise Portworx, verwenden Sie einen SDS-Rechner. * Wenn es sich bei Ihrer App um eine StatefulSet, die lokalen Speicher benötigt, können Sie SDS-Maschinen verwenden und lokale persistente Volumes v Kubernetes-Umgebungen bereitstellen. * Wenn Sie über angepasste Apps verfügen, die zusätzlichen unaufbereiteten lokalen Speicher erfordern.

  • Kosten: Im Allgemeinen eignen sich Ihre rechenintensiven Workloads besser für den Betrieb auf physischen Bare-Metal-Maschinen, während Sie für kostengünstige Test- und Entwicklungsarbeiten möglicherweise virtuelle Maschinen auf gemeinsam genutzter oder dedizierter Hardware wählen sollten.

  • Standort: Entscheiden Sie, an welchen Standorten Sie einen Cluster haben möchten. Der Ort, an dem Sie sie benötigen, kann auch darüber Auskunft geben, wie viele Cluster oder welche Art von Clustern Sie benötigen. Wenn Sie z. B. wissen, dass der Ort in Montreal liegen muss, können Sie Ihre Auswahl einschränken. Sehen Sie sich die verfügbaren Standorte an.

  • Größe: Größere Knoten können kosteneffizienter sein als kleinere Knoten, insbesondere bei Workloads, die so konzipiert sind, dass sie bei der Verarbeitung auf einem Hochleistungsrechner an Effizienz gewinnen. Sollte jedoch ein großer Worker-Knoten ausfallen, müssen Sie sicherstellen, dass Ihr Cluster über genügend Kapazität verfügt, um alle Workload-Pods sicher auf andere Worker-Knoten im Cluster umzuverteilen. Kleinere Arbeitsknoten können Ihnen helfen, sicher zu skalieren. Erfahren Sie mehr zum Thema Kapazität.

  • GPUs: Sie können eine GPU-Maschine verwenden, um die Verarbeitungszeit zu beschleunigen, die für rechenintensive Workloads wie KI, maschinelles Lernen, Inferencing und mehr erforderlich ist.

  • Speicher: Jeder „ VM “ verfügt über eine integrierte Festplatte zur Speicherung der Informationen, die der „ VM “ für den Betrieb benötigt, wie beispielsweise das Dateisystem des Betriebssystems, die Container-Laufzeitumgebung und die „ kubelet “. Der lokale Speicher auf dem Workerknoten ist nur für die kurzfristige Verarbeitung vorgesehen und die Speicherplatten werden gelöscht, wenn Sie den Workerknoten löschen, erneut laden, ersetzen oder aktualisieren. Darüber hinaus unterscheiden sich die klassische und die VPC-Infrastruktur in der Plattenkonfiguration.

    • Klassische VMs: Klassische VMs verfügen über zwei zugeordnete Platten. Die primäre Festplatte verfügt über 25 GB für das Dateisystem des Betriebssystems, und die sekundäre Festplatte bietet 100 GB für Daten wie die Container-Laufzeitumgebung und die „ kubelet “. Aus Gründen der Zuverlässigkeit werden als Primär- und Sekundärspeicher lokale Festplatten anstelle eines Storage Area Network (SAN) verwendet. Zu den Vorteilen zählen ein höherer Durchsatz beim Serialisieren von Bytes für die lokale Festplatte und weniger Beeinträchtigungen des Dateisystems aufgrund von Netzausfällen. Die Zusatzfestplatte ist standardmäßig verschlüsselt.
    • VPC-Rechen-VMs: VPC-VMs verfügen über eine primäre Festplatte, bei der es sich um ein Blockspeichervolumen handelt, das über das Netzwerk angebunden ist. Die Speicherschicht wird nicht von den anderen Netzebenen getrennt und sowohl der Netz- als auch der Speicherdatenverkehr werden über dasselbe Netz weitergeleitet. Die primäre Speicherplatte wird zum Speichern von Daten wie dem Dateisystem des Betriebssystems, der Containerlaufzeit und dem kubelet verwendet und ist standardmäßig verschlüsselt. Bei VPC-Clustern können Sie auch eine sekundäre Festplatte auf Ihren Worker-Knoten bereitstellen. Diese optionale Festplatte wurde in Ihrem Konto bereitgestellt und ist in der VPC-Konsole einsehbar. Die Kosten für diese Disketten werden getrennt von den Kosten für die einzelnen Mitarbeiter berechnet und auf Ihrer Rechnung unter einem anderen Posten ausgewiesen. Auch diese sekundären Volumina werden auf die Kontingentnutzung Ihres Kontos angerechnet. Um eine automatische Pod-Entfernung zu verhindern, werden 10 % des Datenlaufwerks „ Kubernetes “ (Zusatzlaufwerk in Classic, primäres Boot-Laufwerk in VPC) für Systemkomponenten reserviert.

    In einer statusabhängigen App spielen Daten eine wichtige Rolle, um Ihre App betriebsbereit zu halten. Stellen Sie sicher, dass Ihre Daten hoch verfügbar sind, sodass Sie nach einem möglichen Ausfall eine Wiederherstellung vornehmen können. In IBM Cloud Kubernetes Service können Sie aus mehreren Optionen auswählen, um Ihre Daten als persistent zu definieren. Sie können zum Beispiel NFS-Speicher bereitstellen, indem Sie native, persistente Kubernetes-Datenträger verwenden oder Ihre Daten mithilfe eines IBM Cloud-Datenbankservice speichern. Weitere Informationen finden Sie unter „ Planung hochverfügbarer Daten “.

    Wählen Sie eine Variante oder einen Maschinentyp mit der für Ihre Arbeitslast geeigneten Speicherkonfiguration aus. Einige Typen verfügen über eine Kombination aus den folgenden Platten und Speicherkonfigurationen. Beispielsweise können bestimmte Typen über eine SATA-Primärplatte mit einer unformatierten SSD-Sekundärplatte verfügen.

Eine Liste der verfügbaren Flavors finden Sie unter VPC-Flavors oder Classic-Flavors.

Bestimmen der Arbeitsknotenkapazität für die Ressourcen

Um die Leistung Ihres Worker Nodes optimal zu nutzen, sollten Sie beim Einrichten Ihrer Ressourcen Folgendes beachten:

  • Überlegen Sie, was Ihre Anwendung macht: Beginnen Sie damit, die Größe der Anwendung mit der Kapazität einer der verfügbaren Worker-Node-Varianten abzustimmen. Berücksichtigen Sie außerdem, ob Ihre App große oder viele Bilder abruft, da diese Speicherplatz auf dem lokalen Speicher des Worker-Knotens beanspruchen können.

  • Behalten Sie die Stärke Ihrer Kerne bei: Jede Maschine besitzt eine bestimmte Anzahl von Kernen. Legen Sie abhängig von der Workload Ihrer App eine Begrenzung für die Anzahl der Pods pro Kern fest, z. B. 10.

  • Vermeiden Sie eine Überlastung des Knotens: Halten Sie die Auslastung Ihres Worker-Knotens bei etwa 75 %, um Platz für andere Pods zu lassen, die möglicherweise eingeplant werden müssen. Wenn Ihre Apps mehr Ressourcen benötigen, als Sie auf Ihrem Workerknoten zur Verfügung haben, verwenden Sie einen anderen Workerknotentyp, der diese Anforderungen erfüllen kann. Legen Sie abhängig von der Workload Ihrer App eine Begrenzung für die Anzahl der Pods pro Knoten fest, z. B. 40.

  • Wählen Sie die Dienste aus: Wie viele Dienste haben Sie integriert, als Sie darüber nachdachten, wie viele Cluster Sie erstellen wollten? Diese integrierten Dienste und Erweiterungen können Pods starten, die Cluster-Ressourcen beanspruchen und beeinflussen.

  • Replikate Ihrer App: Um die Anzahl der gewünschten Workerknoten zu ermitteln, können Sie auch die Anzahl der Replikate Ihrer App berücksichtigen, die Sie ausführen möchten. Wenn Sie beispielsweise wissen, dass Ihre Workload 32 CPU-Kerne benötigt, und Sie planen, 16 Replikate Ihrer App auszuführen, benötigt jeder Replikat-Pod 2 CPU-Kerne. Wenn Sie pro Workerknoten nur eine App-Pod ausführen möchten, können Sie eine entsprechende Anzahl von Workerknoten für Ihren Clustertyp bestellen, um diese Konfiguration zu unterstützen.

  • Raum für Laufzeitanforderungen lassen: Worker-Knoten müssen bestimmte Mengen an CPU- und Speicherressourcen reservieren, um erforderliche Komponenten wie das Betriebssystem oder die Container-Laufzeit auszuführen.

    Reservierte Kapazitäten und reservierte Instanzen werden nicht unterstützt.

Wählen Sie, wie viele Namensräume innerhalb des Clusters erstellt werden sollen

Richten Sie mehrere Namensbereiche ein, wenn Sie mehrere Teams und Projekte haben, die den Cluster gemeinsam nutzen. Namespaces sind eine Möglichkeit, Cluster-Ressourcen mit Hilfe von Ressourcenquoten und Standardgrenzen aufzuteilen. Wenn Sie neue Namensbereiche erstellen, achten Sie darauf, dass Sie die richtigen RBAC-Richtlinien für die Zugriffssteuerung einrichten. Weitere Informationen finden Sie unter „ Cluster mit Namespaces freigeben “ in der Dokumentation zu „ Kubernetes “.

Wenn Sie einen kleinen Cluster haben, nur ein paar Dutzend Benutzer und einander ähnliche Ressourcen (wie z. B. verschiedene Versionen derselben Software), benötigen Sie wahrscheinlich keine Vielzahl an Namensbereichen. Stattdessen können Sie Bezeichnungen verwenden.

Lesen Sie die Sicherheitsinformationen zu dieser Entscheidung in Container Isolation und Sicherheit.

Festlegung von Ressourcenanforderungen und -grenzen für die Namensräume

Um sicherzustellen, dass jedes Team über die erforderlichen Ressourcen verfügt, um Dienste bereitzustellen und Anwendungen im Cluster auszuführen, müssen Sie für jeden Namespace Ressourcenkontingente einrichten. Ressourcenkontingente legen die Bereitstellungsbeschränkungen fest, wie beispielsweise die Anzahl der „ Kubernetes “-Ressourcen, die Sie bereitstellen können, sowie die Menge an CPU-Leistung und Arbeitsspeicher, die von diesen Ressourcen beansprucht werden darf. Nachdem Sie eine Beschränkung festgelegt haben, müssen Benutzer Ressourcenanforderungen und -begrenzungen in ihre Bereitstellungen aufnehmen.

Wenn Sie eine Bereitstellung erstellen, sollten Sie diese so einschränken, dass der Pod Ihrer App nur auf Maschinen mit der optimalen Kombination von Ressourcen bereitgestellt wird. Sie können beispielsweise eine Datenbankanwendung auf eine Bare-Metal-Maschine begrenzen, die einen großen lokalen Plattenspeicher hat, wie md1c.28x512.4x4tb.

Machen Sie auch Ihre Anwendungen hochverfügbar

Container und Pods sind per Definition Komponenten mit kurzer Lebensdauer, die kurzfristig und unerwartet ausfallen können. Ein Container oder Pod kann ausfallen, wenn ein Fehler in Ihrer App auftritt. Um eine hohe Verfügbarkeit Ihrer App zu gewährleisten, müssen Sie sicherstellen, dass Sie über genügend Instanzen verfügen, um die Arbeitslast zu bewältigen, sowie über zusätzliche Instanzen für den Fall eines Ausfalls. Sie können sicherstellen, dass genügend Instanzen vorhanden sind, indem Sie automatische Skalierung einrichten.

Nächste Schritte

Um mit der Planung fortzufahren, wählen Sie zwischen VPC-Cluster-Vernetzung und Classic-Cluster-Vernetzung. Wenn Sie bereit sind, einen Cluster zu erstellen, beginnen Sie zunächst mit Vorbereitung Ihres Kontos für die Erstellung von Clustern.