Contribuisci a migliorare questa pagina
Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.
Connettere un cluster Kubernetes esterno alla Console di gestione Amazon EKS
È 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.
Considerazioni
È possibile utilizzare i manifesti YAML durante l’installazione dell’agente. In alternativa, è possibile utilizzare Helm se si registra il cluster con la Console di gestione AWS o l’Interfaccia della linea di comando AWS. Tuttavia, non è possibile utilizzare Helm per installare l’agente se si registra il cluster con eksctl.
Prerequisiti
-
Assicurati di avere creato il ruolo agente del connettore Amazon EKS. Seguire i passaggi descritti alla pagina Creating the Amazon EKS connector agent role.
-
È necessario disporre delle autorizzazioni seguenti per registrare un cluster:
-
eks:RegisterCluster -
ssm:CreateActivation -
ssm:DeleteActivation -
iam:PassRole
-
Fase 1: Registrazione del cluster
Per registrare un cluster in Amazon EKS Connector, è possibile utilizzare uno dei seguenti strumenti:
CLI AWS
-
La AWS CLI deve essere installata. Per installarla o aggiornarla, consultare la pagina Installing the 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-regionDi 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, eactivationCodeverranno utilizzati nel prossimo passaggio.
Console di gestione AWS
-
Aprire la Console Amazon EKS
. -
Scegli Add cluster (Aggiungi cluster) e seleziona Register (Registra) per visualizzare la pagina di configurazione.
-
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.
-
-
Selezionare Registra cluster.
-
Viene visualizzata la pagina Panoramica del cluster. Se desideri utilizzare il grafico Helm, copia il comando
helm installe 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 installo eseguire il download di questo file. Non uscire da questa pagina, poiché il link 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 si eliminano risorse dal cluster Kubernetes, è necessario registrare nuovamente il cluster e ottenere un nuovo file manifesto.
Continua con la fase successiva per applicare il file manifesto al cluster Kubernetes.
eksctl
-
Deve essere installato
eksctlversione0.68o successiva. Per installarlo o aggiornarlo, consulta la pagina Nozioni di base su Amazon EKS: eksctl. -
Registra il cluster fornendo un nome, un provider e una regione.
eksctl register cluster --name my-cluster --provider my-provider --region region-codeOutput 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 clusterIn 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.
-
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
Per installare l’agente eks-connector, utilizzare uno dei seguenti strumenti:
Helm
Nota
Se il cluster è stato registrato con eksctl, utilizzare il metodo con manifesto YAML anziché il metodo con grafico Helm.
-
Se nel passaggio precedente è stata utilizzata la AWS CLI, sostituire i valori di
ACTIVATION_CODEeACTIVATION_IDnel seguente comando rispettivamente con i valoriactivationIdeactivationCode. Sostituireaws-regioncon la Regione AWS utilizzata nella fase precedente. Dopodiché, esegui il comando seguente per installare l'agenteeks-connectornel 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-regionSe nel passaggio precedente hai utilizzato la Console di gestione AWS, utilizza il comando copiato in tale passaggio inserendovi questi valori.
-
Verifica l'integrità dell'implementazione del
eks-connectorinstallato e attendi che lo stato del cluster registrato in Amazon EKS diventiACTIVE.
yaml
Completare la connessione applicando il file manifesto Amazon EKS Connector al proprio 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.
-
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 -
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 valoriaws-region,activationId, eactivationCodedell'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.yamlImportante
Assicurarsi che il codice di attivazione sia in formato base64.
-
In un terminale dotato di accesso al cluster, è possibile applicare il file manifesto aggiornato eseguendo il seguente comando:
kubectl apply -f eks-connector.yaml -
Dopo aver applicato al cluster Kubernetes il manifesto e i file YAML dell'associazione dei ruoli di Amazon EKS Connector, verificare che il cluster sia connesso.
aws eks describe-cluster \ --name "my-first-registered-cluster" \ --region AWS_REGIONL'output deve includere
status=ACTIVE. -
(Facoltativo) Assegna tag al cluster. Per ulteriori informazioni, consulta Organizzazione delle risorse Amazon EKS con tag.
Passaggi successivi
In caso di problemi con questi passaggi, consulta la pagina Risoluzione dei problemi del connettore Amazon EKS.
Per concedere ai principali IAM aggiuntivi l’accesso alla console Amazon EKS al fine di visualizzare le risorse Kubernetes in un cluster connesso, consultare Concedere l’accesso per visualizzare le risorse del cluster Kubernetes in una console Amazon EKS.