Connessione kubectl a un EKS cluster 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à.

Connessione kubectl a un EKS cluster creando un kubeconfig file

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

Lo strumento kubectl da riga di comando utilizza le informazioni di configurazione nei kubeconfig file per comunicare con il API server di un cluster. Per ulteriori informazioni, vedere Organizzazione dell'accesso al cluster utilizzando i file kubeconfig nel Kubernetes documentazione.

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

aws sts get-caller-identity
Prerequisiti
  • Un EKS cluster Amazon 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 la stessa o fino a una versione secondaria precedente o successiva alla Kubernetes versione del cluster. Ad esempio, se la versione del cluster è 1.30, puoi usare kubectl versione 1.29, 1.30 o 1.31. 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. Package manager come yumapt-get, o Homebrew for macOS sono spesso presenti diverse versioni precedenti alla versione più recente di AWS CLI. Per installare la versione più recente, vedere Installazione, aggiornamento e disinstallazione di AWS CLI e Configurazione rapida con aws configure nella Guida per l'utente di 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 IAM utente o un ruolo con l'autorizzazione a utilizzare l'eks:DescribeClusterAPIazione per il cluster specificato. Per ulteriori informazioni, consulta Esempi di policy EKS basate sull'identità di Amazon. Se utilizzi un'identità personale OpenID Connect provider per accedere al cluster, quindi vedi Utilizzo kubectl in Kubernetes documentazione per creare o aggiornare il kube config file.

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. Package manager come yumapt-get, o Homebrew for macOS sono spesso presenti diverse versioni precedenti alla versione più recente di AWS CLI. Per installare la versione più recente, vedere Installazione, aggiornamento e disinstallazione di AWS CLI e Configurazione rapida con aws configure nella Guida per l'utente di 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.

  • eks:DescribeClusterAPIAutorizzazione a utilizzare l'azione per il cluster specificato. Per ulteriori informazioni, consulta Esempi di policy EKS basate sull'identità di Amazon.

Per creare il tuo kubeconfig file con AWS CLI
  1. Crea o aggiorna un file kubeconfig per il cluster. Sostituisci region-code con quello in Regione AWS cui si trova il cluster e sostituiscilo 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.

    È possibile specificare un IAM ruolo ARN con l'--role-arnopzione da utilizzare per l'autenticazione quando si impartiscono i kubectl comandi. In caso contrario, viene utilizzato il IAMprincipale nella catena di SDK credenziali AWS CLI o predefinita. È possibile visualizzare il valore predefinito AWS CLI o SDK l'identità eseguendo il aws sts get-caller-identity comando.

    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.