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.
Per creare un provider di identità IAM OIDC per il cluster
Il cluster ha un URL emittente OpenID Connect
-
Un cluster Amazon EKS esistente. Per implementarne uno, consulta Nozioni di base su Amazon EKS.
-
La versione
2.12.3o successiva oppure la versione1.27.160o successiva dell’interfaccia a riga di comando AWS (AWS CLI) installata e configurata sul dispositivo o AWS CloudShell. Per verificare la versione attuale, usaaws --version | cut -d / -f2 | cut -d ' ' -f1. I programmi di gestione dei pacchetti, comeyum,apt-geto Homebrew per macOS, spesso sono aggiornati a versioni precedenti dell’AWS CLI. Per installare la versione più recente, consulta Installing e Quick configuration with aws configure della Guida per l’utente dell’Interfaccia della linea di comando AWS. La versione della AWS CLI installata in AWS CloudShell potrebbe anche essere precedente di diverse versioni rispetto alla più recente. Per aggiornarla, consultare la pagina Installing AWS CLI to your home directory della Guida per l’utente di AWS CloudShell. -
Lo strumento a riga di comando
kubectlè installato sul dispositivo o su AWS CloudShell. La versione può essere la stessa o immediatamente precedente o successiva alla versione Kubernetes del cluster. Ad esempio, se la versione del cluster è1.29, puoi usarekubectlversione1.28,1.29o1.30. Per installare o aggiornarekubectl, consulta Impostazione di kubectl e eksctl: -
Un file
kubectlconfigesistente che contiene la configurazione del cluster. Per creare un filekubectlconfig, consulta Connettere kubectl a un cluster EKS creando un file kubeconfig.
È possibile creare un gestore OIDC IAM per il cluster utilizzando eksctl o la Console di gestione AWS.
Creare un gestore OIDC (eksctl)
-
La versione
0.214.0o successive dello strumento a riga di comandoeksctldeve essere installata sul dispositivo o su AWS CloudShell. Per l'installazione o l'aggiornamento dieksctl, consulta la sezione Installationnella documentazione di eksctl. -
Determinare l’ID dell’emittente OIDC per il cluster.
Recuperare gli ID dell’emittente OIDC del cluster e archiviarlo in una variabile. Sostituire
<my-cluster>con il proprio valore.cluster_name=<my-cluster> oidc_id=$(aws eks describe-cluster --name $cluster_name --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5) echo $oidc_id -
Determinare se un gestore OIDC IAM con l’ID del cluster è già presente nell’account.
aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4Se viene restituito un output, il cluster dispone già di un gestore OIDC IAM ed è possibile saltare al passaggio successivo. Se non viene restituito alcun output, devi creare un provider OIDC IAM per il cluster.
-
Creare un provider di identità OIDC IAM per il cluster con il comando seguente.
eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approveNota
Se è stato abilitato l’endpoint VPC EKS, non è possibile accedere all’endpoint del servizio OIDC EKS dall’interno di tale VPC. Di conseguenza, operazioni come la creazione di un gestore OIDC con
eksctlnel VPC non funzioneranno e comporteranno un timeout. Segue un messaggio di errore di esempio:** server cant find oidc.eks.<region-code>.amazonaws.com: NXDOMAIN
Per completare questo passaggio, è possibile eseguire il comando all’esterno del VPC, ad esempio in AWS CloudShell o su un computer connesso a Internet. In alternativa, puoi creare un resolver condizionale di tipo split-horizon nel VPC, come il risolutore Route 53, per utilizzare un resolver diverso per l’URL emittente OIDC e non utilizzare il DNS VPC. Per un esempio di inoltro condizionale in CoreDNS, consultare questa richiesta di funzionalità Amazon EKS
su GitHub.
Creare un gestore OIDC (Console AWS)
-
Aprire la Console Amazon EKS
. -
Nel riquadro a sinistra, seleziona Cluster, quindi seleziona il nome del cluster nella pagina Cluster.
-
Nella sezione Dettagli della scheda Panoramica, annota il valore dell'URL del provider OpenID Connect.
-
Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione, scegli Identity Providers (Provider di identità) in Access management (Gestione accesso). Se un Provider nell'elenco corrisponde all'URL del cluster, significa che si dispone già di un provider per il cluster. Se nell’elenco non è presente un gestore che corrisponde all’URL del cluster, è necessario crearne uno.
-
Per creare un provider, selezionare Aggiungi provider.
-
Per Tipo di provider, selezionare OpenID Connect.
-
Per URL provider, inserire l’URL del gestore OIDC del cluster.
-
Per Destinatari, inserisci
sts.amazonaws.com -
(Facoltativo) Aggiungere eventuali tag, ad esempio un tag per identificare quale cluster è assegnato a questo gestore.
-
Scegli Aggiungi provider.
Fase successiva: Assegnare ruoli IAM agli account di servizio Kubernetes