Komponenten der Topologie entwerfen
Überprüfen Sie die Architekturoptionen für den Entwurf des Netzwerks für die Kubernetes-Topologie, entscheiden Sie, ob Sie Bastion- und Admin-Hosts benötigen und die Knotenpools entwerfen möchten.
Netzwerk entwerfen
Bestimmen Sie die Trafficzugriffsanforderungen Ihrer containerisierten Anwendungen, und bestimmen Sie die benötigten Netzwerkressourcen.
Beachten Sie die Skalierungsanforderungen Ihrer Workload, wenn Sie die Netzwerkgröße festlegen, d.h. die CIDR-Bereiche für VCN und die Subnetze.
Hängen Sie die Worker-Knoten an ein eindeutiges Subnetz innerhalb von VCN an. Verwenden Sie separate Subnetze für die anderen Ressourcen, wie Load Balancer-Knoten, Bastion-Host und Admin-Host.
Der empfohlene Ansatz besteht darin, die Kubernetes-Mitarbeiterknoten einem privaten Subnetz zuzuordnen. Jeder Mitarbeiterknoten hat nur eine private IP-Adresse. Verwenden Sie einen Load Balancer (intern oder öffentlich), um den Datenverkehr auf die Mitarbeiterknoten zu verteilen. Um es den Worker-Knoten zu ermöglichen, den Zugriff auf Hosts im öffentlichen Internet zu initiieren, verwenden Sie ein NAT-Gateway.
Wenn Sie Services des Typs NodePort
erstellen möchten, hängen Sie die Kubernetes-Mitarbeiterknoten an ein öffentliches Subnetz an. Der Datenverkehr zu und von den Knoten wird über das Internetgateway weitergeleitet. Jeder Worker-Knoten hat eine öffentliche IP-Adresse und eine private Adresse. Sie müssen explizit Sicherheitsregeln konfigurieren, um den Zugriff auf die Mitarbeiterknoten über das öffentliche Internet zu ermöglichen.
Sie können ein Servicegateway verwenden, um Datenverkehr von den Mitarbeiterknoten an die anderen Oracle Cloud-Services (wie Oracle Cloud Infrastructure Object Storage ) innerhalb der Region weiterzuleiten.
Administrativen Zugriff einschränken
Sie sollten einen Bastion-Host und einen Admin-Host verwenden, um auf Ihre Topologie in der Cloud zuzugreifen und diese zu verwalten.
Um die Kubernetes-Mitarbeiterknoten vor nicht autorisiertem Zugriff aus außerhalb der Cloud zu schützen, müssen Sie sie in einem Subnetz isolieren, das keine Route zum öffentlichen Internet hat.
Stellen Sie einen Bastion-Host bereit, und verwenden Sie ihn als alleinigen Einstiegspunkt für SSH-Verbindungen zu den anderen Compute-Instanzen in der Topologie, einschließlich für die Mitarbeiterknoten. Im Hinblick auf erweiterte Sicherheit sollten Sie den SSH-Zugriff auf den Bastion-Host nur auf eine bekannte Gruppe von IP-Adressen außerhalb der Cloud zulassen.
Für administrative Vorgänge in der Kubernetes-Topologie in der Cloud sollten Sie einen Admin-Host in der Cloud erstellen, wobei die erforderlichen Tools wie kubectl
und die Oracle Cloud Infrastructure-CLI auf dieser Stelle installiert sind. Verwenden Sie den Bastion-Host als Jump-Server für SSH-Verbindungen zum Admin-Host.
Knotenpools entwerfen
Ein Knotenpool besteht aus einer Gruppe von identisch konfigurierten Compute-Instanzen innerhalb eines Kubernetes-Clusters. Mit Knotenpools können Sie Anwendungen mit unterschiedlichen Ressourcenanforderungen effizient bereitstellen und verwalten. Sie können z. B. einen separaten Knotenpool für jede containerisierte Anwendung oder jeden containerisierten Service erstellen.
Legen Sie die Anzahl der zu erstellenden Knotenpools und die Anzahl der Mitarbeiterknoten in jedem Pool basierend auf Anzahl und Größe Ihrer containerisierten Workloads fest. In jedem Pool werden mindestens drei Worker-Knoten erstellt. Alle Mitarbeiterknoten innerhalb eines bestimmten Pools werden mit derselben Form erstellt, die Sie angeben.
High Availability sicherstellen
Stellen Sie sicher, dass die containerisierten Workloads in der Cloud nicht von Ausfällen im Data Center betroffen sind.
Oracle Cloud Infrastructure -Regionen enthalten mindestens eine fehlertolerante Availability-Domain. Availability-Domains haben keine gemeinsame Infrastruktur, wie z. B. Stromversorgung, Kühlung und internes Netzwerk. Es ist unwahrscheinlich, dass sich ein Fehler in einer Availability-Domain auf die anderen in derselben Region auswirkt. In einem Bereich, der mehrere Availability-Domains enthält, werden die Worker-Knoten über die Availability-Domains verteilt. Sie können die Knoten regionalen Subnetzen zuordnen, die sich über alle Availability-Domains erstrecken.
Jede Availability-Domain enthält drei Faultdomains, von denen jede isolierte Gruppierung von Hardware und Infrastruktur besteht. Ein Hardwarefehler- oder Wartungsereignis, das sich auf eine Faultdomain auswirkt, wirkt sich nicht auf die Ressourcen in den anderen Faultdomains aus. In Regionen mit einer einzelnen Availability-Domain werden die Worker-Knoten über die Faultdomains im Data Center verteilt.