Connect kubectl a un cluster EKS creando un kubeconfig file - Amazon EKS

Aiutaci a migliorare questa pagina

Vuoi contribuire a questa guida per l'utente? Scorri fino alla fine di questa pagina e seleziona Modifica questa pagina su GitHub. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.

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à.

Connect kubectl a un cluster EKS creando un kubeconfig file

In questo argomento viene creato un file kubeconfig per il cluster (o ne viene aggiornato uno esistente).

Lo strumento della linea di comando kubectl utilizza le informazioni di configurazione nei file kubeconfig per comunicare con il server API di un cluster. Per ulteriori informazioni, consulta la sezione Organizing Cluster Access Using kubeconfig Files (Organizzazione dell'accesso ai cluster utilizzando i file kubeconfig) nella documentazione di Kubernetes.

Amazon EKS utilizza il comando aws eks get-token con kubectl per l'autenticazione del cluster. Per impostazione predefinita, AWS CLI utilizza le stesse credenziali restituite con il comando seguente:

aws sts get-caller-identity
Prerequisiti
  • Un cluster Amazon EKS esistente. Per implementarne uno, consulta Inizia a usare Amazon EKS.

  • 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 Kubernetes del cluster. Ad esempio, se la versione del cluster è 1.29, puoi usare kubectl versione 1.28, 1.29 o 1.30. Per installare o aggiornare kubectl, consulta Configurazione kubectl e eksctl:

  • Versione 2.12.3 o successiva o versione 1.27.160 o successiva di AWS Command Line Interface (AWS CLI) installato e configurato sul dispositivo o AWS CloudShell. Per verificare la versione attuale, usa aws --version | cut -d / -f2 | cut -d ' ' -f1. I programmi di gestione dei pacchetti, come yum, apt-get o Homebrew per macOS, spesso sono aggiornati a versioni precedenti della AWS CLI. Per installare la versione più recente, consulta le sezioni Installazione, aggiornamento e disinstallazione della AWS CLI e Configurazione rapida con aws configure nella Guida per l'utente dell'AWS Command Line Interface . La AWS CLI versione installata in AWS CloudShell potrebbe anche contenere diverse versioni precedenti alla versione più recente. Per aggiornarla, consulta Installazione nella home directory nella Guida AWS CLI per l'AWS CloudShell utente.

  • Un ruolo o un utente IAM con l'autorizzazione a utilizzare l'azione API eks:DescribeCluster per il cluster che specifichi. Per ulteriori informazioni, consulta Esempi di policy basate su identità Amazon EKS. Se utilizzi un'identità del tuo provider OpenID Connect per accedere al cluster, consulta la sezione Using kubectl nella documentazione di Kubernetes per creare o aggiornare il file kube config.

Creazione automatica del file kubeconfig

Prerequisiti
  • Versione 2.12.3 o successiva o versione 1.27.160 o successiva di AWS Command Line Interface (AWS CLI) installato e configurato sul dispositivo o AWS CloudShell. Per verificare la versione attuale, usa aws --version | cut -d / -f2 | cut -d ' ' -f1. I programmi di gestione dei pacchetti, come yum, apt-get o Homebrew per macOS, spesso sono aggiornati a versioni precedenti della AWS CLI. Per installare la versione più recente, consulta le sezioni Installazione, aggiornamento e disinstallazione della AWS CLI e Configurazione rapida con aws configure nella Guida per l'utente dell'AWS Command Line Interface . La AWS CLI versione installata in AWS CloudShell potrebbe anche contenere diverse versioni precedenti alla versione più recente. Per aggiornarla, consulta Installazione nella home directory nella Guida AWS CLI per l'AWS CloudShell utente.

  • Autorizzazione a utilizzare l'operazione API eks:DescribeCluster per il cluster specificato. Per ulteriori informazioni, consulta Esempi di policy basate su identità Amazon EKS.

Per creare il kubeconfig file con AWS CLI
  1. Crea o aggiorna un file kubeconfig per il cluster. Sostituisci il codice regionale us-iso-east con Regione AWS quello in cui si trova il tuo cluster e sostituisci my-cluster con il nome del tuo cluster.

    aws eks update-kubeconfig --region region-code --name my-cluster

    Per impostazione predefinita, il file di configurazione risultante viene creato nel percorso kubeconfig predefinito (.kube) nella home directory o unito a un file config esistente in quel percorso. È possibile specificare un altro percorso con l'opzione --kubeconfig.

    Puoi specificare un ARN del ruolo IAM con l'opzione --role-arn da utilizzare per l'autenticazione quando esegui comandi kubectl. Altrimenti, viene utilizzato il principale IAM nella catena di credenziali predefinita AWS CLI o SDK. Puoi visualizzare la tua identità predefinita AWS CLI o SDK eseguendo il comando. aws sts get-caller-identity

    Per tutte le opzioni disponibili, esegui il comando aws eks update-kubeconfig help o consulta la sezione update-kubeconfig nella Documentazione di riferimento ai comandi della AWS CLI .

  2. Prova la configurazione.

    kubectl get svc

    Di seguito viene riportato un output di esempio:

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

    Se ricevi qualsiasi altro errore di tipo di risorsa o autorizzazione, consulta la sezione Accesso negato o non autorizzato (kubectl) nell'argomento relativo alla risoluzione dei problemi.