Contribuisci a migliorare questa pagina
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à.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina su che si trova nel riquadro destro di ogni pagina.
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à.
Per creare un provider di identità IAM OIDC per il cluster
Il cluster ha un URL emittente OpenID Connect
Prerequisiti
-
Un cluster Amazon EKS esistente. Per implementarne uno, consulta Nozioni di base su Amazon EKS.
-
Versione
2.12.3o successiva o versione1.27.160o successiva dell'interfaccia a riga di AWS comando (AWS CLI) installata e configurata sul dispositivo oppure. AWS CloudShell Per verificare la versione attuale, usaaws --version | cut -d / -f2 | cut -d ' ' -f1. I gestori di pacchetti comeyum,apt-get, o Homebrew per macOS sono spesso diverse versioni inferiori all'ultima versione della CLI. AWS Per installare la versione più recente, consulta Installazione e configurazione rapida con aws configure nella Guida per l'utente dell'interfaccia a riga di AWS comando. La versione AWS CLI installata AWS CloudShell potrebbe inoltre essere inferiore a quella più recente. Per aggiornarla, vedi Installazione della AWS CLI nella tua home directory nella Guida per l' AWS CloudShell utente. -
Lo strumento a riga di comando
kubectlè installato sul dispositivo o AWS CloudShell. La versione può essere uguale oppure immediatamente precedente o successiva alla versione di Kubernetes del cluster. Ad esempio, se la versione del cluster è1.29, puoi usarekubectlversione1.28,1.29o1.30. Per installare o aggiornarekubectl, consulta Configura kubectl ed 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.215.0o quelle successive dello strumento a riga di comandoeksctldeve essere installata sul dispositivo o nella 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 il VPC del cluster non ha accesso a Internet in uscita e non hai impostato l'accesso privato all'endpoint OIDC del cluster, le operazioni che raggiungono quell'endpoint dall'interno del VPC, come la creazione di un provider OIDC con, non possono risolvere il nome host dell'emittente OIDC.
eksctlSegue un messaggio di errore di esempio:** server cant find oidc.eks.<region-code>.amazonaws.com: NXDOMAIN
Per raggiungere l'endpoint OIDC del cluster privatamente dal tuo VPC, crea un endpoint di interfaccia VPC per esso (
com.amazonaws.<region-code>.oidc-eks) con DNS privato abilitato. Per ulteriori informazioni, consulta Accedere all'endpoint OIDC del cluster utilizzando. AWS PrivateLink
In alternativa, puoi eseguire il comando all'esterno del VPC (ad esempio, in AWS CloudShell) o creare un resolver condizionale split-horizon. Per un esempio, consulta la richiesta di funzionalità di Amazon EKS su. https://github.com/aws/containers-roadmap/issues/2038
Crea un provider OIDC (AWS Console)
-
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