View a markdown version of this page

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

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

Connettere kubectl a un cluster EKS creando un file kubeconfig

Suggerimento

Registrati per i prossimi workshop Amazon EKS.

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 nella documentazione di Kubernetes.

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

aws sts get-caller-identity
  • Un cluster Amazon EKS esistente. Per implementarne uno, consulta Nozioni di base su 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 di 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 Configura kubectl ed eksctl :

  • Versione 2.12.3 o successiva o versione 1.27.160 o successiva dell'interfaccia a riga di AWS comando (AWS CLI) installata e configurata sul dispositivo o. AWS CloudShell Per verificare la versione attuale, usa aws --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.

  • 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 Connectper accedere al cluster, consulta la sezione Using kubectl nella documentazione di Kubernetes per creare o aggiornare il file kubeconfig.

Connettiti usando la console EKS () CloudShell

È possibile connettersi al cluster direttamente dall'utente Console di gestione AWS AWS CloudShell, senza alcuna configurazione locale.

  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home #/clusters.

  2. Scegli il nome del cluster a cui vuoi connetterti.

  3. Nella pagina dei dettagli del cluster, scegli Connetti dalla barra delle azioni in alto a destra.

  4. AWS CloudShell si apre con una kubectl configurazione preconfigurata per il cluster.

Una volta connesso, puoi eseguire kubectl i comandi immediatamente:

kubectl get nodes kubectl get pods -A

CloudShell le sessioni includono kubectl la AWS CLI e le CloudShell utilità standard. Questa funzionalità supporta cluster con endpoint di server API pubblici e privati. Per i cluster con endpoint privati, avvia CloudShell automaticamente un ambiente VPC per raggiungere il server API privato del cluster e richiede di inserire un nome per l'ambiente.

Crea il file kubeconfig usando AWS CLI

  • Versione 2.12.3 o successiva o versione 1.27.160 o successiva dell'interfaccia a riga di AWS comando (AWS CLI) installata e configurata sul dispositivo o. AWS CloudShell Per verificare la versione attuale, usa aws --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.

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

    1. Crea o aggiorna un file kubeconfig per il cluster. Sostituiscilo region-code con la AWS regione in cui si trova il cluster e sostituiscilo my-cluster con il nome del 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 utilizzata l'entità IAM nella catena di credenziali AWS CLI o SDK predefinita. Puoi visualizzare la tua identità AWS CLI o SDK predefinita eseguendo il comando. aws sts get-caller-identity

      Per tutte le opzioni disponibili, esegui il aws eks update-kubeconfig help comando o consulta https://docs.aws.amazon.com/cli/latest/reference/eks/update-kubeconfig.html update-kubeconfig nella CLI Command Reference. AWS

    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 non autorizzato o negato (kubectl) nell’argomento relativo alla risoluzione dei problemi.