Connessione di un cluster esterno - Amazon EKS

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 di un cluster esterno

È possibile collegare un cluster Kubernetes esterno ad Amazon EKS utilizzando più metodi, come illustrato nel seguente processo. Questo processo prevede due passaggi: registrare il cluster con Amazon EKS e installare l'agente eks-connector nel cluster.

Importante

È necessario completare il secondo passaggio entro 3 giorni dal completamento del primo passaggio, ossia prima che la registrazione scada.

Metodi di connessione

Non tutti i metodi di installazione dell'agente possono essere utilizzati dopo ciascuno dei metodi di registrazione del cluster. Nella tabella seguente sono elencati tutti i metodi di registrazione e i metodi di installazione dell'agente che è possibile utilizzare.

Fase Metodi
Registrazione del cluster AWS Management Console AWS Command Line Interface eksctl
Installare l'agente Helm, manifesti YAML Helm, manifesti YAML Manifesti YAML

Prerequisiti

  • Assicurati di avere creato il ruolo agente del connettore Amazon EKS. Seguire la procedura riportata in Creazione del ruolo agente di Amazon EKS Connector.

  • È necessario disporre delle autorizzazioni seguenti per registrare un cluster:

    • eks:RegisterCluster

    • ssm:CreateActivation

    • ssm:DeleteActivation

    • iam:PassRole

Fase 1: Registrazione del cluster

AWS CLI
Prerequisiti
Registrazione del cluster con la AWS CLI
  • Per la configurazione del plug-in, specificare il ruolo IAM dell'agente Amazon EKS Connector. Per ulteriori informazioni, consulta Ruoli IAM richiesti per Amazon EKS Connector.

    aws eks register-cluster \ --name my-first-registered-cluster \ --connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider="OTHER" \ --region aws-region

    Di seguito viene riportato un output di esempio:

    { "cluster": { "name": "my-first-registered-cluster", "arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster", "createdAt": 1627669203.531, "ConnectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": 1627672543.0, "provider": "OTHER", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" }, "status": "CREATING" } }

    I valori aws-region, activationId, e activationCode verranno utilizzati nel prossimo passaggio.

AWS Management Console
Per registrare il cluster Kubernetes con la console.
  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home#/clusters.

  2. Scegli Add cluster (Aggiungi cluster) e seleziona Register (Registra) per visualizzare la pagina di configurazione.

  3. Nella pagina Configura cluster compilare i campi riportati di seguito:

    • Nome: un nome univoco per il cluster.

    • Provider: scegli per visualizzare l'elenco a discesa dei provider del cluster Kubernetes. Se non si conosce il provider specifico, selezionare Altro.

    • Ruolo plug-in EKS: selezionare il ruolo da utilizzare per la connessione del cluster.

  4. Selezionare Registra cluster.

  5. Viene visualizzata la pagina Panoramica del cluster. Se desideri utilizzare il grafico Helm, copia il comando helm install e prosegui con il passaggio successivo. Se desideri utilizzare il manifesto YAML, scegli Scarica file YAML per scaricare il file manifesto sull'unità locale.

    Importante
    • Questa è l'unica occasione per copiare il comando helm install o eseguire il download di questo file. Non uscire da questa pagina, poiché il collegamento non sarà accessibile e sarà necessario annullare la registrazione del cluster e riavviare i passaggi dall'inizio.

    • Il comando o il file manifesto può essere utilizzato una sola volta per il cluster registrato. Se elimini risorse dal cluster Kubernetes, dovrai registrare nuovamente il cluster e ottenere un nuovo file manifesto.

    Passa alla fase successiva per applicare il file manifesto al cluster Kubernetes.

eksctl
Prerequisiti
Registrazione del cluster con eksctl
  1. Registra il cluster fornendo un nome, un provider e una regione.

    eksctl register cluster --name my-cluster --provider my-provider --region region-code

    Output di esempio:

    2021-08-19 13:47:26 [ℹ]  creating IAM role "eksctl-20210819194112186040"
    2021-08-19 13:47:26 [ℹ]  registered cluster "<name>" successfully
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector.yaml to <current directory>
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-clusterrole.yaml to <current directory>
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory>
    2021-08-19 13:47:26 [!]  note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info
    2021-08-19 13:47:26 [ℹ]  run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster
                                

    In questo modo vengono creati file sul computer locale. Questi file devono essere applicati al cluster esterno entro 3 giorni; in caso contrario, la registrazione scade.

  2. In un terminale in grado di accedere al cluster, applica il file eks-connector-binding.yaml:

    kubectl apply -f eks-connector-binding.yaml

Passaggio 2: installazione dell'agente eks-connector

Helm chart
  1. Se nel passaggio precedente hai utilizzato la AWS CLI, sostituisci i valori di ACTIVATION_CODE e ACTIVATION_ID nel seguente comando rispettivamente con i valori activationId e activationCode. Sostituisci aws-region con la Regione AWS utilizzata nella fase precedente. Dopodiché, esegui il comando seguente per installare l'agente eks-connector nel cluster in fase di registrazione:

    $ helm install eks-connector \ --namespace eks-connector \ oci://public.ecr.aws/eks-connector/eks-connector-chart \ --set eks.activationCode=ACTIVATION_CODE \ --set eks.activationId=ACTIVATION_ID \ --set eks.agentRegion=aws-region

    Se nel passaggio precedente hai utilizzato la AWS Management Console, utilizza il comando copiato in tale passaggio inserendovi questi valori.

  2. Verifica l'integrità dell'implementazione del eks-connector installato e attendi che lo stato del cluster registrato in Amazon EKS diventi ACTIVE.

YAML manifest

Completa la connessione applicando il file manifesto di Amazon EKS Connector al tuo cluster Kubernetes. A tale scopo, è necessario utilizzare i metodi descritti in precedenza. Se il manifesto non viene applicato entro tre giorni, la registrazione di Amazon EKS Connector scade. Se la connessione al cluster scade, la registrazione del cluster deve essere annullata prima di poterlo connettere nuovamente.

  1. Eseguire il download del file YAML di Amazon EKS Connector.

    curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
  2. Modifica il file YAML del connettore Amazon EKS per sostituire tutti i riferimenti di %AWS_REGION%, %EKS_ACTIVATION_ID% e %EKS_ACTIVATION_CODE% con i valori aws-region, activationId, e activationCode dell'output del passaggio precedente.

    Il comando di esempio seguente può sostituire questi valori.

    sed -i "s~%AWS_REGION%~$aws-region~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE | base64)~g" eks-connector.yaml
    Importante

    Assicurarsi che il codice di attivazione sia in formato base64.

  3. In un terminale dotato di accesso al cluster, è possibile applicare il file manifesto aggiornato eseguendo il seguente comando:

    kubectl apply -f eks-connector.yaml
  4. Dopo aver applicato il manifesto di Amazon EKS Connector e i file YAML di associazione al ruolo al cluster Kubernetes, verifica che il cluster sia connesso.

    aws eks describe-cluster \ --name "my-first-registered-cluster" \ --region AWS_REGION

    L'output deve includere status=ACTIVE.

  5. (Facoltativo) Assegna tag al cluster. Per ulteriori informazioni, consulta Assegnazione di tag alle risorse Amazon EKS.

Passaggi successivi

In caso di problemi con questi passaggi, consulta la pagina Risoluzione dei problemi in Amazon EKS Connector.

Per concedere a principali IAM aggiuntivi l'accesso alla console Amazon EKS al fine di visualizzare le risorse Kubernetes in un cluster connesso, consulta Concessione dell'accesso a un principale IAM per la visualizzazione delle risorse Kubernetes in un cluster.