Visualizzazione di requisiti di rete di Amazon EKS per VPC e sottoreti - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Visualizzazione di requisiti di rete di Amazon EKS per VPC e sottoreti

Durante la creazione di un cluster, in genere si specificano un VPC e due sottoreti che si trovano in zone di disponibilità diverse. Questo argomento offre una panoramica dei requisiti e delle considerazioni specifiche di Amazon EKS per il VPC e le sottoreti utilizzate con il cluster. Se non si dispone di un VPC da utilizzare con Amazon EKS, si veda Creazione di un Amazon VPC per il cluster Amazon EKS.. Se stai creando un cluster locale o esteso su AWS Outposts, consulta Creazione di VPC e sottoreti per i cluster Amazon EKS su AWS Outposts invece di questo argomento. Il contenuto di questo argomento si applica ai cluster Amazon EKS con nodi ibridi. Per ulteriori requisiti di rete per i nodi ibridi, consulta Preparazione della rete per i nodi ibridi.

Considerazioni e requisiti relativi al VPC

Durante la creazione di un cluster, il VPC specificato deve soddisfare i requisiti e le considerazioni seguenti:

  • Il VPC deve disporre di un numero sufficiente di indirizzi IP da mettere a disposizione per il cluster, i nodi e le altre risorse Kubernetes da creare. In caso contrario, è possibile provare ad aumentare il numero di indirizzi IP disponibili.

    È possibile farlo aggiornando la configurazione del cluster per modificare le sottoreti e i gruppi di sicurezza utilizzati dal cluster. Puoi eseguire l’aggiornamento da Console di gestione AWS, dalla versione più recente di AWS CLI, da CloudFormation AWS e da eksctl versione v0.164.0-rc.0 o successiva. Potrebbe essere necessario eseguire questa operazione per fornire alle sottoreti più indirizzi IP disponibili per aggiornare in modo corretto una versione del cluster.

    Importante

    Tutte le sottoreti aggiunte devono trovarsi nello stesso insieme di AZ fornito in origine quando hai creato il cluster. Le nuove sottoreti devono soddisfare tutti gli altri requisiti, ad esempio devono disporre di sufficienti indirizzi IP.

    Supponiamo ad esempio che hai creato un cluster e specificato quattro sottoreti. Nell'ordine in cui le hai specificate, la prima sottorete si trova nella zona di disponibilità us-west-2a, la seconda e la terza si trovano nella zona di disponibilità us-west-2b e la quarta si trova nella zona di disponibilità us-west-2c. Se desideri modificare le sottoreti, devi fornire almeno una sottorete in ciascuna delle tre zone di disponibilità e le sottoreti devono trovarsi nello stesso VPC delle sottoreti originali.

    Se hai bisogno di più indirizzi IP rispetto ai blocchi CIDR nel VPC, puoi aggiungere altri blocchi CIDR associando ulteriori blocchi di routing interdominio senza classi (CIDR) al VPC. L'associazione di blocchi di CIDR privati (RFC 1918) e pubblici (non RFC 1918) può avvenire prima o dopo la creazione del cluster.

    È possibile aggiungere nodi che utilizzano il nuovo intervallo CIDR subito dopo averlo aggiunto. Tuttavia, poiché il piano di controllo riconosce il nuovo intervallo CIDR solo dopo il completamento della riconciliazione, il riconoscimento dell’intervallo CIDR associato a un VPC da parte del cluster può richiedere fino a un’ora. Quindi, è possibile eseguire i comandi kubectl cp, kubectl exec, kubectl logs e kubectl port-forward (questi comandi utilizzano kubelet API) per nodi e pod nel nuovo intervallo CIDR. Inoltre, se si dispone di pod che funzionano come backend webhook, devi attendere il completamento della riconciliazione del piano di controllo.

  • Evita le sovrapposizioni degli intervalli di indirizzi IP quando connetti il tuo cluster EKS ad altri VPC tramite Transit Gateway, peering di VPC o altre configurazioni di rete. I conflitti di CIDR si verificano quando il servizio CIDR del cluster EKS si sovrappone al CIDR di un VPC connesso. In questi scenari, gli indirizzi ServiceIP hanno la priorità sulle risorse nei VPC connessi con lo stesso indirizzo IP, sebbene il routing del traffico possa diventare imprevedibile e le applicazioni potrebbero non riuscire a connettersi alle risorse previste.

    Per evitare conflitti CIDR, assicurati che il tuo servizio CIDR di EKS non si sovrapponga a nessun CIDR di VPC connesso e mantieni un registro centralizzato di tutte le assegnazioni CIDR. Se si riscontrano sovrapposizioni di CIDR, è possibile utilizzare un gateway di transito con un VPC di servizi condivisi. Per ulteriori informazioni, consulta VPC isolati con servizi condivisi e Modelli di conservazione degli indirizzi IP instradabili di Amazon EKS VPC in una rete ibrida. Inoltre, consulta la sezione Comunicazione tra le sezioni di VPC della pagina Considerazioni su VPC e sottorete nella guida alle best practice di EKS.

  • Se vuoi che Kubernetes assegni indirizzi IPv6 a pod e servizi, associa un intervallo CIDR IPv6 al tuo VPC. Per ulteriori informazioni, consultare Associazione di un blocco CIDR IPv6 al VPC nella Guida per l'utente di Amazon VPC. Non è possibile utilizzare indirizzi IPv6 con pod e servizi in esecuzione su nodi ibridi e non è possibile utilizzare nodi ibridi con cluster configurati con la famiglia di indirizzi IP IPv6.

  • Il VPC deve supportare il nome host DNS e la risoluzione DNS. In caso contrario, i nodi non possono registrarsi al cluster. Per ulteriori informazioni, consulta Attributi DNS nel VPC nella Guida per l'utente di Amazon VPC.

  • Il VPC potrebbe richiedere endpoint VPC che usano PrivateLink AWS. Per ulteriori informazioni, consulta Considerazioni e requisiti relativi alle sottoreti.

Se il cluster è stato creato con Kubernetes 1.14 o versioni precedenti, Amazon EKS aggiunge il tag seguente al VPC:

Chiave Valore

kubernetes.io/cluster/my-cluster

owned

Questo tag è stato utilizzato solo da Amazon EKS, per cui è possibile rimuoverlo senza influire sui servizi. Non è necessario con la versione 1.15 del cluster o con versioni successive.

Considerazioni e requisiti relativi alle sottoreti

Durante la creazione di un cluster, Amazon EKS crea da 2 a 4 interfacce di rete elastiche nelle sottoreti specificate. Queste interfacce di rete consentono la comunicazione tra il cluster e il VPC. abilitano anche alcune funzionalità di Kubernetes, come kubectl exec e kubectl logs. Ogni interfaccia di rete creata da Amazon EKS ha il testo Amazon EKS cluster-name nella sua descrizione.

Amazon EKS può creare le proprie interfacce di rete in qualsiasi sottorete specificata al momento della creazione di un cluster. Puoi modificare le sottoreti in cui Amazon EKS crea le interfacce di rete dopo la creazione del cluster. Quando aggiorni la versione Kubernetes di un cluster, Amazon EKS elimina le interfacce di rete originali e ne crea di nuove Queste interfacce di rete potrebbero essere create all'interno delle stesse sottoreti o in sottoreti diverse rispetto alle interfacce di rete originali. Per verificare in quali sottoreti vengono create le interfacce di rete, puoi limitare il numero di sottoreti specificate a due quando crei un cluster o aggiornare le sottoreti dopo aver creato il cluster.

Requisiti relativi alla sottorete per i cluster

Le sottoreti specificate al momento della creazione o dell'aggiornamento di un cluster devono soddisfare i seguenti requisiti:

  • Ciascuna sottorete deve disporre di almeno sei indirizzi IP  per l'uso da parte di Amazon EKS. Tuttavia, consigliamo di utilizzare almeno 16 indirizzi IP.

  • Le due sottoreti devono trovarsi in almeno due zone di disponibilità diverse.

  • Le sottoreti non possono risiedere in AWS Outposts o in lunghezza d’onda AWS. Tuttavia, se sono presenti nel VPC, puoi implementare nodi autogestiti e risorse Kubernetes per questi tipi di sottoreti. Per ulteriori informazioni sulla gestione dei nodi, consulta Gestione autonoma dei nodi con nodi autogestiti.

  • Le sottoreti possono essere pubbliche o private. Tuttavia, si consiglia di specificare sottoreti private, se possibile. Una sottorete pubblica è una sottorete con una tabella di routing che include un instradamento a un gateway Internet, mentre la sottorete privata non comprende tale instradamento.

  • Le sottoreti non possono risiedere nelle seguenti zone di disponibilità:

    Regione AWS Nome della Regione ID della zona di disponibilità non consentita

    us-east-1

    Stati Uniti orientali (Virginia settentrionale)

    use1-az3

    us-west-1

    Stati Uniti occidentali (California settentrionale)

    usw1-az2

    ca-central-1

    Canada (Centrale)

    cac1-az3

Utilizzo della famiglia di indirizzi IP per componente

La tabella seguente contiene la famiglia di indirizzi IP utilizzata da ciascun componente di Amazon EKS. È possibile utilizzare una network address translation (NAT) o un altro sistema di compatibilità per connettersi a questi componenti da indirizzi IP di origine in famiglie con il valore “No” per una voce di tabella.

La funzionalità può variare a seconda dell’impostazione della famiglia IP (ipFamily) del cluster. Questa impostazione modifica il tipo di indirizzi IP utilizzati per l’intervallo CIDR assegnato da Kubernetes ai servizi. Un cluster con il valore di impostazione IPv4 è definito come cluster IPv4 e un cluster con il valore di impostazione IPv6 è definito come cluster IPv6.

Componente Indirizzi IPv4 Indirizzi IPv6 Indirizzi dual stack

Endpoint pubblico dell’API EKS

1,3

1,3

1,3

Endpoint VPC di API EKS

No

No

Endpoint pubblico di API di autenticazione EKS (EKS Pod Identity)

1

1

1

Endpoint VPC di API di autenticazione EKS (EKS Pod Identity)

1

1

1

IPv4 Endpoint pubblico del cluster Kubernetes2

No

No

IPv4 Endpoint privato del cluster Kubernetes2

No

No

IPv6 Endpoint pubblico del cluster Kubernetes2

1,4

1,4

4

IPv6 Endpoint privato del cluster Kubernetes2

1,4

1,4

4

Sottoreti del cluster Kubernetes

2

No

2

Indirizzi IP primari del nodo

2

No

2

Intervallo CIDR del cluster per gli indirizzi IP del servizio

2

2

No

Indirizzi IP del pod da CNI di VPC

2

2

No

URL dell’emittente OIDC di IRSA

1,3

1,3

1,3

Nota

1 L’endpoint è dual-stack con gli indirizzi sia IPv4 che IPv6. Le applicazioni esterne di AWS, i nodi del cluster e i pod all’interno del cluster possono raggiungere questo endpoint tramite IPv4 o IPv6.

2 Si sceglie tra un cluster IPv4 e un cluster IPv6 nell’impostazione della famiglia IP (ipFamily) del cluster quando se ne crea uno e questa impostazione non può essere modificata. È invece necessario scegliere un’impostazione diversa quando si crea un altro cluster e si migrano i carichi di lavoro.

3 L’endpoint dual-stack è stato introdotto nell’agosto 2024. Per utilizzare gli endpoint dual-stack con AWS CLI, consulta la configurazione degli endpoint dual-stack e FIPS nella guida di riferimento agli SDK e agli strumenti AWS . Di seguito sono elencati i nuovi endpoint:

endpoint pubblico dell’API EKS

eks.region.api.aws

URL dell’emittente OIDC di IRSA

oidc-eks.region.api.aws

4 L’endpoint del cluster dual-stack è stato introdotto nell’ottobre 2024. EKS crea il seguente endpoint per i nuovi cluster creati dopo questa data e selezionati IPv6 nell’impostazione della famiglia IP (IpFamily) del cluster:

Endpoint pubblico/privato del cluster EKS

eks-cluster.region.api.aws

Requisiti relativi alla sottorete per i nodi

È possibile implementare nodi e risorse Kubernetes nelle stesse sottoreti specificate al momento della creazione del cluster. Tuttavia, non è necessario. di tali risorse può avvenire anche in sottoreti non specificate precedentemente. L’implementazione di nodi in sottoreti diverse non comporta la creazione di interfacce di rete cluster in tali sottoreti da parte di Amazon EKS. Qualsiasi sottorete in cui si implementano nodi e risorse Kubernetes deve soddisfare i requisiti seguenti:

  • Le sottoreti devono mettere a disposizione un numero sufficiente di indirizzi IP per implementare tutti i nodi e le risorse Kubernetes.

  • Se si desidera che Kubernetes assegni indirizzi IPv6 a pod e servizi, è necessario disporre di un intervallo CIDR IPv6 e un intervallo CIDR IPv4 associati alla sottorete. Per ulteriori informazioni, consulta Associare un intervallo CIDR IPv6 alla sottorete nella guida per l’utente di Amazon VPC. Le tabelle di instradamento associate alle sottoreti devono includere instradamenti a indirizzi IPv4 e IPv6. Per maggiori informazioni, consulta Routes (Instradamenti) nella Guida dell'utente di Amazon VPC. Ai pod viene assegnato solo un indirizzo IPv6, mentre alle interfacce di rete create da Amazon EKS per il cluster e ai nodi vengono assegnati un indirizzo IPv4 e uno IPv6.

  • Se è necessario garantire ai pod un accesso in entrata da Internet, assicurarsi di disporre di almeno una sottorete pubblica con un numero sufficiente di indirizzi IP disponibili su cui implementare i bilanciatori di carico e gli ingressi. È possibile implementare i load balancer nelle sottoreti pubbliche. I bilanciatori di carico possono bilanciare il carico sui pod di sottoreti private o pubbliche. Consigliamo di implementare i nodi su sottoreti private, se possibile.

  • Se si prevede di implementare i nodi in una sottorete pubblica, quest'ultima deve essere configurata per assegnare automaticamente indirizzi IPv4 pubblici o indirizzi IPv6. Se si implementano nodi in una sottorete privata a cui è associato un blocco CIDR IPv6, anche questa sottorete deve essere configurata per assegnare automaticamente indirizzi IPv6. Se hai utilizzato un modello CloudFormation AWS di Amazon EKS per implementare il VPC dopo il 26 marzo 2020, questa impostazione è abilitata. Se hai utilizzato i modelli per implementare il VPC prima di tale data o utilizzi un VPC personale, devi abilitare questa impostazione manualmente. Per il modello, consulta Creazione di un Amazon VPC per il cluster Amazon EKS.. Per ulteriori informazioni, consulta Modifica l’attributo di assegnazione degli indirizzi IPv4 pubblici per la sottorete e Modifica l’attributo di assegnazione degli indirizzi IPv6 per la sottorete nella guida per l’utente di Amazon VPC.

  • Se la sottorete in cui si implementa un nodo è privata e la relativa tabella di routing non include un instradamento verso un dispositivo Network address translation (NAT) (IPv4) o un gateway di sola uscita (IPv6), aggiungere endpoint VPC utilizzando PrivateLink AWS al VPC. Gli endpoint VPC sono necessari per tutti i servizi AWS con cui i nodi e i pod devono comunicare. A titolo esemplificativo si possono menzionare Amazon ECR, bilanciamento del carico elastico, Amazon CloudWatch, servizio di tokenizzazione di sicurezza AWS e Amazon Simple Storage Service (Amazon S3). L'endpoint deve includere la sottorete in cui si trovano i nodi. Non tutti i servizi AWS supportano gli endpoint VPC. Per ulteriori informazioni, consulta Cos’è PrivateLink AWS? e Servizi AWS che si integrano con AWS PrivateLink. Per un elenco di altri requisiti Amazon EKS, consulta Implementazione di cluster privati con accesso limitato a Internet.

  • Se si desidera implementare i load balancer in una sottorete, quest'ultima deve presentare il tag seguente:

    • Sottoreti private

      Chiave Valore

      kubernetes.io/role/internal-elb

      1

    • Sottoreti pubbliche

      Chiave Valore

      kubernetes.io/role/elb

      1

In passato, quando si creava un cluster Kubernetes che è la versione 1.18 e precedenti, Amazon EKS aggiungeva il seguente tag a tutte le sottoreti specificate.

Chiave Valore

kubernetes.io/cluster/my-cluster

shared

Adesso, se crei un nuovo cluster Kubernetes, Amazon EKS non aggiunge alcun tag alle sottoreti. Se il tag era applicato a sottoreti utilizzate da un cluster che in precedenza era una versione precedente a 1.19, il tag non veniva rimosso automaticamente dalle sottoreti quando il cluster veniva aggiornato a una versione più recente. La versione 2.1.1 o precedenti del controllore del bilanciatore del carico AWS richiede questo tag. Se si utilizza una versione più recente di Load Balancer Controller, è possibile rimuovere il tag senza interrompere i servizi. Per ulteriori informazioni sul controller, consulta Indirizza il traffico Internet con AWS Load Balancer Controller.

Se hai implementato un VPC utilizzando eksctl o uno dei modelli VPC CloudFormation AWS di Amazon EKS, si applicano le seguenti condizioni:

  • In data 26 marzo 2020 o successiva. Gli indirizzi IPv4 pubblici vengono assegnati automaticamente dalle sottoreti pubbliche ai nuovi nodi implementati nelle sottoreti pubbliche.

  • Prima del 26 marzo 2020: gli indirizzi IPv4 pubblici non vengono assegnati automaticamente dalle sottoreti pubbliche ai nuovi nodi implementati nelle sottoreti pubbliche.

Questa modifica influisce sui nuovi gruppi di nodi implementati nelle sottoreti pubbliche nei modi seguenti:

Considerazioni e requisiti relativi alle sottoreti condivisi

È possibile utilizzare la Condivisione VPC per condividere sottoreti con altri account AWS all’interno delle stesse organizzazioni AWS. È possibile creare cluster Amazon EKS in sottoreti condivise, tenendo a mente le seguenti considerazioni:

  • Il proprietario della sottorete VPC deve condividere una sottorete con un account partecipante prima che tale account possa creare un cluster Amazon EKS al suo interno.

  • Non è possibile avviare le risorse utilizzando il gruppo di sicurezza predefinito per il VPC, in quanto questo appartiene al proprietario. Inoltre, i partecipanti non possono avviare le risorse utilizzando i gruppi di sicurezza di proprietà di altri partecipanti o del proprietario.

  • In una sottorete condivisa, il partecipante e il proprietario controllano separatamente i gruppi di sicurezza all'interno di ciascun account. Il proprietario della sottorete può visualizzare i gruppi di sicurezza che sono stati creati dai partecipanti, ma non può eseguire operazioni sugli stessi. Se il proprietario della sottorete desidera rimuovere o modificare questi gruppi di sicurezza, è il partecipante che ha creato il gruppo di sicurezza che deve eseguire l'operazione.

  • Se un cluster viene creato da un partecipante, valgono le seguenti considerazioni:

  • Il proprietario del VPC condiviso non può visualizzare, aggiornare o eliminare un cluster creato da un partecipante nella sottorete condivisa. Ciò si aggiunge alle risorse VPC alle quali ogni account ha un accesso diverso. Per ulteriori informazioni, consulta la sezione Responsabilità e autorizzazioni per proprietari e partecipanti nella Guida per l'utente di Amazon VPC.

  • Se si utilizza la funzionalità rete personalizzata del plugin CNI di Amazon VPC, è necessario utilizzare le mappature degli ID delle zone di disponibilità elencate nell’account del proprietario per creare ciascun ENIConfig. Per ulteriori informazioni, consulta Implementazione dei pod in sottoreti alternative con reti personalizzate.

Per ulteriori informazioni sulla condivisione delle sottoreti VPC, consulta la pagina Condivisione del VPC con altri account nella Guida per l'utente di Amazon VPC.