

 **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** 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 un cluster Kubernetes a una Console di gestione Amazon EKS con Amazon EKS Connector
<a name="eks-connector"></a>

È possibile usare Amazon EKS Connector per registrare e connettere qualsiasi cluster Kubernetes conforme a AWS e visualizzarlo nella console Amazon EKS. Una volta connesso, è possibile visualizzare lo stato, la configurazione e i carichi di lavoro del cluster nella console Amazon EKS. È possibile utilizzare questa funzionalità per visualizzare i cluster connessi nella console Amazon EKS, ma non è possibile gestirli. Amazon EKS Connector richiede un agente che è un [progetto open source su GitHub](https://github.com/aws/amazon-eks-connector). Per altri contenuti tecnici, incluse le domande frequenti e la risoluzione dei problemi, consultare [Risoluzione dei problemi del connettore Amazon EKS](troubleshooting-connector.md).

Amazon EKS Connector connette i seguenti tipi di cluster Kubernetes ad Amazon EKS.
+ Cluster Kubernetes on-premise
+ Cluster autogestiti in esecuzione su Amazon EC2
+ Cluster gestiti da altri provider cloud

## Considerazioni su Amazon EKS Connector
<a name="connect-cluster-reqts"></a>

Prima di utilizzare Amazon EKS Connector, attenersi a quanto segue:
+ Prima di connettere il cluster ad Amazon EKS, è necessario disporre dei privilegi amministrativi per il cluster Kubernetes.
+ Il cluster Kubernetes deve avere nodi (worker) Linux a 64 bit (x86) presenti prima della connessione. I nodi worker ARM non sono supportati.
+ È necessario disporre di nodi (worker) nel cluster Kubernetes che abbiano accesso in uscita agli endpoint di Systems Manager `ssm.` e `ssmmessages.`. Per ulteriori informazioni, consultare [Systems Manager endpoints](https://docs.aws.amazon.com/general/latest/gr/ssm.html) nei *Riferimenti generali di AWS*.
+ Per impostazione predefinita, è possibile connettere fino a 10 cluster per regione. È possibile richiedere un aumento tramite la [console Service Quotas](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html). Per ulteriori informazioni, consultare [Richiesta di un aumento di quota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html).
+ Solo le API `RegisterCluster`, `ListClusters`, `DescribeCluster` e `DeregisterCluster` di Amazon EKS sono supportate per i cluster Kubernetes esterni.
+ È necessario disporre delle autorizzazioni seguenti per registrare un cluster:
  + eks:RegisterCluster
  + ssm:CreateActivation
  + ssm:DeleteActivation
  + iam:PassRole
+ È necessario disporre delle autorizzazioni seguenti per annullare la registrazione di un cluster:
  + eks:DeregisterCluster
  + ssm:DeleteActivation
  + ssm:DeregisterManagedInstance

## Ruoli IAM richiesti per Amazon EKS Connector
<a name="connector-iam-permissions"></a>

L'utilizzo di Amazon EKS Connector richiede i seguenti due ruoli IAM:
+ Il ruolo [Amazon EKS Connectore](using-service-linked-roles-eks-connector.md) collegato al servizio viene creato al momento della prima registrazione del cluster.
+ È indispensabile creare il ruolo IAM dell'agente Amazon EKS Connector. Per informazioni dettagliate, vedi [Ruolo IAM di Amazon EKS Connector](connector-iam-role.md).

Per abilitare l'autorizzazione alla visualizzazione del cluster e del carico di lavoro per i [principali IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal), è necessario applicare il `eks-connector` e i ruoli del cluster Amazon EKS Connector nel cluster. Seguire la procedura descritta alla pagina [Grant access to view Kubernetes cluster resources on an Amazon EKS console](connector-grant-access.md).

# Connettere un cluster Kubernetes esterno alla Console di gestione Amazon EKS
<a name="connecting-cluster"></a>

È 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
<a name="connecting-cluster-considerations"></a>

È 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
<a name="connector-prereqs"></a>
+ Assicurati di avere creato il ruolo agente del connettore Amazon EKS. Seguire i passaggi descritti alla pagina [Creating the Amazon EKS connector agent role](connector-iam-role.md#create-connector-role).
+ È necessario disporre delle autorizzazioni seguenti per registrare un cluster:
  +  `eks:RegisterCluster` 
  +  `ssm:CreateActivation` 
  +  `ssm:DeleteActivation` 
  +  `iam:PassRole` 

## Fase 1: Registrazione del cluster
<a name="connector-connecting"></a>

Per registrare un cluster in Amazon EKS Connector, è possibile utilizzare uno dei seguenti strumenti:
+  [CLI AWS](#awscli_register_cluster_connect) 
+  [Console di gestione AWS](#console_register_cluster_connect) 
+  [`eksctl`](#eksctl_register_cluster_connect) 

### CLI AWS
<a name="awscli_register_cluster_connect"></a>

1.  La AWS CLI deve essere installata. Per installarla o aggiornarla, consultare la pagina [Installing the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html).

1. 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](eks-connector.md#connector-iam-permissions).

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

### Console di gestione AWS
<a name="console_register_cluster_connect"></a>

1. Aprire la [Console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

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

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

1. Selezionare **Registra cluster**.

1. 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 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`
<a name="eksctl_register_cluster_connect"></a>

1.  Deve essere installato `eksctl` versione `0.68` o successiva. Per installarlo o aggiornarlo, consulta la pagina [Nozioni di base su Amazon EKS: `eksctl`](getting-started-eksctl.md).

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.

1. 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`
<a name="eks-connector-apply"></a>

Per installare l’agente `eks-connector`, utilizzare uno dei seguenti strumenti:
+  [Helm](#helm_agent_cluster_connect) 
+  [yaml](#yaml_agent_cluster_connect) 

### Helm
<a name="helm_agent_cluster_connect"></a>

**Nota**  
Se il cluster è stato registrato con `eksctl`, utilizzare il metodo con manifesto YAML anziché il metodo con grafico Helm.

1. Se nel passaggio precedente è stata utilizzata la AWS CLI, sostituire i valori di `ACTIVATION_CODE` e `ACTIVATION_ID` nel seguente comando rispettivamente con i valori `activationId` e `activationCode`. Sostituire `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 Console di gestione AWS, utilizza il comando copiato in tale passaggio inserendovi questi valori.

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

### yaml
<a name="yaml_agent_cluster_connect"></a>

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.

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
   ```

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

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

   ```
   kubectl apply -f eks-connector.yaml
   ```

1. 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_REGION
   ```

   L'output deve includere `status=ACTIVE`.

1. (Facoltativo) Assegna tag al cluster. Per ulteriori informazioni, consulta [Organizzazione delle risorse Amazon EKS con tag](eks-using-tags.md).

## Passaggi successivi
<a name="eks-connector-next"></a>

In caso di problemi con questi passaggi, consulta la pagina [Risoluzione dei problemi del connettore Amazon EKS](troubleshooting-connector.md).

Per concedere ai [principali IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) 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](connector-grant-access.md).

# Concedere l’accesso per visualizzare le risorse del cluster Kubernetes in una console Amazon EKS
<a name="connector-grant-access"></a>

Concedere ai [principali IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) l’accesso alla console Amazon EKS per visualizzare informazioni sulle risorse Kubernetes in esecuzione sul cluster connesso.

## Prerequisiti
<a name="connector-grant-access-prereqs"></a>

Il [principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) IAM utilizzato per accedere alla Console di gestione AWS deve soddisfare i seguenti requisiti:
+ Deve disporre dell'autorizzazione IAM `eks:AccessKubernetesApi`.
+ L'account di servizio Amazon EKS Connector dovrebbe essere in grado di rappresentare il principale IAM nel cluster. Ciò consente ad Amazon EKS Connector di mappare il principale IAM a un utente Kubernetes.

 **Per creare e applicare il ruolo del cluster Amazon EKS Connector** 

1. Eseguire il download del modello di ruolo del cluster `eks-connector`.

   ```
   curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-clusterrole.yaml
   ```

1. Modificare il file YAML del modello di ruolo del cluster. Sostituire i riferimenti di `%IAM_ARN%` con il nome della risorsa Amazon (ARN) del principale IAM.

1. Applicare il ruolo del cluster Amazon EKS Connector YAML al cluster Kubernetes.

   ```
   kubectl apply -f eks-connector-clusterrole.yaml
   ```

Affinché un principale IAM possa visualizzare le risorse Kubernetes nella console Amazon EKS, deve essere associato a un `role` o `clusterrole` Kubernetes con le autorizzazioni necessarie per leggere le risorse. Per ulteriori informazioni, consulta [Utilizzo dell'autorizzazione RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) nella documentazione di Kubernetes.

 **Per configurare un principale IAM per accedere al cluster connesso** 

1. È possibile eseguire il download di questi file manifesto di esempio per creare, rispettivamente, un `clusterrole` e un'`clusterrolebinding` oppure un `role` e un'`rolebinding`:  
 **Visualizzare le risorse Kubernetes in tutti i namespace**   
   + Il ruolo del cluster `eks-connector-console-dashboard-full-access-clusterrole` consente di accedere a tutti gli spazi dei nomi e alle risorse visualizzabili nella console. É possibile modificare il nome di `role`, `clusterrole` e il loro legame corrispondente prima di applicarlo al cluster. Utilizzare il seguente comando per eseguire il download di un file di esempio.

     ```
     curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-console-dashboard-full-access-group.yaml
     ```  
 **Visualizzare le risorse Kubernetes in un namespace specifico**   
   + Lo spazio dei nomi in questo file è `default`, quindi se si desidera specificare uno spazio dei nomi diverso, modificare il file prima di applicarlo al cluster. Utilizzare il seguente comando per eseguire il download di un file di esempio.

     ```
     curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-console-dashboard-restricted-access-group.yaml
     ```

1. Modificare il file YAML con accesso completo o con accesso limitato per sostituire i riferimenti di `%IAM_ARN%` con il nome della risorsa Amazon (ARN) del principale IAM.

1. Applicare i file YAML ad accesso completo o limitato al cluster Kubernetes. Sostituire il valore del file YAML con il proprio valore.

   ```
   kubectl apply -f eks-connector-console-dashboard-full-access-group.yaml
   ```

Per visualizzare le risorse Kubernetes nel cluster connesso, consulta [Visualizza le risorse Kubernetes nel Console di gestione AWS](view-kubernetes-resources.md). I dati relativi ad alcuni tipi di risorse nella scheda **Risorse** non sono disponibili per i cluster collegati.

# Annullare la registrazione di un cluster Kubernetes dalla console Amazon EKS
<a name="deregister-connected-cluster"></a>

Al termine dell'utilizzo di un cluster connesso, è possibile annullarne la registrazione. Una volta annullata la registrazione, il cluster non sarà più visibile nella console Amazon EKS.

È necessario disporre delle autorizzazioni seguenti per chiamare l'API di deregisterCluster:
+  `eks:DeregisterCluster` 
+  `ssm:DeleteActivation` 
+  `ssm:DeregisterManagedInstance` 

Questo processo prevede due passaggi: annullare la registrazione del cluster con Amazon EKS e disinstallare l'agente eks-connector nel cluster.

## Annullare la registrazione del cluster Kubernetes
<a name="deregister-connected-cluster-eks"></a>

Per annullare la registrazione di un cluster da Amazon EKS Connector, è possibile utilizzare uno dei seguenti strumenti:
+  [CLI AWS](#awscli_deregister_cluster_connect) 
+  [Console di gestione AWS](#console_deregister_cluster_connect) 
+  [`eksctl`](#eksctl_deregister_cluster_connect) 

### CLI AWS
<a name="awscli_deregister_cluster_connect"></a>

1.  La AWS CLI deve essere installata. Per installarla o aggiornarla, consultare la pagina [Installing the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html).

1. Assicurati di avere creato il ruolo agente del connettore Amazon EKS.

1. Annullare la registrazione del cluster connesso.

   ```
   aws eks deregister-cluster \
       --name my-cluster \
       --region region-code
   ```

### Console di gestione AWS
<a name="console_deregister_cluster_connect"></a>

1. Aprire la [Console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Scegli **Cluster**.

1. Nella pagina **Cluster**, selezionare il cluster connesso e selezionare **Annulla registrazione**.

1. Confermare che si desidera annullare la registrazione del cluster.

### `eksctl`
<a name="eksctl_deregister_cluster_connect"></a>

1. Installare la versione `0.68` o successiva di `eksctl`. Per installarlo o aggiornarlo, consulta la pagina [Nozioni di base su Amazon EKS: `eksctl`](getting-started-eksctl.md).

1. Assicurati di avere creato il ruolo agente del connettore Amazon EKS.

1. Annullare la registrazione del cluster connesso:

   ```
   eksctl deregister cluster --name my-cluster
   ```

## Eliminare le risorse del cluster Kubernetes
<a name="deregister-connected-cluster-k8s"></a>

Per disinstallare l’agente `eks-connector`, utilizzare uno dei seguenti strumenti:
+  [helm](#helm_agent_cluster_deregister) 
+  [yaml](#yaml_agent_cluster_deregister) 

### helm
<a name="helm_agent_cluster_deregister"></a>

Per disinstallare l'agente, esegui il comando seguente.

```
helm -n eks-connector uninstall eks-connector
```

### yaml
<a name="yaml_agent_cluster_deregister"></a>

1. Eliminare il file YAML di Amazon EKS Connector dal cluster Kubernetes.

   ```
   kubectl delete -f eks-connector.yaml
   ```

1. Se sono stati creati `clusterrole` o `clusterrolebindings` per fornire accesso al cluster a [principali IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) aggiuntivi, assicurarsi di eliminarli dal cluster Kubernetes.

# Risoluzione dei problemi del connettore Amazon EKS
<a name="troubleshooting-connector"></a>

In questo argomento sono descritti alcuni degli errori più comuni che si possono verificare durante l'utilizzo del connettore Amazon EKS e sono riportate le istruzioni per risolverli in maniera temporanea o definitiva.

## Risoluzione dei problemi di base
<a name="tsc-steps"></a>

In questa sezione sono descritti i passaggi per la diagnosi dei problemi del connettore Amazon EKS.

### Verifica dello stato di Amazon EKS Connector
<a name="tsc-check"></a>

Per controllare lo stato del connettore Amazon EKS, inserisci:

```
kubectl get pods -n eks-connector
```

### Ispezione dei log del connettore Amazon EKS
<a name="tsc-logs"></a>

Il pod di Amazon EKS Connector è composto da tre container. Per recuperare i registri completi per tutti questi container in modo da poterli ispezionare, eseguire i seguenti comandi:
+  `connector-init` 

  ```
  kubectl logs eks-connector-0 --container connector-init -n eks-connector
  kubectl logs eks-connector-1 --container connector-init -n eks-connector
  ```
+  `connector-proxy` 

  ```
  kubectl logs eks-connector-0 --container connector-proxy -n eks-connector
  kubectl logs eks-connector-1 --container connector-proxy -n eks-connector
  ```
+  `connector-agent` 

  ```
  kubectl exec eks-connector-0 --container connector-agent -n eks-connector -- cat /var/log/amazon/ssm/amazon-ssm-agent.log
  kubectl exec eks-connector-1 --container connector-agent -n eks-connector -- cat /var/log/amazon/ssm/amazon-ssm-agent.log
  ```

### Ottenimento del nome effettivo del cluster
<a name="tsc-name"></a>

I cluster Amazon EKS sono identificati in modo univoco `clusterName` all'interno di un unico AWS account e AWS regione. Se si hanno più cluster connessi in Amazon EKS, è possibile verificare quale cluster Amazon EKS è registrato con il cluster Kubernetes corrente. Per fare ciò, inserisci quanto segue per individuare il `clusterName` del cluster corrente.

```
kubectl exec eks-connector-0 --container connector-agent -n eks-connector \
  -- cat /var/log/amazon/ssm/amazon-ssm-agent.log | grep -m1 -oE "eks_c:[a-zA-Z0-9_-]+" | sed -E "s/^.*eks_c:([a-zA-Z0-9_-]+)_[a-zA-Z0-9]+.*$/\1/"
kubectl exec eks-connector-1 --container connector-agent -n eks-connector \
  -- cat /var/log/amazon/ssm/amazon-ssm-agent.log | grep -m1 -oE "eks_c:[a-zA-Z0-9_-]+" | sed -E "s/^.*eks_c:([a-zA-Z0-9_-]+)_[a-zA-Z0-9]+.*$/\1/"
```

### Comandi vari
<a name="tsc-misc"></a>

I seguenti comandi sono utili per recuperare le informazioni necessarie per risolvere i problemi.
+ Utilizzare il seguente comando per raccogliere immagini utilizzate dai pod in Amazon EKS Connector.

  ```
  kubectl get pods -n eks-connector -o jsonpath="{.items[*].spec.containers[*].image}" | tr -s '[[:space:]]' '\n'
  ```
+ Usa il comando seguente per determinare i nomi dei nodi su cui è in esecuzione il connettore Amazon EKS.

  ```
  kubectl get pods -n eks-connector -o jsonpath="{.items[*].spec.nodeName}" | tr -s '[[:space:]]' '\n'
  ```
+ Per ottenere le versioni client e server Kubernetes esegui il comando riportato.

  ```
  kubectl version
  ```
+ Usa il comando seguente per ottenere informazioni sui tuoi nodi.

  ```
  kubectl get nodes -o wide --show-labels
  ```

## Problema di Helm: 403 Forbidden
<a name="w662aac60c33b9"></a>

Se hai riscontrato il seguente errore durante l'esecuzione dei comandi di installazione di helm:

```
Error: INSTALLATION FAILED: unexpected status from HEAD request to https://public.ecr.aws/v2/eks-connector/eks-connector-chart/manifests/0.0.6: 403 Forbidden
```

Puoi eseguire la riga seguente per risolvere il problema:

```
docker logout public.ecr.aws
```

## Errore della console: il cluster è bloccato nello stato Pending (In sospeso)
<a name="symp-pending"></a>

Se il cluster rimane bloccato nello `Pending` stato della console Amazon EKS dopo la registrazione, è possibile che Amazon EKS Connector non abbia AWS ancora collegato correttamente il cluster. Per un cluster registrato, lo stato `Pending` implica che la connessione non è stata stabilita correttamente. Per risolvere il problema, assicurati di aver applicato il manifesto al cluster Kubernetes di destinazione. Se l'hai applicato al cluster ma il cluster rimane ancora nello stato `Pending`, lo statefulset `eks-connector` potrebbe non essere integro. Per risolvere questo problema, consulta [I pod di Amazon EKS Connector stanno eseguendo un ciclo di arresto anomalo](#symp-loop) in questo argomento.

## Errore della console: User system:serviceaccount:eks-connector:eks-connector non può impersonare la risorsa utenti nel gruppo API nell’ambito del cluster
<a name="symp-imp"></a>

Il connettore Amazon EKS utilizza [la rappresentazione dell’utente](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#user-impersonation) di Kubernetes per agire per conto dei [principali IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) da Console di gestione AWS. A ogni principale che accede all'API Kubernetes dall'account del AWS `eks-connector` servizio deve essere concessa l'autorizzazione a impersonare l'utente Kubernetes corrispondente con un ARN IAM come nome utente Kubernetes. Negli esempi seguenti, l'ARN IAM viene mappato a un utente Kubernetes.
+ *111122223333*L' AWS utente IAM dall'account viene mappato a un utente Kubernetes. *john* [Le best practice IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) consigliano di concedere le autorizzazioni ai ruoli anziché agli utenti.

  ```
   arn:aws: iam::111122223333:user/john
  ```
+ Il ruolo IAM *admin* proveniente dall' AWS account *111122223333* è mappato a un utente Kubernetes:

  ```
   arn:aws: iam::111122223333:role/admin
  ```

  Il risultato è un ARN del ruolo IAM, anziché l'ARN della sessione AWS STS.

Per le istruzioni per configurare `ClusterRole` e `ClusterRoleBinding` per concedere il privilegio dell'account di servizio `eks-connector` per impersonare l'utente mappato, consulta [Concedere l’accesso per visualizzare le risorse del cluster Kubernetes in una console Amazon EKS](connector-grant-access.md). Assicurati che nel modello `%IAM_ARN%` venga sostituito con l'ARN IAM del principale Console di gestione AWS IAM.

## Errore della console: […​] non consentito: L’utente […​] non può elencare la risorsa […​] nel gruppo API nell’ambito del cluster
<a name="symp-rbac"></a>

Consideriamo il seguente problema. Amazon EKS Connector ha impersonato con successo il principale Console di gestione AWS IAM richiedente nel cluster Kubernetes di destinazione. Tuttavia, il principale impersonato non dispone dell’autorizzazione RBAC per le operazioni API di Kubernetes.

Per risolvere questo problema, esistono due metodi per concedere le autorizzazioni ad altri utenti. Se in precedenza hai installato eks-connector tramite un grafico Helm, puoi concedere facilmente l'accesso agli utenti eseguendo il seguente comando. Sostituisci `userARN1` e `userARN2` con un elenco dei ruoli IAM per consentire l'accesso alla visualizzazione ARNs delle risorse Kubernetes:

```
helm upgrade eks-connector oci://public.ecr.aws/eks-connector/eks-connector-chart \
    --reuse-values \
    --set 'authentication.allowedUserARNs={userARN1,userARN2}'
```

In alternativa, in qualità di amministratore del cluster, concedi il livello appropriato di privilegi RBAC ai singoli utenti Kubernetes. Per maggiori informazioni ed esempi, consulta [Concedere l’accesso per visualizzare le risorse del cluster Kubernetes in una console Amazon EKS](connector-grant-access.md).

## Errore della console: Amazon EKS non è in grado di comunicare con il server API cluster Kubernetes. Per una connessione corretta, il cluster deve trovarsi nello stato ACTIVE (ATTIVO). Riprova tra qualche minuto.
<a name="symp-con"></a>

Se il servizio Amazon EKS non può comunicare con il connettore Amazon EKS nel cluster di destinazione, il motivo potrebbe essere uno dei seguenti:
+ Il connettore Amazon EKS nel cluster di destinazione non è integro.
+ Connettività scadente o connessione interrotta tra il cluster di destinazione e la regione. AWS 

Per risolvere questo problema, controlla [Amazon EKS Connector logs](#tsc-logs) (Log del connettore Amazon EKS). Se non visualizzi un errore per il connettore Amazon EKS, ritenta la connessione dopo qualche minuto. Se riscontri regolarmente una connettività a latenza elevata o intermittente per il cluster di destinazione, prendi in considerazione la possibilità di registrare nuovamente il cluster in una AWS regione più vicina a te.

## I pod di Amazon EKS Connector stanno eseguendo un ciclo di arresto anomalo
<a name="symp-loop"></a>

Esistono molti motivi che possono causare il passaggio di un pod del connettore Amazon EKS nello stato `CrashLoopBackOff`. Questo problema riguarda probabilmente il container `connector-init`. Controlla lo stato del pod del connettore Amazon EKS.

```
kubectl get pods -n eks-connector
```

Di seguito viene riportato un output di esempio.

```
NAME              READY   STATUS                  RESTARTS   AGE
eks-connector-0   0/2     Init:CrashLoopBackOff   1          7s
```

Se l'output è simile a quello precedente, consulta la pagina [Ispezione dei log del connettore Amazon EKS](#tsc-logs) per risolvere il problema.

## Impossibile avviare eks-connector: InvalidActivation
<a name="symp-regis"></a>

Quando avvii il connettore Amazon EKS per la prima volta, il connettore registra un `activationId` e un `activationCode` con Amazon Web Services. La registrazione potrebbe non riuscire, causando un arresto anomalo del container `connector-init` con un errore simile al seguente.

```
F1116 20:30:47.261469       1 init.go:43] failed to initiate eks-connector: InvalidActivation:
```

Per risolvere questo problema, prendere in considerazione le seguenti cause e le correzioni consigliate:
+ La registrazione potrebbe non essere riuscita perché nel file manifesto mancano `activationId` e `activationCode`. In questo caso, accertati che siano i valori corretti restituiti dall'operazione API `RegisterCluster` e che `activationCode` sia presente nel file manifesto. `activationCode` è aggiunto ai segreti Kubernetes, per cui deve essere codificato in `base64`. Per ulteriori informazioni, consulta [Fase 1: Registrazione del cluster](connecting-cluster.md#connector-connecting).
+ La registrazione potrebbe non essere riuscita perché l'attivazione è scaduta. Ciò accade perché, per motivi di sicurezza, devi attivare il connettore Amazon EKS entro tre giorni dalla registrazione del cluster. Per risolvere il problema, assicurati di aver applicato il manifesto del connettore Amazon EKS al cluster Kubernetes di destinazione prima della data e dell’ora di scadenza. Per verificare la data di scadenza dell'attivazione, richiama l'operazione API `DescribeCluster`.

  ```
  aws eks describe-cluster --name my-cluster
  ```

  Nella risposta di esempio seguente, la data e l'ora di scadenza vengono registrate come `2021-11-12T22:28:51.101000-08:00`.

  ```
  {
      "cluster": {
          "name": "my-cluster",
          "arn": "arn:aws: eks:region:111122223333:cluster/my-cluster",
          "createdAt": "2021-11-09T22:28:51.449000-08:00",
          "status": "FAILED",
          "tags": {
          },
          "connectorConfig": {
              "activationId": "00000000-0000-0000-0000-000000000000",
              "activationExpiry": "2021-11-12T22:28:51.101000-08:00",
              "provider": "OTHER",
              "roleArn": "arn:aws: iam::111122223333:role/my-connector-role"
          }
      }
  }
  ```

  Se `activationExpiry` è passato, annulla la registrazione del cluster e registralo di nuovo. In questo modo si genera una nuova attivazione.

## Nel nodo del cluster manca la connettività in uscita
<a name="symp-out"></a>

Per funzionare correttamente, Amazon EKS Connector richiede connettività in uscita a diversi AWS endpoint. Non è possibile connettere un cluster privato senza connettività in uscita a una regione di destinazione. AWS Per risolvere il problema, è necessario aggiungere la connettività in uscita necessaria. Per informazioni sui requisiti del connettore, consultare [Considerazioni su Amazon EKS Connector](eks-connector.md#connect-cluster-reqts).

## I pod del connettore Amazon EKS sono in stato `ImagePullBackOff`
<a name="symp-img"></a>

Se esegui il comando `get pods` e i pod sono nello stato `ImagePullBackOff`, non possono funzionare correttamente. Se i pod del connettore Amazon EKS sono nello stato `ImagePullBackOff`, non possono funzionare correttamente. Controlla lo stato dei pod del connettore Amazon EKS.

```
kubectl get pods -n eks-connector
```

Di seguito viene riportato un output di esempio.

```
NAME              READY   STATUS                  RESTARTS   AGE
eks-connector-0   0/2     Init:ImagePullBackOff   0          4s
```

Il file manifesto predefinito del connettore Amazon EKS fa riferimento alle immagini di [Amazon ECR Public Gallery](https://gallery.ecr.aws/). È possibile che il cluster Kubernetes di destinazione non possa estrarre immagini da Amazon ECR Public Gallery. Risolvi il problema di estrazione delle immagini di Amazon ECR Public Gallery o valuta il mirroring delle immagini nel registro del container privato di tua scelta.

# Domande frequenti sui connettori AWS
<a name="tsc-faq"></a>

**D: Come funziona la tecnologia alla base del connettore Amazon EKS?**  
R: Il connettore Amazon EKS è basato sull’agente AWS System Manager (Systems Manager). Il connettore Amazon EKS è eseguito come `StatefulSet` nel tuo cluster . Stabilisce una connessione e applica un proxy alla comunicazione tra il server API del cluster e Amazon Web Services. Ciò è necessario per visualizzare i dati del cluster nella console Amazon EKS fino a quando non si disconnette il cluster da AWS. L'agente Systems Manager è un progetto open source. Per ulteriori informazioni su questo progetto, consultare la [pagina del progetto GitHub](https://github.com/aws/amazon-ssm-agent).

**D: Dispongo di un cluster Kubernetes on-premise a cui desidero connettermi. Devo aprire le porte firewall per connetterlo?**  
R: No, non è necessario aprire alcuna porta firewall. Il cluster Kubernetes richiede solo la connessione in uscita a regioni AWS. I servizi AWS non accedono mai alle risorse nella rete on-premises. Amazon EKS Connector viene eseguito sul cluster e avvia la connessione a AWS. Al termine della registrazione del cluster, AWS emette comandi su Amazon EKS Connector solo dopo aver avviato un'azione dalla console Amazon EKS che richiede informazioni dal server API Kubernetes sul cluster.

**D: Quali dati vengono inviati dal cluster a AWS tramite Amazon EKS Connector?**  
R: Il connettore Amazon EKS invia le informazioni tecniche necessarie per la registrazione del cluster su AWS. Invia inoltre metadati di cluster e carichi di lavoro per le funzionalità della console Amazon EKS richieste dai clienti. Il connettore Amazon EKS raccoglie o invia questi dati solo se avvii un'azione dalla console Amazon EKS o dall'API Amazon EKS che richiede l'invio dei dati a AWS. Per impostazione predefinita, oltre al numero di versione di Kubernetes, AWS non memorizza dati. Memorizza i dati solo se lo autorizzi.

**D: È possibile collegare un cluster al di fuori di una regione AWS?**  
R: Sì, puoi connettere un cluster da qualsiasi posizione ad Amazon EKS. Inoltre, il servizio Amazon EKS può essere collocato in qualsiasi regione AWS commerciale pubblica AWS. Funziona con una connessione di rete valida dal cluster alla regione di AWS destinazione. È preferibile scegliere la regione AWS più vicina alla posizione del tuo cluster per ottimizzare le prestazioni dell’UI. Ad esempio, se hai un cluster in esecuzione a Tokyo, connetti il cluster alla regione AWS di Tokyo (cioè la regione `ap-northeast-1` AWS) per bassa latenza. È possibile connettere un cluster da qualsiasi posizione ad Amazon EKS in una qualsiasi delle regioni AWS commerciali pubbliche, ad eccezione delle regioni AWS Cina o GovCloud.

# Comprensione della sicurezza in Amazon EKS Connector
<a name="security-connector"></a>

Amazon EKS Connector è un componente open source che viene eseguito sul cluster Kubernetes. Questo cluster può trovarsi al di fuori dell'ambiente AWS, sollevando alcune considerazioni in materia di responsabilità di sicurezza. Il diagramma seguente illustra tale configurazione. Il colore arancione indica le responsabilità di AWS e il colore blu le responsabilità del cliente:

![\[Responsabilità di EKS Connector\]](http://docs.aws.amazon.com/it_it/eks/latest/userguide/images/connector-model.png)


Questo argomento illustra le differenze nel modello di responsabilità quando il cluster connesso è esterno ad AWS.

## Responsabilità di AWS
<a name="connect-aws-resp"></a>
+ Gestire, creare e implementare Amazon EKS Connector, un [componente open source](https://github.com/aws/amazon-eks-connector) che viene eseguito sul cluster Kubernetes di un cliente e comunica con AWS.
+ Mantenere la sicurezza delle comunicazioni a livello di trasporto e di applicazione tra il cluster Kubernetes connesso e i servizi AWS.

## Responsabilità del cliente
<a name="connect-cust-resp"></a>
+ Garantire la sicurezza specifica del cluster Kubernetes, in particolare seguendo le linee guida riportate di seguito:
  + I segreti di Kubernetes devono essere adeguatamente crittografati e protetti.
  + L'accesso allo spazio dei nomi `eks-connector` deve essere bloccato.
+ Configurazione delle autorizzazioni relative al controllo degli accessi basato sul ruolo (RBAC) per gestire l’accesso del [principale IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) da AWS. Per istruzioni, consultare [Concedere l’accesso per visualizzare le risorse del cluster Kubernetes in una console Amazon EKS](connector-grant-access.md).
+ Installazione e aggiornamento di Amazon EKS Connector.
+ Manutenzione dell'hardware, del software e dell'infrastruttura che supportano il cluster Kubernetes collegato.
+ Protezione degli account AWS (ad esempio, tramite la salvaguardia delle [credenziali dell'utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials)).