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à.
Accesso al cluster
Gestione dell'accesso agli endpoint del server API Kubernetes
Per impostazione predefinita, un cluster EKS espone il server API Kubernetes pubblicamente ma non direttamente dall'interno delle sottoreti VPC (public=true, private=false). Il traffico destinato al server API dall'interno del VPC deve prima uscire dalle reti VPC (ma non dalla rete di Amazon) e quindi rientrare per raggiungere il server API.
L'accesso agli endpoint del server dell'API Kubernetes per un cluster può essere configurato per l'accesso pubblico e privato durante la creazione del cluster utilizzando il file di configurazione del cluster. Di seguito è riportato un esempio:
vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false>
Esistono alcune avvertenze aggiuntive durante la configurazione dell'accesso agli endpoint dell'API Kubernetes:
-
EKS non consente i cluster senza l'accesso privato o pubblico abilitato.
-
EKS consente di creare una configurazione che consente solo l'accesso privato, ma eksctl non la supporta durante la creazione del cluster in quanto impedisce a eksctl di unire i nodi di lavoro al cluster.
-
L'aggiornamento di un cluster per avere un accesso privato agli endpoint dell'API Kubernetes significa che i comandi Kubernetes, per impostazione predefinita (ad esempio
kubectl) e, possibilmenteeksctl delete cluster,eksctl utils write-kubeconfigil comandoeksctl utils update-kube-proxydevono essere eseguiti all'interno del VPC del cluster.-
Ciò richiede alcune modifiche a varie risorse AWS. Per ulteriori informazioni, consulta Cluster API Server Endpoint.
-
Puoi fornire
vpc.extraCIDRsche aggiungerà intervalli CIDR aggiuntivi a ControlPlaneSecurityGroup, consentendo alle sottoreti esterne al VPC di raggiungere l'endpoint dell'API Kubernetes. Allo stesso modo puoi provvedere ad aggiungere anche intervalli CIDR.vpc.extraIPv6CIDRsIPv6
-
Di seguito è riportato un esempio di come è possibile configurare l'accesso agli endpoint dell'API Kubernetes utilizzando il sottocomando: utils
eksctl utils update-cluster-vpc-config --cluster=<clustername> --private-access=true --public-access=false
Per aggiornare l'impostazione utilizzando un file, usa: ClusterConfig
eksctl utils update-cluster-vpc-config -f config.yaml --approve
Nota che se non passi un flag, manterrà il valore corrente. Quando sei soddisfatto delle modifiche proposte, aggiungi il approve flag per apportare la modifica al cluster in esecuzione.
Limitazione dell'accesso all'endpoint dell'API pubblica EKS Kubernetes
La creazione predefinita di un cluster EKS espone pubblicamente il server API Kubernetes.
Questa funzionalità si applica solo all'endpoint pubblico. Le opzioni di configurazione dell'accesso agli endpoint del server API non cambieranno e avrai comunque la possibilità di disabilitare l'endpoint pubblico in modo che il cluster non sia accessibile da Internet. (Fonte: https://github.com/aws/ containers-roadmap/issues/108 #issuecomment -552766489)
Per limitare l'accesso all'endpoint dell'API pubblica a un set di durante la creazione di un cluster, imposta il campo: CIDRs publicAccessCIDRs
vpc: publicAccessCIDRs: ["1.1.1.1/32", "2.2.2.0/24"]
Per aggiornare le restrizioni su un cluster esistente, usa:
eksctl utils update-cluster-vpc-config --cluster=<cluster> 1.1.1.1/32,2.2.2.0/24
Per aggiornare le restrizioni utilizzando un ClusterConfig file, imposta il nuovo CIDRs in vpc.publicAccessCIDRs ed esegui:
eksctl utils update-cluster-vpc-config -f config.yaml
Importante
Se si impostano publicAccessCIDRs e si creano gruppi di nodi, è privateAccess necessario impostare su true o aggiungere i nodi IPs all'elenco. publicAccessCIDRs
Se i nodi non possono accedere all'endpoint dell'API del cluster a causa dell'accesso limitato, la creazione del cluster avrà esito negativo context deadline exceeded perché i nodi non saranno in grado di accedere all'endpoint pubblico e non riusciranno a unirsi al cluster.
Per aggiornare sia l'accesso agli endpoint del server API che l'accesso pubblico CIDRs per un cluster con un unico comando, esegui:
eksctl utils update-cluster-vpc-config --cluster=<cluster> --public-access=true --private-access=true --public-access-cidrs=1.1.1.1/32,2.2.2.0/24
Per aggiornare l'impostazione utilizzando un file di configurazione:
vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false> publicAccessCIDRs: ["1.1.1.1/32"]
eksctl utils update-cluster-vpc-config --cluster=<cluster> -f config.yaml