Configurazione delle risorse di rete per la creazione e la distribuzione dei cluster
Scopri come configurare le risorse di rete per l'uso di Kubernetes Engine (OKE).
Prima di poter utilizzare Kubernetes Engine per creare e distribuire cluster nelle aree di una tenancy:
- All'interno della tenancy deve esistere già un compartimento in cui siano contenute le risorse di rete necessarie (ad esempio, una VCN, subnet, gateway Internet, tabella di instradamento, gruppi di sicurezza di rete e/o liste di sicurezza). Se un compartimento di questo tipo non esiste già, sarà necessario crearlo. Tenere presente che le risorse di rete possono risiedere nel compartimento radice. Tuttavia, se prevedi che più team creino cluster, la best practice consiste nel creare un compartimento separato per ogni team.
- All'interno del compartimento, le risorse di rete (ad esempio una VCN, subnet, gateway Internet, tabella di instradamento, gruppi di sicurezza di rete e/o liste di sicurezza) devono essere configurate in modo appropriato in ogni area in cui si desidera creare e distribuire i cluster. Quando crei un nuovo cluster, puoi fare in modo che Kubernetes Engine crei e configuri automaticamente nuove risorse di rete nel flusso di lavoro 'Creazione rapida'. In alternativa, è possibile specificare in modo esplicito le risorse di rete esistenti da utilizzare nel workflow 'Creazione personalizzata'. Se si specificano risorse di rete esistenti, è necessario che tali risorse siano già state configurate in modo appropriato, come descritto in questo argomento.
Questo argomento descrive la configurazione necessaria per ogni risorsa di rete. Per visualizzare i dettagli di una configurazione tipica, vedere Esempio di configurazioni delle risorse di rete.
Sono disponibili una serie di tutorial per sviluppatori correlati.
Configurazione VCN
La VCN in cui si desidera creare e distribuire i cluster deve essere configurata come indicato di seguito.
- Per la VCN deve essere definito un blocco CIDR sufficientemente grande da soddisfare tutte le risorse richieste da un cluster (endpoint API Kubernetes, nodi di lavoro, pod, load balancer). Ad esempio, per una VCN che supporta l'indirizzamento solo IPv4, un blocco CIDR /16 sarebbe abbastanza grande per quasi tutti i casi d'uso (ad esempio, 10.0.0.0/16). Il blocco CIDR specificato per la VCN non deve sovrapporsi al blocco CIDR specificato per i pod durante l'utilizzo del plugin CNI flannel (vedere Utilizzo del plugin CNI flannel per il networking dei pod) e per i servizi Kubernetes (vedere Blocchi CIDRIPv4 CIDR IPv4 e OKE (Kubernetes Engine)).
- La VCN deve disporre di un numero appropriato di subnet definite per i nodi di lavoro, per i load balancer, per l'endpoint API Kubernetes e per i pod quando si utilizza il plugin CNI di networking pod nativo VCN OCI (vedere Uso del plugin CNI di networking pod nativo VCN OCI per il pod networking). La best practice consiste nell'utilizzare le subnet regionali per semplificare l'implementazione del failover tra i domini di disponibilità. Vedere Configurazione della subnet.
- Per la VCN devono essere definite regole di sicurezza (in uno o entrambi i gruppi di sicurezza di rete e/o nelle liste di sicurezza per ogni subnet). Vedere Configurazione delle regole di sicurezza nei gruppi di sicurezza di rete e/o nelle liste di sicurezza.
- Oracle consiglia di selezionare la risoluzione DNS per la VCN.
- Se si utilizzano subnet pubbliche, la VCN deve disporre di un gateway Internet. Vedere Configurazione di Internet Gateway.
- Se si utilizzano subnet private, la VCN deve disporre di un gateway NAT e di un gateway di servizi. Vedere Configurazione del gateway NAT e Configurazione del gateway di servizi.
- Se la VCN dispone di un gateway NAT, di un gateway di servizi o di un gateway Internet, deve disporre di una tabella di instradamento con le regole appropriate definite. Vedere Configurazione della tabella di instradamento.
Vedere VCN e subnet e Configurazioni delle risorse di rete di esempio.
Configurazione gateway Internet
Se si intende utilizzare subnet pubbliche (per i nodi di lavoro, i load balancer e/o l'endpoint API Kubernetes) e le subnet richiedono l'accesso a/da Internet, la VCN deve disporre di un gateway Internet. Il gateway Internet deve essere specificato come destinazione per il blocco CIDR di destinazione 0.0.0.0/0 come regola di instradamento in una tabella di instradamento.
Vedere VCN e subnet e Configurazioni delle risorse di rete di esempio.
Configurazione gateway NAT
Se si intende utilizzare subnet private (per i nodi di lavoro, l'endpoint API Kubernetes o i pod quando si utilizza il plugin CNI di networking pod VCN nativo OCI) e le subnet richiedono l'accesso a Internet, la VCN deve disporre di un gateway NAT. Ad esempio, se si prevede che le applicazioni distribuite scarichino il software o accedano a servizi di terze parti.
Il gateway NAT deve essere specificato come destinazione per il blocco CIDR di destinazione 0.0.0.0/0 come regola di instradamento in una tabella di instradamento.
Vedere Gateway NAT ed Configurazioni delle risorse di rete di esempio.
Configurazione del gateway del servizio
Se si intende utilizzare subnet private per i nodi di lavoro, l'endpoint API Kubernetes o i pod quando si utilizza il plugin CNI di networking pod VCN nativo OCI, la VCN deve disporre di un gateway di servizi.
Creare il gateway di servizi nella stessa VCN e nello stesso compartimento della subnet dei nodi di lavoro, della subnet dell'endpoint API Kubernetes o della subnet dei pod e selezionare l'opzione Tutti i servizi <region> in Oracle Services Network.
Il gateway del servizio deve essere specificato come destinazione per tutti i servizi <region> in Oracle Services Network come regola di instradamento in una tabella di instradamento.
Vedere Accesso a Oracle Services: gateway del servizio e Configurazioni delle risorse di rete di esempio.
Configurazione della tabella di instradamento
Tabella di instradamento per subnet nodi di lavoro
Se si intende distribuire i nodi di lavoro in una subnet pubblica, la tabella di instradamento della subnet deve disporre di una regola di instradamento che specifichi il gateway Internet come destinazione per il blocco CIDR di destinazione 0.0.0.0/0.
Se si intende distribuire i nodi di lavoro in una subnet privata, la tabella di instradamento della subnet deve avere le seguenti caratteristiche:
- una regola di instradamento che specifica il gateway del servizio come destinazione per tutti i servizi <region> in Oracle Services Network;
- una regola di instradamento che specifica il gateway NAT come destinazione per il blocco CIDR di destinazione 0.0.0.0/0
Tabella di instradamento per subnet endpoint API Kubernetes
Se si intende distribuire l'endpoint API Kubernetes in una subnet pubblica, la tabella di instradamento della subnet deve disporre di una regola di instradamento che specifichi il gateway Internet come destinazione per il blocco CIDR di destinazione 0.0.0.0/0.
Se si intende distribuire l'endpoint API Kubernetes in una subnet privata, la tabella di instradamento della subnet deve avere le caratteristiche riportate di seguito.
- una regola di instradamento che specifica il gateway del servizio come destinazione per tutti i servizi <region> in Oracle Services Network;
- una regola di instradamento che specifica il gateway NAT come destinazione per il blocco CIDR di destinazione 0.0.0.0/0
Tabella di instradamento per le subnet del load balancer
Se si intende distribuire i load balancer nelle subnet pubbliche, la tabella di instradamento della subnet deve disporre di una regola di instradamento che specifichi il gateway Internet come destinazione per il blocco CIDR di destinazione 0.0.0.0/0.
Se si intende distribuire i load balancer nelle subnet private, la tabella di instradamento della subnet può essere vuota.
Tabella di instradamento per subnet pod
Se si intende utilizzare il plugin CNI di networking pod nativo VCN OCI per il networking pod, distribuire i pod in una subnet privata. La tabella di instradamento della subnet deve avere:
- una regola di instradamento che specifica il gateway del servizio come destinazione per tutti i servizi <region> in Oracle Services Network;
- una regola di instradamento che specifica il gateway NAT come destinazione per il blocco CIDR di destinazione 0.0.0.0/0
Se si intende utilizzare il plugin CNI flanella per il pod networking, non è necessaria una subnet pod.
Note sulla configurazione della tabella di instradamento
-
Per evitare la possibilità di instradamento asimmetrico, una tabella di instradamento per una subnet pubblica non può contenere sia una regola di instradamento che si rivolge a un gateway Internet sia una regola di instradamento che si rivolge a un gateway di servizio (vedere Problemi con accesso alle istanze pubbliche dai servizi Oracle tramite un gateway di servizi).
-
Per ulteriori informazioni sull'impostazione delle tabelle di instradamento, vedere:
Configurazione delle opzioni DHCP
La VCN in cui si desidera creare e distribuire i cluster deve avere le opzioni DHCP configurate. Il valore predefinito per il tipo di DNS del resolver Internet e VCN è accettabile.
Vedere Opzioni DHCP ed Configurazioni delle risorse di rete di esempio.
Configurazione subnet
Le caratteristiche del cluster che si desidera creare determineranno il numero di subnet da configurare. La best practice consiste nell'utilizzare le subnet regionali per semplificare l'implementazione del failover tra i domini di disponibilità.
La VCN in cui si desidera creare e distribuire i cluster deve avere almeno due subnet (facoltativamente, più) diverse:
- una subnet dell'endpoint API Kubernetes
- una subnet dei nodi di lavoro
- una o due subnet del load balancer specifiche di un dominio di disponibilità (facoltativo)
- una subnet pod (quando si utilizza il networking pod nativo VCN)
- una subnet bastion (facoltativa)
È possibile scegliere di combinare le subnet e anche le regole di sicurezza. Tuttavia, questo approccio rende la sicurezza più difficile da gestire e pertanto non è consigliato a meno che non si utilizzino gruppi di sicurezza di rete per controllare l'accesso ai cluster.
I blocchi CIDR della subnet non devono sovrapporsi ai blocchi CIDR specificati per i pod in esecuzione nel cluster (vedere Blocchi CIDRIPv4 CIDR IPv4 e Kubernetes Engine (OKE)).
I nodi virtuali e i nodi gestiti hanno requisiti diversi, pertanto è necessario configurare le subnet dei nodi di lavoro e le subnet dei pod in modo leggermente diverso quando si utilizzano i nodi virtuali anziché i nodi gestiti.
Le subnet devono essere configurate con le seguenti proprietà:
- Tabella di instradamento: vedere Configurazione della tabella di instradamento
- Opzioni DHCP: vedere Configurazione delle opzioni DHCP
- Gruppi di sicurezza di rete e/o lista di sicurezza: vedere Configurazione delle regole di sicurezza nei gruppi di sicurezza di rete e/o nelle liste di sicurezza
Vedere VCN e subnet e Configurazioni delle risorse di rete di esempio.
Configurazione della subnet dell'endpoint API Kubernetes
La subnet dell'endpoint API Kubernetes ospita un endpoint che fornisce l'accesso all'API Kubernetes sul piano di controllo del cluster.
La subnet dell'endpoint API Kubernetes deve essere una subnet regionale e può essere una subnet privata o pubblica:
- Se si specifica una subnet pubblica per l'endpoint API Kubernetes, è possibile esporre facoltativamente l'endpoint a Internet assegnando un indirizzo IP pubblico all'endpoint. L'indirizzo IP pubblico consente ai servizi cloud di terze parti (ad esempio i servizi CI/CD SaaS) di accedere all'endpoint API Kubernetes. Tenere presente quanto riportato di seguito.
- Se l'endpoint API Kubernetes dispone di un indirizzo IP pubblico, devono esistere regole di instradamento e regole di sicurezza per abilitare l'accesso all'endpoint mediante un gateway Internet (vedere l'Esempio 1: cluster con CNI Flannel) Plugin, endpoint API Kubernetes pubblico, nodi di lavoro privati e load balancer pubblici ed Esempio 3: cluster con plugin CNI OCI, endpoint API Kubernetes pubblico, nodi di lavoro privati e load balancer pubblici).
- Se l'endpoint API Kubernetes non dispone di un indirizzo IP pubblico, devono esistere regole di instradamento e regole di sicurezza per abilitare l'accesso all'endpoint utilizzando un gateway di servizio e un gateway NAT (vedere l'Esempio 2: Cluster) con il plugin CNI Flannel, l'endpoint API Kubernetes privato, i nodi di lavoro privati e i load balancer pubblici e l'esempio 4: cluster con il plugin CNI OCI, endpoint API Kubernetes privato, nodi di lavoro privati e load balancer pubblici).
- Dopo aver creato un cluster, è possibile modificare in seguito l'assegnazione di un indirizzo IP pubblico all'endpoint API Kubernetes. Se si modifica l'assegnazione di un indirizzo IP pubblico all'endpoint, tenere presente che è necessario aggiornare le regole di instradamento e le regole di sicurezza in modo appropriato.
- Se si specifica una subnet privata per l'endpoint API Kubernetes, il traffico può accedere alla subnet dell'endpoint API Kubernetes da un'altra subnet nella VCN, da un'altra VCN o dalla rete in locale (in peer con FastConnect). Puoi anche impostare un host bastion su una subnet pubblica per raggiungere l'endpoint API Kubernetes (vedere Impostazione di un bastion per l'accesso al cluster).
Configurazione subnet nodo di lavoro
Una subnet del nodo di lavoro ospita i nodi di lavoro. Tutti i nodi gestiti in un pool di nodi appartengono alla stessa subnet dei nodi di lavoro.
La subnet del nodo di lavoro può essere una singola subnet regionale o più subnet specifiche di AD (una in ciascuno dei domini di disponibilità).
Nodi gestiti/gestiti autonomamente: la subnet del nodo di lavoro può essere una subnet pubblica o privata. Tuttavia, si consiglia che la subnet del nodo di lavoro sia una subnet privata per la massima sicurezza.
Nodi virtuali: la subnet del nodo di lavoro può essere una subnet pubblica o privata. Tuttavia, si consiglia che la subnet del nodo di lavoro sia una subnet privata per la massima sicurezza. Si consiglia inoltre che la subnet del nodo di lavoro e la subnet del pod siano la stessa subnet (nel qual caso, la subnet del nodo di lavoro deve essere una subnet privata perché i nodi virtuali richiedono che la subnet del pod sia una subnet privata).
Configurazione subnet pod
Una subnet pod ospita i pod sui nodi di lavoro in un pool di nodi quando si utilizza il networking pod nativo VCN (vedere Uso del plugin CNI di networking pod nativo VCN OCI per il networking pod).
La subnet pod deve essere una singola subnet regionale.
Nodi gestiti: la subnet pod deve essere una subnet privata.
Nodi virtuali: la subnet pod deve essere una subnet privata. Si consiglia che la subnet pod e la subnet nodo di lavoro siano la stessa subnet (nel qual caso, anche la subnet nodo di lavoro deve essere una subnet privata).
Configurazione subnet load balancer
Le subnet del load balancer connettono i load balancer di Oracle Cloud Infrastructure creati dai servizi Kubernetes di tipo LoadBalancer
.
Le subnet del load balancer possono essere singole subnet regionali o subnet specifiche di AD (una in ciascuno dei domini di disponibilità). Tuttavia, si consiglia di utilizzare subnet regionali.
Le subnet del load balancer possono essere subnet pubbliche o private, a seconda della modalità di accesso alle applicazioni distribuite nel cluster. Se l'accesso alle applicazioni avverrà internamente dall'interno della VCN, utilizzare le subnet private per le subnet del load balancer. Se si accede alle applicazioni da Internet, utilizzare le subnet pubbliche per le subnet del load balancer.
Configurazione subnet bastion (facoltativa)
Un bastion facoltativo in una subnet bastion può fornire l'accesso sicuro all'endpoint API Kubernetes e l'accesso SSH ai nodi di lavoro. Vedere Impostazione di un bastion per l'accesso al cluster.
Configurazione della regola di sicurezza nei gruppi di sicurezza di rete e/o nelle liste di sicurezza
Per la VCN in cui si desidera creare e distribuire i cluster devono essere definite regole di sicurezza. È possibile definire le regole di sicurezza nei modi riportati di seguito o in entrambi i modi.
- Nei gruppi di sicurezza di rete (consigliato) selezionati per i pool di nodi, per l'endpoint API Kubernetes, per i pod (quando si utilizza il networking pod nativo VCN) e per i load balancer (se specificato) quando si crea un cluster.
- Negli elenchi di sicurezza già associati alle subnet selezionate per i nodi di lavoro, per l'endpoint API Kubernetes, per i pod (quando si utilizza la rete di pod VCN nativa) e per i load balancer (se specificato) quando si crea un cluster.
I nodi di lavoro, l'endpoint API Kubernetes, i pod (quando si utilizza il networking pod VCN nativo) e il load balancer hanno requisiti di regole di sicurezza diversi, come descritto in questo argomento. È possibile aggiungere regole aggiuntive per soddisfare esigenze specifiche.
Se si specificano regole di sicurezza sia nei gruppi di sicurezza di rete che nelle liste di sicurezza, vengono applicate tutte le regole di sicurezza, ovvero l'unione delle regole di sicurezza.
Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.
- Configurazioni delle risorse di rete di esempio
- Liste di sicurezza
- Gruppi di sicurezza di rete
- Regole di sicurezza
Regole di sicurezza per l'endpoint API Kubernetes
È necessario definire le regole di entrata seguenti per l'endpoint API Kubernetes, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Origine | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | CIDR nodi operativi | TCP/6443 | Comunicazione da lavoratore Kubernetes a endpoint API Kubernetes. |
Con conservazione dello stato | CIDR nodi operativi | TCP/12250 | Comunicazione da lavoratore Kubernetes a endpoint API Kubernetes. |
Con conservazione dello stato | CIDR dei pod | TCP/6443 | Comunicazione da pod a endpoint API Kubernetes (quando si utilizza il networking pod nativo VCN). |
Con conservazione dello stato | CIDR dei pod | TCP/12250 | Comunicazione da pod a endpoint API Kubernetes (quando si utilizza il networking pod nativo VCN). |
Con conservazione dello stato | CIDR nodi operativi | ICMP 3,4 | Ricerca automatica percorso. |
È possibile definire le seguenti regole di entrata facoltative per l'endpoint API Kubernetes, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Origine | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | 0.0.0.0/0 o sottoreti specifiche | TCP/6443 | Accesso client all'endpoint API Kubernetes |
È necessario definire le regole di uscita seguenti per l'endpoint API Kubernetes, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Destinazione | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | Tutti i servizi <region> in Oracle Services Network | TCP/443 | Consenti all'endpoint API Kubernetes di comunicare con OKE. |
Con conservazione dello stato | CIDR nodi operativi | PIANO CORRENTE/TUTTO | Tutto il traffico verso i nodi di lavoro (quando si utilizza flannel per il pod networking). |
Con conservazione dello stato | CIDR dei pod | TUTTI/TUTTI |
Comunicazione tra endpoint API Kubernetes e pod (quando si utilizza il networking pod nativo VCN). |
Con conservazione dello stato | CIDR nodi operativi | ICMP 3,4 | Ricerca automatica percorso. |
Con conservazione dello stato | CIDR nodi operativi | TCP 10250, ICMP | Comunicazione tra endpoint API Kubernetes e nodi di lavoro (quando si utilizza il networking pod nativo VCN). |
Regole di sicurezza per i nodi di lavoro
I nodi di lavoro vengono creati con indirizzi IP pubblici o privati, a seconda che si specifichino subnet pubbliche o private durante la definizione dei pool di nodi in un cluster. Il motore Kubernetes deve essere in grado di accedere ai nodi di lavoro.
Per i nodi di lavoro, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza è necessario definire le regole di entrata riportate di seguito.
Stato | Origine | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | CIDR nodi operativi | TUTTI/TUTTI | Consente la comunicazione da (o a) nodi di lavoro. |
Con conservazione dello stato | CIDR dei pod | TUTTI/TUTTI | Consenti ai pod su un nodo di lavoro di comunicare con i pod su altri nodi di lavoro (quando si utilizza il networking pod nativo VCN). |
Con conservazione dello stato | CIDR endpoint API Kubernetes | PIANO CORRENTE/TUTTO | Consenti all'endpoint API Kubernetes di comunicare con i nodi di lavoro. |
Con conservazione dello stato | 0.0.0.0/0 | ICMP 3,4 | Ricerca automatica percorso. |
Con conservazione dello stato | CIDR endpoint API Kubernetes | TCP 10250, ICMP | Comunicazione tra endpoint API Kubernetes e nodi di lavoro (quando si utilizza il networking pod nativo VCN). |
È possibile definire le seguenti regole di entrata facoltative per i nodi di lavoro (solo nodi gestiti), in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Origine | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | 0.0.0.0/0 o CIDR subnet | TCP/22 | (facoltativo) Consenti traffico SSH in entrata ai nodi di lavoro. |
È necessario definire le regole di uscita seguenti per i nodi di lavoro, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Destinazione | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | CIDR nodi operativi | TUTTI/TUTTI | Consente la comunicazione da (o a) nodi di lavoro. |
Con conservazione dello stato | CIDR dei pod | TUTTI/TUTTI | Consenti ai nodi di lavoro di comunicare con i pod su altri nodi di lavoro (quando si utilizza il networking pod nativo VCN). |
Con conservazione dello stato | 0.0.0.0/0 | ICMP 3,4 | Ricerca automatica percorso. |
Con conservazione dello stato | Tutti i servizi <region> in Oracle Services Network | PIANO CORRENTE/TUTTO | Consenti ai nodi di comunicare con OKE. |
Con conservazione dello stato | CIDR endpoint API Kubernetes | TCP/6443 | Comunicazione da lavoratore Kubernetes a endpoint API Kubernetes. |
Con conservazione dello stato | CIDR endpoint API Kubernetes | TCP/12250 | Comunicazione da lavoratore Kubernetes a endpoint API Kubernetes. |
È possibile definire le seguenti regole di uscita facoltative per i nodi di lavoro, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Destinazione | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | 0.0.0.0/0 | PIANO CORRENTE/TUTTO | (facoltativo) Consenti ai nodi di lavoro di comunicare con Internet. |
Regole di sicurezza per le subnet pod
Quando si utilizza il plugin CNI Networking pod VCN nativo OCI per il networking pod:
-
le regole di sicurezza definite per la subnet del nodo di lavoro, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza, devono includere:
- Regole di entrata e uscita con conservazione dello stato che consentono tutto il traffico tra i nodi di lavoro
- Regole di entrata e uscita con conservazione dello stato che consentono tutto il traffico tra i nodi di lavoro e il load balancer
- Regole di uscita con conservazione dello stato che consentono il traffico tra i nodi di lavoro e il motore Kubernetes
- le regole di sicurezza definite per la subnet pod, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza, devono includere regole di entrata e uscita con conservazione dello stato che consentano tutto il traffico tra i pod
È necessario definire le seguenti regole di entrata per le subnet pod, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Origine | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | CIDR endpoint API Kubernetes | TUTTI/TUTTI | Comunicazione tra endpoint API Kubernetes e pod (quando si utilizza il networking pod nativo VCN). |
Con conservazione dello stato | CIDR nodi operativi | TUTTI/TUTTI | Consenti ai pod su un nodo di lavoro di comunicare con i pod su altri nodi di lavoro. |
Con conservazione dello stato | CIDR dei pod | TUTTI/TUTTI | Consenti ai pod di comunicare tra loro. |
È necessario definire le regole di uscita seguenti per le subnet pod, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Destinazione | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | CIDR dei pod | TUTTI/TUTTI | Consenti ai pod di comunicare tra loro. |
Con conservazione dello stato | Tutti i servizi <region> in Oracle Services Network | ICMP 3,4 | Ricerca automatica percorso. |
Con conservazione dello stato | Tutti i servizi <region> in Oracle Services Network | PIANO CORRENTE/TUTTO | Consenti ai nodi di lavoro di comunicare con i servizi OCI. |
Con conservazione dello stato | CIDR endpoint API Kubernetes | TCP/6443 | Comunicazione da pod a endpoint API Kubernetes (quando si utilizza il networking pod nativo VCN). |
Con conservazione dello stato | CIDR endpoint API Kubernetes | TCP/12250 | Comunicazione da pod a endpoint API Kubernetes (quando si utilizza il networking pod nativo VCN). |
È possibile definire le seguenti regole di uscita facoltative per una subnet pod, in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza:
Stato | Destinazione | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | 0.0.0.0/0 | TCP/443 | (facoltativo) Consentire ai pod di comunicare con Internet. |
Regole di sicurezza per i load balancer e i load balancer di rete
Quando Kubernetes Engine esegue il provisioning di un load balancer o di un load balancer di rete OCI per un servizio Kubernetes di tipo LoadBalancer, devono esistere regole di sicurezza appropriate per consentire il traffico in entrata e in uscita verso e dalla subnet del load balancer o del load balancer di rete. Nel caso dei nodi gestiti (non dei nodi virtuali), queste regole di sicurezza vengono create automaticamente per impostazione predefinita per i load balancer, ma non vengono create automaticamente per impostazione predefinita per i load balancer di rete. Per ulteriori informazioni sul provisioning di un load balancer o di un load balancer di rete OCI per un servizio Kubernetes di tipo LoadBalancer, vedere Definizione dei servizi Kubernetes di tipo LoadBalancer.
Puoi definire regole di sicurezza in entrata e in uscita per la subnet in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza. Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.
- Specifica dei gruppi di sicurezza di rete (consigliata)
- Specifica delle opzioni di gestione delle liste di sicurezza durante il provisioning di un load balancer OCI
- Specifica delle opzioni di gestione delle liste di sicurezza durante il provisioning di un load balancer di rete OCI
Definire la regola di sicurezza in entrata seguente in uno o in entrambi i casi:
- un gruppo di sicurezza di rete (consigliato) a cui è stato aggiunto il load balancer o la risorsa del load balancer di rete
- una lista di sicurezza associata alla subnet del load balancer o del load balancer di rete
Stato | Origine | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | 0.0.0.0/0 o CIDR specifico | TCP/443 | Consenti traffico in entrata al load balancer. |
Impostare il protocollo e la porta di destinazione della regola di entrata in modo appropriato per requisiti specifici dell'applicazione. Ad esempio, specificare UDP come protocollo per un'applicazione che gestisce il traffico UDP.
Definire la regola di sicurezza di uscita seguente in uno o in entrambi i casi:
- un gruppo di sicurezza di rete (consigliato) a cui è stato aggiunto il load balancer o la risorsa del load balancer di rete
- una lista di sicurezza associata alla subnet del load balancer o del load balancer di rete
Stato | Destinazione | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | CIDR nodi operativi | TUTTI/30000-32767 | Consenti traffico ai nodi di lavoro. |
Per impostazione predefinita, i load balancer OCI o i load balancer di rete di cui è stato eseguito il provisioning dalle richieste proxy del motore Kubernetes a tutti i nodi di lavoro nel cluster. Quando le richieste vengono inviate ai nodi di lavoro nel cluster, devono esistere le regole di sicurezza di entrata e uscita seguenti (in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza) affinché il load balancer o il load balancer di rete comunichino con i nodi di lavoro sulla porta 10256 (la porta di integrità kube-proxy):
- Regola di sicurezza in entrata per la lista di sicurezza (o il gruppo di sicurezza di rete) della subnet del nodo di lavoro per consentire al load balancer o al load balancer di rete di comunicare con kube-proxy sui nodi di lavoro:
Stato Origine Protocollo/destinazione. Porta descrizione; Con conservazione dello stato CIDR della subnet del load balancer o del load balancer di rete TUTTI/10256 Consenti al load balancer o al load balancer di rete OCI di comunicare con kube-proxy sui nodi di lavoro. - Regola di sicurezza in uscita per la lista di sicurezza (o il gruppo di sicurezza di rete) della subnet del load balancer o del load balancer di rete per consentire al load balancer o al load balancer di rete di comunicare con il proxy kube sui nodi di lavoro:
Stato Destinazione Protocollo/destinazione. Porta descrizione; Con conservazione dello stato CIDR subnet nodo di lavoro TUTTI/10256 Consenti al load balancer o al load balancer di rete OCI di comunicare con kube-proxy sui nodi di lavoro.
Quando si esegue il provisioning di un load balancer di rete per un servizio Kubernetes di tipo LoadBalancer:
- È possibile specificare che le richieste vengano terminate all'indirizzo IP del client specificato nelle intestazioni dei pacchetti IP, anziché essere proxyate ad altri nodi di lavoro nel cluster (impostando
externalTrafficPolicy: Local
). Vedere Terminazione delle richieste nel nodo di ricezione. - Se si specifica che le richieste terminano all'indirizzo IP del client, è anche possibile specificare se conservare l'indirizzo IP del client nelle intestazioni dei pacchetti IP (utilizzando l'annotazione
oci-network-load-balancer.oraclecloud.com/is-preserve-source
). Vedere Preserving the Client IP Address.
In entrambi i casi, è necessario aver impostato una regola di sicurezza (in un gruppo di sicurezza di rete (consigliato) e/o in una lista di sicurezza) per i nodi di lavoro nel cluster per consentire il traffico in entrata dal blocco CIDR in cui vengono effettuate le connessioni client a tutte le porte dei nodi (da 30000 a 32767). Se l'applicazione è esposta a Internet, impostare il blocco CIDR Origine della regola di sicurezza su 0.0.0.0/0. In alternativa, impostare il blocco CIDR Origine della regola di sicurezza su un blocco CIDR specifico (ad esempio, se le connessioni client provengono da una subnet specifica).
Stato | Origine | Protocollo/destinazione. Porta | descrizione; |
---|---|---|---|
Con conservazione dello stato | 0.0.0.0/0 o CIDR subnet | TUTTI/30000-32767 | Consenti ai nodi di lavoro di ricevere connessioni tramite il load balancer di rete OCI. |
Regole di sicurezza per le subnet bastion
Un bastion facoltativo in una subnet bastion può fornire l'accesso sicuro all'endpoint API Kubernetes e l'accesso SSH ai nodi di lavoro. Per informazioni sulle regole di sicurezza di entrata e uscita da definire, vedere Impostazione di un bastion per l'accesso al cluster.