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
-
Um die Möglichkeit des asymmetrischen Routings zu vermeiden, kann eine Routentabelle für ein öffentliches Subnetz nicht sowohl eine Routingregel enthalten, die ein Internetgateway als Ziel angibt, als auch eine Routingregel, die ein Servicegateway als Ziel angibt (siehe Probleme mit dem Zugriff auf Ihre öffentlichen Instanzen von Oracle-Services über ein Servicegateway).
-
Weitere Informationen zum Einrichten von Routentabellen finden Sie unter:
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:
- Routentabelle: siehe Routentabellenkonfiguration
- DHCP-Optionen: siehe DHCP-Optionskonfiguration
- Network Security Groups and/or Security List: Siehe Security Rule Configuration in Network Security Groups and/or Security Lists
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:
- Wenn Sie ein öffentliches Subnetz für den Kubernetes-API-Endpunkt angeben, können Sie den Endpunkt optional dem Internet bereitstellen, indem Sie dem Endpunkt eine öffentliche IP-Adresse zuweisen. Mit der öffentlichen IP-Adresse können Drittanbieter-Cloud-Services (wie SaaS-CI/CD-Services) auf den Kubernetes-API-Endpunkt zugreifen. Beachten Sie Folgendes:
- Wenn der Kubernetes-API-Endpunkt eine öffentliche IP-Adresse aufweist, müssen Routingregeln und Sicherheitsregeln vorhanden sein, um den Zugriff auf den Endpunkt über ein Internetgateway zu ermöglichen (siehe Beispiel 1: Cluster mit Flannel-CNI) Plug-in, öffentlicher Kubernetes-API-Endpunkt, private Worker-Knoten und öffentliche Load Balancer und Beispiel 3: Cluster mit OCI-CNI-Plug-in, öffentlichem Kubernetes-API-Endpunkt, privaten Worker-Knoten und öffentlichen Load Balancern.
- Wenn der Kubernetes-API-Endpunkt keine öffentliche IP-Adresse hat, müssen Routingregeln und Sicherheitsregeln vorhanden sein, um den Zugriff auf den Endpunkt mit einem Servicegateway und einem NAT-Gateway zu ermöglichen (siehe Beispiel 2: Cluster mit Flannel-CNI-Plug-in, privatem Kubernetes-API-Endpunkt, privaten Worker-Knoten und öffentlichen Load Balancern und Beispiel 4: Cluster mit OCI-CNI-Plug-in, privatem Kubernetes-API-Endpunkt, privaten Worker-Knoten und öffentlichen Load Balancern.
- Nachdem Sie ein Cluster erstellt haben, können Sie anschließend ändern, ob dem Kubernetes-API-Endpunkt eine öffentliche IP-Adresse zugewiesen ist. Wenn Sie ändern, ob dem Endpunkt eine öffentliche IP-Adresse zugewiesen ist, müssen Sie auch Routingregeln und Sicherheitsregeln entsprechend aktualisieren.
- Wenn Sie ein privates Subnetz für den Kubernetes-API-Endpunkt angeben, kann der Traffic von einem anderen Subnetz in Ihrem VCN, von einem anderen VCN oder von Ihrem On-Premise-Netzwerk aus auf das Kubernetes-API-Endpunktsubnetz zugreifen (über Peering mit FastConnect). Sie können auch einen Bastionhost in einem öffentlichen Subnetz einrichten, um den Kubernetes-API-Endpunkt zu erreichen (siehe Bastion für Clusterzugriff einrichten).
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:
- Beispielkonfigurationen für Netzwerkressourcen
- Sicherheitslisten
- Netzwerksicherheitsgruppen
- Sicherheitsregeln
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:
- Angeben von Netzwerksicherheitsgruppen (empfohlen)
- Verwaltungsoptionen für Sicherheitslisten beim Provisioning eines OCI Load Balancers angeben
- Verwaltungsoptionen für Sicherheitslisten beim Provisioning eines OCI Network Load Balancers angeben
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.