Netzwerkressourcenkonfiguration für Clustererstellung und -Deployment

Erfahren Sie, wie Sie Netzwerkressourcen für die Verwendung von Kubernetes Engine (OKE) konfigurieren.

Bevor Sie mit der Kubernetes-Engine Cluster in den Regionen eines Mandanten erstellen und bereitstellen können, müssen folgende Bedingungen erfüllt sein:

  • Innerhalb des Mandanten muss bereits ein Compartment vorhanden sein, das die erforderlichen Netzwerkressourcen enthält (wie VCN, Subnetze, Internetgateway, Routentabelle, Netzwerksicherheitsgruppen und/oder Sicherheitslisten). Wenn ein solches Compartment noch nicht vorhanden ist, müssen Sie es erstellen. Beachten Sie, dass die Netzwerkressourcen im Root-Compartment gespeichert werden können. Wenn Sie jedoch erwarten, dass mehrere Teams Cluster erstellen, sollten Sie ein separates Compartment für jedes Team erstellen.
  • Im Compartment müssen Netzwerkressourcen (wie VCN, Subnetze, Internetgateway, Routentabelle, Netzwerksicherheitsgruppen und/oder Sicherheitslisten) in jeder Region, in der Sie Cluster erstellen und bereitstellen möchten, entsprechend konfiguriert werden. Wenn Sie ein neues Cluster erstellen, kann Kubernetes Engine automatisch neue Netzwerkressourcen im Workflow "Schnellerstellung" erstellen und konfigurieren. Alternativ können Sie die vorhandenen Netzwerkressourcen explizit angeben, die im Workflow "Benutzerdefinierte Erstellung" verwendet werden sollen. Wenn Sie bestehende Netzwerkressourcen angeben, müssen Sie oder ein anderer Benutzer diese Ressourcen bereits entsprechend konfiguriert haben, wie in diesem Thema beschrieben.

In diesem Thema wird die erforderliche Konfiguration für jede Netzwerkressource beschrieben. Weitere Informationen zu einer typischen Konfiguration finden Sie unter Beispielkonfigurationen für Netzwerkressourcen.

Einige zugehörige Entwicklungstutorials sind verfügbar.

VCN-Konfiguration

Das VCN, in dem Sie Cluster erstellen und bereitstellen möchten, muss wie folgt konfiguriert werden:

  • Für das VCN muss ein CIDR-Block definiert sein, der groß genug für alle Ressourcen ist, die ein Cluster benötigt (Kubernetes-API-Endpunkt, Worker-Knoten, Pods, Load Balancer). Beispiel: Bei einem VCN, das die reine IPv4-Adressierung unterstützt, wäre ein /16-CIDR-Block groß genug für fast alle Anwendungsfälle (z.B. 10.0.0.0/16). Der für das VCN angegebene CIDR-Block darf sich nicht mit dem CIDR-Block überschneiden, den Sie für Pods bei Verwendung des Flannel-CNI-Plug-ins angeben (siehe Flannel-CNI-Plug-in für Podnetworking verwenden) und für die Kubernetes-Services (siehe IPv4 CIDR-Blöcke und Kubernetes-Engine (OKE)).
  • Für das VCN muss eine entsprechende Anzahl von Subnetzen für Worker-Knoten, für Load Balancer, für den Kubernetes-API-Endpunkt und für Pods definiert sein, wenn das OCI-VCN-native Podnetworking-CNI-Plug-in verwendet wird (siehe CNI-Plug-in für OCI-VCN-native Podnetze für Podnetworking verwenden). Als Best Practice wird empfohlen, regionale Subnetze zu verwenden und somit ein einfacheres Failover über mehrere Availability-Domains hinweg zu ermöglichen. Siehe Subnetzkonfiguration.
  • Für das VCN müssen Sicherheitsregeln definiert sein (in einer oder beiden Netzwerksicherheitsgruppen und/oder Sicherheitslisten für jedes Subnetz). Siehe Sicherheitsregelkonfiguration in Netzwerksicherheitsgruppen und/oder Sicherheitslisten.
  • Oracle empfiehlt die Verwendung der DNS-Auflösung für das VCN.
  • Wenn Sie öffentliche Subnetze verwenden, muss das VCN über ein Internetgateway verfügen. Siehe Internetgatewaykonfiguration.
  • Wenn Sie private Subnetze verwenden, muss das VCN über ein NAT-Gateway und ein Servicegateway verfügen. Siehe NAT-Gatewaykonfiguration und Servicegatewaykonfiguration.
  • Wenn das VCN über ein NAT-Gateway, ein Servicegateway oder ein Internetgateway verfügt, muss eine Routentabelle mit entsprechenden Regeln definiert sein. Siehe Routentabellenkonfiguration.

Weitere Informationen finden Sie unter VCNs und Subnetze und Beispielkonfigurationen für Netzwerkressourcen.

Internetgatewaykonfiguration

Wenn Sie öffentliche Subnetze (für Worker-Knoten, Load Balancer und/oder den Kubernetes-API-Endpunkt) verwenden möchten und für die Subnetze Zugriff auf/aus dem Internet erforderlich ist, muss das VCN über ein Internetgateway verfügen. Das Internetgateway muss als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 als Routingregel in einer Routentabelle angegeben werden.

Weitere Informationen finden Sie unter VCNs und Subnetze und Beispielkonfigurationen für Netzwerkressourcen.

NAT-Gatewaykonfiguration

Wenn Sie private Subnetze (für Worker-Knoten, den Kubernetes-API-Endpunkt oder Pods bei Verwendung des OCI-CNI-Plug-ins für VCN-natives Podnetzwerk) verwenden möchten und für die Subnetze ein Zugriff auf das Internet erforderlich ist, muss das VCN über ein NAT-Gateway verfügen. Das ist zum Beispiel dann der Fall, wenn Sie erwarten, dass bereitgestellte Anwendungen Software herunterladen oder auf Drittanbieterservices zugreifen.

Das NAT-Gateway muss als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 als Routingregel in einer Routentabelle angegeben werden.

Weitere Informationen finden Sie unter NAT-Gateway und Beispielkonfigurationen für Netzwerkressourcen.

Servicegatewaykonfiguration

Wenn Sie private Subnetze für Worker-Knoten, den Kubernetes-API-Endpunkt oder Pods verwenden möchten, wenn Sie das OCI-CNI-Plug-in für VCN-natives Podnetzwerk verwenden, muss das VCN über ein Servicegateway verfügen.

Erstellen Sie das Servicegateway in demselben VCN und Compartment wie die Subnetze der Worker-Knoten, der Kubernetes-API oder des Pods, und wählen Sie die Option Alle <region>-Services in Oracle Services Network aus.

Das Servicegateway muss als Ziel für Alle <Region>-Services in Oracle Services Network als Routingregel in einer Routentabelle angegeben werden.

Weitere Informationen finden Sie unter Zugriff auf Oracle-Services: Servicegateway und Beispielkonfigurationen für Netzwerkressourcen.

Routentabellenkonfiguration

Routentabelle für Worker-Knotensubnetze

Wenn Sie Worker-Knoten in einem öffentlichen Subnetz bereitstellen möchten, muss die Routentabelle des Subnetzes eine Routingregel enthalten, die das Internetgateway als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 angibt.

Wenn Sie Worker-Knoten in einem privaten Subnetz bereitstellen möchten, muss die Subnetzroutentabelle Folgendes aufweisen:

  • eine Routingregel, die das Servicegateway als Ziel für Alle <Region>-Services in Oracle Services Network angibt
  • eine Routingregel, die das NAT-Gateway als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 angibt

Routentabelle für Kubernetes-API-Endpunktsubnetze

Wenn Sie den Kubernetes-API-Endpunkt in einem öffentlichen Subnetz bereitstellen möchten, muss die Routentabelle des Subnetzes eine Routingregel enthalten, die das Internetgateway als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 angibt.

Wenn Sie den Kubernetes-API-Endpunkt in einem privaten Subnetz bereitstellen möchten, muss die Routentabelle des Subnetzes Folgendes aufweisen:

  • eine Routingregel, die das Servicegateway als Ziel für Alle <Region>-Services in Oracle Services Network angibt
  • eine Routingregel, die das NAT-Gateway als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 angibt

Routentabelle für Load-Balancer-Subnetze

Wenn Sie Load Balancer in öffentlichen Subnetzen bereitstellen möchten, muss die Routentabelle des Subnetzes eine Routingregel enthalten, die das Internetgateway als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 angibt.

Wenn Sie Load Balancer in privaten Subnetzen bereitstellen möchten, können Sie die Routentabelle des Subnetzes leer lassen.

Routentabelle für Pods-Subnetz

Wenn Sie das OCI-VCN-native Podnetworking-CNI-Plug-in für das Podnetzwerk verwenden möchten, stellen Sie Pods in einem privaten Subnetz bereit. Die Routentabelle des Subnetzes muss Folgendes aufweisen:

  • eine Routingregel, die das Servicegateway als Ziel für Alle <Region>-Services in Oracle Services Network angibt
  • eine Routingregel, die das NAT-Gateway als Ziel für den Ziel-CIDR-Block 0.0.0.0/0 angibt

Wenn Sie das Flannel-CNI-Plug-in für Podnetzwerke verwenden möchten, ist kein Podsubnetz erforderlich.

Hinweise zur Routentabellenkonfiguration

DHCP-Optionskonfiguration

Für das VCN, in dem Sie Cluster erstellen und bereitstellen möchten, müssen DHCP-Optionen konfiguriert sein. Unter DNS-Typ kann der Standardwert "Internet und VCN-Resolver" übernommen werden.

Weitere Informationen finden Sie unter DHCP-Optionen und Beispielkonfigurationen für Netzwerkressourcen.

Subnetzkonfiguration

Anhand der Merkmale des Clusters, das Sie erstellen möchten, wird die Anzahl der zu konfigurierenden Subnetze bestimmt. Als Best Practice wird empfohlen, regionale Subnetze zu verwenden und somit ein einfacheres Failover über mehrere Availability-Domains hinweg zu ermöglichen.

Das VCN, in dem Sie Cluster erstellen und bereitstellen möchten, muss mindestens zwei (optional mehr) verschiedene Subnetze aufweisen:

  • ein Kubernetes-API-Endpunktsubnetz
  • ein Worker-Knotensubsetz
  • ein regionales oder zwei AD-spezifische Load-Balancer-Subnetze (optional)
  • Podsubnetz (bei Verwendung eines VCN-nativen Podnetzwerks)
  • Bastion-Subnetz (optional)

Sie können die Subnetze und auch Sicherheitsregeln kombinieren. Dieser Ansatz erschwert jedoch die Verwaltung der Sicherheit und wird daher nur empfohlen, wenn Sie Netzwerksicherheitsgruppen verwenden, um den Zugriff auf Cluster zu kontrollieren.

Die Subnetz-CIDR-Blocks dürfen sich nicht mit CIDR-Blocks überschneiden, die Sie für im Cluster ausgeführte Pods angegeben haben (siehe IPv4 CIDR-Blocks und Kubernetes-Engine (OKE)).

Virtuelle Knoten und verwaltete Knoten haben unterschiedliche Anforderungen. Daher müssen Sie Worker-Knotensubnetze und Podsubnetze etwas anders konfigurieren, wenn Sie virtuelle Knoten anstelle verwalteter Knoten verwenden.

Die Subnetze müssen mit den folgenden Eigenschaften konfiguriert sein:

Weitere Informationen finden Sie unter VCNs und Subnetze und Beispielkonfigurationen für Netzwerkressourcen.

Konfiguration des Kubernetes-API-Endpunktsubnetzes

Das Kubernetes-API-Endpunktsubnetz hostet einen Endpunkt, der Zugriff auf die Kubernetes-API auf der Cluster-Control-Plane ermöglicht.

Das Kubernetes-API-Endpunktsubnetz muss ein regionales Subnetz sein. Dabei kann es sich um ein privates oder ein öffentliches Subnetz handeln:

Konfiguration des Worker-Knotensubnetzes

Ein Worker-Knotensystem hostet Worker-Knoten. Alle verwalteten Knoten in einem Knotenpool gehören zum selben Worker-Knotensubnetz.

Beim Subnetz des Worker-Knotens kann es sich entweder um ein einzelnes regionales Subnetz oder um mehrere AD-spezifische Subnetze handeln (jeweils ein Subnetz pro Availability-Domain).

Verwaltete/selbstverwaltete Knoten: Das Worker-Knotensubnetz kann entweder ein öffentliches oder ein privates Subnetz sein. Für maximale Sicherheit empfehlen wir jedoch die Verwendung eines privaten Subnetzes für Worker-Knoten.

Virtuelle Knoten: Das Worker-Knotensubnetz kann entweder ein öffentliches oder ein privates Subnetz sein. Für maximale Sicherheit empfehlen wir jedoch die Verwendung eines privaten Subnetzes für Worker-Knoten. Außerdem wird empfohlen, dass das Worker-Knotensubnetz und das Podsubnetz dasselbe Subnetz sind (in diesem Fall muss das Worker-Knotensubnetz ein privates Subnetz sein, da virtuelle Knoten erfordern, dass das Podsubnetz ein privates Subnetz ist).

Podsubnetzkonfiguration

Ein Podsubnetz hostet die Pods auf den Worker-Knoten in einem Knotenpool, wenn es ein VCN-natives Podnetzwerk verwendet (siehe CNI-Plug-in für OCI-VCN-natives Podnetzwerk für Podnetzwerke verwenden).

Das Podsubnetz muss ein einzelnes regionales Subnetz sein.

Verwaltete Knoten: Das Podsubnetz muss ein privates Subnetz sein.

Virtuelle Knoten: Das Podsubnetz muss ein privates Subnetz sein. Wir empfehlen, dass das Podsubnetz und das Worker-Knotensubnetz dasselbe Subnetz sind (in diesem Fall muss das Worker-Knotensubnetz auch ein privates Subnetz sein).

Konfiguration des Load-Balancer-Subnetzes

Load-Balancer-Subnetze verbinden Oracle Cloud Infrastructure-Load-Balancer, die von Kubernetes-Services vom Typ LoadBalancer erstellt wurden.

Die Load-Balancer-Subnetze können einzelne regionale Subnetze oder AD-spezifische Subnetze sein (jeweils ein Subnetz pro Availability-Domain). Oracle empfiehlt jedoch regionale Subnetze.

Bei den Load-Balancer-Subnetzen kann es sich um öffentliche oder private Subnetze handeln, je nachdem, wie der Zugriff auf die Anwendungen erfolgt, die im Cluster bereitgestellt werden. Wenn der Zugriff auf Anwendungen intern aus Ihrem VCN erfolgt, verwenden Sie private Subnetze für die Load Balancer. Wenn der Zugriff auf Anwendungen über das Internet erfolgt, verwenden Sie öffentliche Subnetze für die Load Balancer.

Konfiguration des Bastionsubnetzes (optional)

Eine optionale Bastion in einem Bastionsubnetz kann sicheren Zugriff auf den Kubernetes-API-Endpunkt und SSH-Zugriff auf Worker-Knoten ermöglichen. Siehe Bastion für Clusterzugriff einrichten.

Sicherheitsregelkonfiguration in Netzwerksicherheitsgruppen und/oder Sicherheitslisten

Für das VCN, in dem Sie Cluster erstellen und bereitstellen möchten, müssen Sicherheitsregeln definiert sein. Sie können die Sicherheitsregeln auf eine oder beide Arten definieren:

  • Wählen Sie unter Netzwerksicherheitsgruppen (empfohlen) die Option für Knotenpools, für den Kubernetes-API-Endpunkt, für Pods (bei Verwendung von VCN-nativem Podnetzwerk) und für Load Balancer (sofern angegeben) aus, wenn Sie ein Cluster erstellen.
  • In Sicherheitslisten, die bereits mit den Subnetzen verknüpft sind, die Sie für die Worker-Knoten, für den Kubernetes-API-Endpunkt, für Pods (bei Verwendung von VCN-nativem Podnetzwerk) und für Load Balancer (sofern angegeben) beim Erstellen eines Clusters auswählen.

Die Worker-Knoten, der Kubernetes-API-Endpunkt, die Pods (bei Verwendung von VCN-nativem Podnetzwerk) und der Load Balancer haben unterschiedliche Sicherheitsregelanforderungen, wie in diesem Thema beschrieben. Sie können zusätzliche Regeln hinzufügen, um Ihre spezifischen Anforderungen zu erfüllen.

Wenn Sie Sicherheitsregeln sowohl in Netzwerksicherheitsgruppen als auch in Sicherheitslisten angeben, werden alle Sicherheitsregeln angewendet (d.h. die Vereinigung der Sicherheitsregeln).

Weitere Informationen finden Sie unter:

Sicherheitsregeln für den Kubernetes-API-Endpunkt

Die folgenden Ingress-Regeln müssen für den Kubernetes-API-Endpunkt, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Quelle Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet Worker-Knoten-CIDR TCP/6443 Kommunikation zwischen Kubernetes-Worker-Knoten und Kubernetes-API-Endpunkt
Zustandsbehaftet Worker-Knoten-CIDR TCP/12250 Kommunikation zwischen Kubernetes-Worker-Knoten und Kubernetes-API-Endpunkt
Zustandsbehaftet Pod-CIDR TCP/6443 Kommunikation zwischen Pod und Kubernetes-API-Endpunkt (bei Verwendung eines VCN-nativen Podnetzwerks).
Zustandsbehaftet Pod-CIDR TCP/12250 Kommunikation zwischen Pod und Kubernetes-API-Endpunkt (bei Verwendung eines VCN-nativen Podnetzwerks).
Zustandsbehaftet Worker-Knoten-CIDR ICMP 3,4 Pfad-Discovery

Die folgenden optionalen Ingress-Regeln können für den Kubernetes-API-Endpunkt, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Quelle Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet 0.0.0.0/0 oder bestimmte Subnetze TCP/6443 Clientzugriff auf Kubernetes-API-Endpunkt

Die folgenden Egress-Regeln müssen für den Kubernetes-API-Endpunkt, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Ziel Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet Alle <Region>-Services in Oracle Services Network TCP/443 Kommunikation zwischen Kubernetes-API-Endpunkt und OKE zulassen.
Zustandsbehaftet Worker-Knoten-CIDR TCP/ALLE Sämtlicher Traffic zu Worker-Knoten (bei Verwendung von Flannel für Podnetworking).
Zustandsbehaftet Pod-CIDR ALLE/ALLE

Kommunikation zwischen Kubernetes-API-Endpunkt und Pod (bei Verwendung eines VCN-nativen Podnetzwerks).

Zustandsbehaftet Worker-Knoten-CIDR ICMP 3,4 Pfad-Discovery
Zustandsbehaftet Worker-Knoten-CIDR TCP 10250, ICMP Kommunikation zwischen Kubernetes-API-Endpunkt und Worker-Knoten (bei Verwendung eines VCN-nativen Podnetzwerks).

Sicherheitsregeln für Mitarbeiterknoten

Worker-Knoten werden mit öffentlichen oder privaten IP-Adressen erstellt, je nachdem, ob Sie bei der Definition der Knotenpools in einem Cluster öffentliche oder private Subnetze angeben. Die Kubernetes-Engine muss auf Worker-Knoten zugreifen können.

Die folgenden Ingress-Regeln müssen für Worker-Knoten, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Quelle Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet Worker-Knoten-CIDR ALLE/ALLE Ermöglicht die Kommunikation von (oder zu) Worker-Knoten.
Zustandsbehaftet Pod-CIDR ALLE/ALLE Kommunikation zwischen Pods auf einem Worker-Knoten und Pods auf anderen Worker-Knoten (bei Verwendung eines VCN-nativen Podnetzwerks) zulassen
Zustandsbehaftet Kubernetes-API-Endpunkt-CIDR TCP/ALLE Kommunikation zwischen Kubernetes-API-Endpunkt und Worker-Knoten zulassen.
Zustandsbehaftet 0.0.0.0/0 ICMP 3,4 Pfad-Discovery
Zustandsbehaftet Kubernetes-API-Endpunkt-CIDR TCP 10250, ICMP Kommunikation zwischen Kubernetes-API-Endpunkt und Worker-Knoten (bei Verwendung eines VCN-nativen Podnetzwerks).

Die folgenden optionalen Ingress-Regeln können für Worker-Knoten (nur verwaltete Knoten), in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Quelle Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet 0.0.0.0/0 oder Subnetz-CIDR TCP/22 (Optional) Eingehenden SSH-Traffic für Worker-Knoten zulassen

Die folgenden Egress-Regeln müssen für Worker-Knoten, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Ziel Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet Worker-Knoten-CIDR ALLE/ALLE Ermöglicht die Kommunikation von (oder zu) Worker-Knoten.
Zustandsbehaftet Pod-CIDR ALLE/ALLE Ermöglichen Sie Worker-Knoten die Kommunikation mit Pods auf anderen Worker-Knoten (bei Verwendung eines VCN-nativen Podnetzwerks).
Zustandsbehaftet 0.0.0.0/0 ICMP 3,4 Pfad-Discovery
Zustandsbehaftet Alle <Region>-Services in Oracle Services Network TCP/ALLE Kommunikation zwischen Knoten und OKE zulassen
Zustandsbehaftet Kubernetes-API-Endpunkt-CIDR TCP/6443 Kommunikation zwischen Kubernetes-Worker-Knoten und Kubernetes-API-Endpunkt
Zustandsbehaftet Kubernetes-API-Endpunkt-CIDR TCP/12250 Kommunikation zwischen Kubernetes-Worker-Knoten und Kubernetes-API-Endpunkt

Die folgenden optionalen Egress-Regeln können für Worker-Knoten, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Ziel Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet 0.0.0.0/0 TCP/ALLE (Optional) Kommunikation der Worker-Knoten mit dem Internet zulassen

Sicherheitsregeln für Podsubnetze

Wenn Sie das OCI-VCN-native Podnetworking-CNI-Plug-in für das Podnetworking verwenden:

  • Die für das Worker-Knotensubnetz, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definierten Sicherheitsregeln müssen Folgendes enthalten:

    • Zustandsbehaftete Ingress- und Egress-Regeln, die den gesamten Traffic zwischen Worker-Knoten zulassen
    • Zustandsbehaftete Ingress- und Egress-Regeln, die den gesamten Traffic zwischen Worker-Knoten und Load Balancer zulassen
    • Regeln für zu Stateful Egress, die Traffic zwischen Worker-Knoten und Kubernetes-Engine ermöglichen
  • Die für das Podsubnetz definierten Sicherheitsregeln in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste müssen zustandsbehaftete Ingress- und Egress-Regeln enthalten, die den gesamten Traffic zwischen Pods zulassen

Die folgenden Ingress-Regeln müssen für Podsubnetze, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Quelle Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet Kubernetes-API-Endpunkt-CIDR ALLE/ALLE Kommunikation zwischen Kubernetes-API-Endpunkt und Pod (bei Verwendung eines VCN-nativen Podnetzwerks).
Zustandsbehaftet Worker-Knoten-CIDR ALLE/ALLE Kommunikation zwischen Pods auf einem Worker-Knoten und Pods auf anderen Worker-Knoten zulassen
Zustandsbehaftet Pod-CIDR ALLE/ALLE Lassen Sie Pods miteinander kommunizieren.

Die folgenden Egress-Regeln müssen für Podsubnetze, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Ziel Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet Pod-CIDR ALLE/ALLE Lassen Sie Pods miteinander kommunizieren.
Zustandsbehaftet Alle <Region>-Services in Oracle Services Network ICMP 3,4 Pfad-Discovery
Zustandsbehaftet Alle <Region>-Services in Oracle Services Network TCP/ALLE Kommunikation von Worker-Knoten mit OCI-Services zulassen.
Zustandsbehaftet Kubernetes-API-Endpunkt-CIDR TCP/6443 Kommunikation zwischen Pod und Kubernetes-API-Endpunkt (bei Verwendung eines VCN-nativen Podnetzwerks).
Zustandsbehaftet Kubernetes-API-Endpunkt-CIDR TCP/12250 Kommunikation zwischen Pod und Kubernetes-API-Endpunkt (bei Verwendung eines VCN-nativen Podnetzwerks).

Die folgenden optionalen Egress-Regeln können für ein Podsubnetz, in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definiert werden:

Status Ziel Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet 0.0.0.0/0 TCP/443 (Optional) Ermöglichen Sie Pods die Kommunikation mit dem Internet.

Sicherheitsregeln für Load Balancer und Network Load Balancer

Wenn die Kubernetes-Engine einen OCI-Load Balancer oder Network Load Balancer für einen Kubernetes-Service des Typs LoadBalancer bereitstellt, müssen entsprechende Sicherheitsregeln vorhanden sein, um eingehenden und ausgehenden Traffic zum und vom Subnetz des Load Balancers oder Network Load Balancers zuzulassen. Bei verwalteten Knoten (nicht virtuellen Knoten) werden diese Sicherheitsregeln standardmäßig automatisch für Load Balancer erstellt, jedoch nicht standardmäßig automatisch für Network Load Balancer erstellt. Weitere Informationen zum Provisioning eines OCI-Load Balancers oder Network Load Balancers für einen Kubernetes-Service des Typs LoadBalancer finden Sie unter Kubernetes-Services des Typs LoadBalancer definieren.

Sie können Ingress- und Egress-Sicherheitsregeln für das Subnetz in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste definieren. Weitere Informationen finden Sie unter:

Definieren Sie die folgende Ingress-Sicherheitsregel in einem oder beiden:

  • eine Netzwerksicherheitsgruppe (empfohlen), der der der Load Balancer oder die Network Load Balancer-Ressource hinzugefügt wurde
  • eine Sicherheitsliste, die mit dem Subnetz des Load Balancers oder des Network Load Balancers verknüpft ist
Status Quelle Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet 0.0.0.0/0 oder bestimmtes CIDR TCP/443 Eingehenden Traffic an Load Balancer zulassen.

Legen Sie das Protokoll und den Zielport der Ingress-Regel entsprechend für bestimmte Anwendungsanforderungen fest. Beispiel: Geben Sie UDP als Protokoll für eine Anwendung an, die UDP-Datenverkehr verarbeitet.

Definieren Sie die folgende Egress-Sicherheitsregel in einem oder beiden:

  • eine Netzwerksicherheitsgruppe (empfohlen), der der der Load Balancer oder die Network Load Balancer-Ressource hinzugefügt wurde
  • eine Sicherheitsliste, die mit dem Subnetz des Load Balancers oder des Network Load Balancers verknüpft ist
Status Ziel Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet Worker-Knoten-CIDR ALLE/30000-32767 Traffic für Worker-Knoten zulassen

Standardmäßig werden OCI Load Balancer oder Network Load Balancer, die von Kubernetes Engine-Proxyanforderungen bereitgestellt werden, für alle Worker-Knoten im Cluster bereitgestellt. Wenn Anforderungen mit Worker-Knoten im Cluster über einen Proxy geleitet werden, müssen die folgenden Ingress- und Egress-Sicherheitsregeln (in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste) vorhanden sein, damit der Load Balancer oder Network Load Balancer mit den Worker-Knoten auf Port 10256 (dem Kube-Proxy-Zustandsport) kommunizieren kann:

  • Ingress-Sicherheitsregel für die Sicherheitsliste (oder Netzwerksicherheitsgruppe) des Worker-Knotensubnetzes, mit der der Load Balancer oder Network Load Balancer auf Worker-Knoten mit dem Kube-Proxy kommunizieren kann:
    Status Quelle Protokoll/Ziel- Port Beschreibung
    Zustandsbehaftet CIDR des Load-Balancer- oder Network Load Balancer-Subnetzes ALLE/10256 Ermöglichen Sie OCI Load Balancer oder Network Load Balancer die Kommunikation mit Kube-Proxy auf Worker-Knoten.
  • Egress-Sicherheitsregel für die Sicherheitsliste (oder Netzwerksicherheitsgruppe) des Load-Balancer- oder Network Load-Balancer-Subnetzes, mit der der der Load Balancer oder Network Load Balancer auf Worker-Knoten mit kube-proxy kommunizieren kann:
    Status Ziel Protokoll/Ziel- Port Beschreibung
    Zustandsbehaftet Subnetz-CIDR des Worker-Knotens ALLE/10256 Ermöglichen Sie OCI Load Balancer oder Network Load Balancer die Kommunikation mit Kube-Proxy auf Worker-Knoten.

Beim Provisioning eines Network Load Balancers für einen Kubernetes-Service vom Typ LoadBalancer:

  • Sie können angeben, dass Anforderungen mit der Client-IP-Adresse enden, die in den Headern von IP-Paketen angegeben ist, anstatt mit einem Proxy auf andere Worker-Knoten im Cluster (durch Festlegen von externalTrafficPolicy: Local) geleitet zu werden. Siehe Anforderungen auf dem empfangenden Knoten beenden.
  • Wenn Sie angeben, dass Anforderungen mit der Client-IP-Adresse beendet werden, können Sie auch angeben, ob die Client-IP-Adresse in den Headern von IP-Paketen beibehalten werden soll (mit der Annotation oci-network-load-balancer.oraclecloud.com/is-preserve-source). Siehe Preserving the Client IP Address.

Beachten Sie, dass Sie in beiden Fällen eine Sicherheitsregel (in einer Netzwerksicherheitsgruppe (empfohlen) und/oder in einer Sicherheitsliste) für die Worker-Knoten im Cluster eingerichtet haben müssen, um Ingress-Traffic vom CIDR-Block, in dem die Clientverbindungen hergestellt werden, zu allen Knotenports (30000 bis 32767) zuzulassen. Wenn die Anwendung im Internet verfügbar gemacht wird, setzen Sie den Quell-CIDR-Block der Sicherheitsregel auf 0.0.0.0/0. Alternativ können Sie den CIDR-Block der Quelle der Sicherheitsregel auf einen bestimmten CIDR-Block festlegen (z.B. wenn die Clientverbindungen aus einem bestimmten Subnetz stammen).

Status Quelle Protokoll/Ziel- Port Beschreibung
Zustandsbehaftet 0.0.0.0/0 oder Subnetz-CIDR ALLE/30000-32767 Zulassen, dass Worker-Knoten Verbindungen über OCI Network Load Balancer empfangen.

Sicherheitsregeln für Bastionsubnetze

Eine optionale Bastion in einem Bastionsubnetz kann sicheren Zugriff auf den Kubernetes-API-Endpunkt und SSH-Zugriff auf Worker-Knoten ermöglichen. Informationen zu den zu definierenden Ingress- und Egress-Sicherheitsregeln finden Sie unter Bastion für Clusterzugriff einrichten.