Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione del VPC
VPC dedicato per cluster
Per impostazione predefinita, eksctl create cluster creerà un VPC dedicato per il cluster. Questo viene fatto per evitare interferenze con le risorse esistenti per una serie di motivi, tra cui la sicurezza, ma anche perché è difficile rilevare tutte le impostazioni in un VPC esistente.
-
Il VPC CIDR predefinito utilizzato da è.
eksctl192.168.0.0/16-
È diviso in 8 (
/19) sottoreti (3 private, 3 pubbliche e 2 riservate).
-
-
Il nodegroup iniziale viene creato in sottoreti pubbliche.
-
L'accesso SSH è disabilitato a meno che non sia specificato.
--allow-ssh -
Per impostazione predefinita, il nodegroup consente il traffico in entrata dal gruppo di sicurezza del piano di controllo sulle porte 1025 - 65535.
Nota
In us-east-1 eksctl crea solo 2 sottoreti pubbliche e 2 private per impostazione predefinita.
Cambia VPC CIDR
Se devi configurare il peering con un altro VPC o semplicemente hai bisogno di un intervallo più o meno ampio IPs di, puoi --vpc-cidr usare flag per cambiarlo. Consulta i documenti AWS per le guide sulla scelta dei blocchi CIDR consentiti per l'uso in un VPC AWS.
Se stai creando un IPv6 cluster, puoi configurarlo VPC.IPv6Cidr nel file di configurazione del cluster. Questa impostazione è solo nel file di configurazione, non in un flag CLI.
Se possiedi un blocco di indirizzi IPv6 IP, puoi anche creare un pool tutto tuo. IPv6 Vedi Bring your own IP address (BYOIP) EC2 su Amazon per informazioni su come importare il tuo pool. Quindi usa il file VPC.IPv6Cidr di configurazione del cluster per configurare Eksctl.
Usa un VPC esistente: condiviso con kops
Puoi utilizzare il VPC di un cluster Kubernetes esistente gestito da kops.
Se in precedenza hai creato un cluster con kops, ad esempio utilizzando comandi simili a questo:
export KOPS_STATE_STORE=s3://kops kops create cluster cluster-1.k8s.local --zones=us-west-2c,us-west-2b,us-west-2a --networking=weave --yes
È possibile creare un cluster EKS nello stesso AZs utilizzando le stesse sottoreti VPC (NOTA: ne sono necessarie almeno 2 AZs/subnets ):
eksctl create cluster --name=cluster-2 --region=us-west-2 --vpc-from-kops-cluster=cluster-1.k8s.local
Usa VPC esistente: altra configurazione personalizzata
eksctloffre una certa flessibilità, ma non completa, per topologie VPC e sottoreti personalizzate.
È possibile utilizzare un VPC esistente fornendo sottoreti and/or pubbliche private utilizzando i flag and. --vpc-private-subnets --vpc-public-subnets Spetta all'utente assicurarsi che le sottoreti utilizzate siano classificate correttamente, poiché non esiste un modo semplice per verificare se una sottorete sia effettivamente privata o pubblica, poiché le configurazioni variano.
Dati questi flag, eksctl create cluster determinerà automaticamente l'ID VPC, ma non creerà tabelle di routing o altre risorse, come i gateway. internet/NAT Tuttavia, creerà gruppi di sicurezza dedicati per il nodegroup iniziale e il piano di controllo.
È necessario assicurarsi di fornire almeno 2 sottoreti diverse AZs e questa condizione viene verificata da EKS. Se utilizzi un VPC esistente, i seguenti requisiti non vengono applicati o controllati da EKS o Eksctl e EKS crea il cluster. Alcune funzioni di base del cluster funzionano senza questi requisiti. (Ad esempio, il tagging non è strettamente necessario, i test hanno dimostrato che è possibile creare un cluster funzionale senza alcun tag impostato nelle sottoreti, tuttavia non vi è alcuna garanzia che ciò sia sempre valido e l'etichettatura è consigliata.)
Requisiti standard:
-
tutte le sottoreti specificate devono trovarsi nello stesso VPC, all'interno dello stesso blocco di IPs
-
è disponibile un numero sufficiente di indirizzi IP, in base alle esigenze
-
un numero sufficiente di sottoreti (minimo 2), in base alle esigenze
-
le sottoreti sono etichettate con almeno quanto segue:
-
kubernetes.io/cluster/<name>tag impostato su uno osharedowned -
kubernetes.io/role/internal-elbtag impostato su1per le sottoreti private -
kubernetes.io/role/elbtag impostato su1per le sottoreti pubbliche
-
-
gateway NAT Internet and/or configurati correttamente
-
le tabelle di routing hanno le voci corrette e la rete è funzionante
-
NOVITÀ: tutte le sottoreti pubbliche devono avere la proprietà
MapPublicIpOnLaunchabilitata (ad esempioAuto-assign public IPv4 addressnella console AWS). I gruppi di nodi gestiti e Fargate non assegnano IPv4 indirizzi pubblici, la proprietà deve essere impostata nella sottorete.
Potrebbero esserci altri requisiti imposti da EKS o Kubernetes e sta interamente a te attenerti a qualsiasi requisito. up-to-date and/or recommendations, and implement those as needed/possible
Le impostazioni predefinite dei gruppi di sicurezza applicate da eksctl possono o meno essere sufficienti per condividere l'accesso con le risorse di altri gruppi di sicurezza. Se desideri modificare le ingress/egress regole dei gruppi di sicurezza, potrebbe essere necessario utilizzare un altro strumento per automatizzare le modifiche o farlo tramite EC2 console.
In caso di dubbio, non utilizzare un VPC personalizzato. L'utilizzo eksctl create cluster senza --vpc-* flag configurerà sempre il cluster con un VPC dedicato completamente funzionale.
Esempi
Crea un cluster utilizzando un VPC personalizzato con 2 sottoreti private e 2 pubbliche:
eksctl create cluster \ --vpc-private-subnets=subnet-0ff156e0c4a6d300c,subnet-0426fb4a607393184 \ --vpc-public-subnets=subnet-0153e560b3129a696,subnet-009fa0199ec203c37
oppure usa il seguente file di configurazione equivalente:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-test region: us-west-2 vpc: id: "vpc-11111" subnets: private: us-west-2a: id: "subnet-0ff156e0c4a6d300c" us-west-2c: id: "subnet-0426fb4a607393184" public: us-west-2a: id: "subnet-0153e560b3129a696" us-west-2c: id: "subnet-009fa0199ec203c37" nodeGroups: - name: ng-1
Crea un cluster utilizzando un VPC personalizzato con 3 sottoreti private e fai in modo che il nodegroup iniziale utilizzi quelle sottoreti:
eksctl create cluster \ --vpc-private-subnets=subnet-0ff156e0c4a6d300c,subnet-0549cdab573695c03,subnet-0426fb4a607393184 \ --node-private-networking
oppure usa il seguente file di configurazione equivalente:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-test region: us-west-2 vpc: id: "vpc-11111" subnets: private: us-west-2d: id: "subnet-0ff156e0c4a6d300c" us-west-2c: id: "subnet-0549cdab573695c03" us-west-2a: id: "subnet-0426fb4a607393184" nodeGroups: - name: ng-1 privateNetworking: true
Crea un cluster utilizzando una sottorete pubblica VPC 4x personalizzata:
eksctl create cluster \ --vpc-public-subnets=subnet-0153e560b3129a696,subnet-0cc9c5aebe75083fd,subnet-009fa0199ec203c37,subnet-018fa0176ba320e45
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-test region: us-west-2 vpc: id: "vpc-11111" subnets: public: us-west-2d: id: "subnet-0153e560b3129a696" us-west-2c: id: "subnet-0cc9c5aebe75083fd" us-west-2a: id: "subnet-009fa0199ec203c37" us-west-2b: id: "subnet-018fa0176ba320e45" nodeGroups: - name: ng-1
Altri esempi possono essere trovati nella cartella del repository: examples
Gruppo di sicurezza dei nodi condivisi personalizzato
eksctlcreerà e gestirà un gruppo di sicurezza dei nodi condivisi che consente la comunicazione tra i nodi non gestiti e il piano di controllo del cluster e i nodi gestiti.
Se invece desideri fornire il tuo gruppo di sicurezza personalizzato, puoi sovrascrivere il sharedNodeSecurityGroup campo nel file di configurazione:
vpc: sharedNodeSecurityGroup: sg-0123456789
Per impostazione predefinita, durante la creazione del cluster, eksctl aggiungerà regole a questo gruppo di sicurezza per consentire la comunicazione da e verso il gruppo di sicurezza del cluster predefinito creato da EKS. Il gruppo di sicurezza del cluster predefinito viene utilizzato sia dal piano di controllo EKS che dai gruppi di nodi gestiti.
Se desideri gestire tu stesso le regole del gruppo di sicurezza, puoi evitare eksctl di creare le regole manageSharedNodeSecurityGroupRules impostando false nel file di configurazione su:
vpc: sharedNodeSecurityGroup: sg-0123456789 manageSharedNodeSecurityGroupRules: false
Gateway NAT
Il gateway NAT per un cluster può essere configurato comeDisable, Single (impostazione predefinita) o. HighlyAvailable L'HighlyAvailableopzione implementerà un gateway NAT in ogni zona di disponibilità della regione, in modo che, se una zona di disponibilità non funziona, i nodi dell'altra AZs siano ancora in grado di comunicare con Internet.
Può essere specificato tramite il flag --vpc-nat-mode CLI o nel file di configurazione del cluster come nell'esempio seguente:
vpc: nat: gateway: HighlyAvailable # other options: Disable, Single (default)
Guarda l'esempio completo qui.
Nota
La specificazione del gateway NAT è supportata solo durante la creazione del cluster. Non viene toccato durante un aggiornamento del cluster.