

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

# Configurare il proxy per i nodi ibridi
<a name="hybrid-nodes-proxy"></a>

Se utilizzi un server proxy nell’ambiente on-premises per il traffico in uscita dal data center o dall’ambiente periferico, devi configurare separatamente i nodi e il cluster per usare il server proxy.

Cluster  
Sul cluster, devi configurare `kube-proxy` per utilizzare il server proxy. Devi configurare `kube-proxy` dopo aver creato il cluster Amazon EKS.

Nodi  
Sui tuoi nodi, devi configurare il sistema operativo, `containerd`, `kubelet` e l’agente Amazon SSM per utilizzare il tuo server proxy. Puoi apportare queste modifiche durante il processo di creazione delle immagini del sistema operativo o prima di eseguire `nodeadm init` su ciascun nodo ibrido.

## Configurazione a livello di nodo
<a name="_node_level_configuration"></a>

Devi applicare le seguenti configurazioni nelle immagini del sistema operativo o prima di eseguire `nodeadm init` su ciascun nodo ibrido.

### Configurazione del proxy `containerd`
<a name="_containerd_proxy_configuration"></a>

 `containerd` è il runtime di gestione dei container predefinito per Kubernetes. Se utilizzi un proxy per l’accesso a Internet, devi configurare `containerd` in modo che possa estrarre le immagini dei container richieste da Kubernetes e Amazon EKS.

Crea un file su ogni nodo ibrido chiamato `http-proxy.conf` nella directory `/etc/systemd/system/containerd.service.d` con i seguenti contenuti. Sostituisci `proxy-domain` e `port` con i valori per il tuo ambiente.

```
[Service]
Environment="HTTP_PROXY=http://proxy-domain:port"
Environment="HTTPS_PROXY=http://proxy-domain:port"
Environment="NO_PROXY=localhost"
```

#### Configurazione di `containerd` a partire dai dati dell’utente
<a name="_containerd_configuration_from_user_data"></a>

La directory `containerd.service.d` dovrà essere creata per questo file. Dovrai ricaricare systemd per recuperare il file di configurazione senza dover riavviare il sistema. In AL2023, il servizio sarà probabilmente già in esecuzione al momento dell’esecuzione dello script, quindi sarà necessario riavviarlo.

```
mkdir -p /etc/systemd/system/containerd.service.d
echo '[Service]' > /etc/systemd/system/containerd.service.d/http-proxy.conf
echo 'Environment="HTTP_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf
echo 'Environment="HTTPS_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf
echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf
systemctl daemon-reload
systemctl restart containerd
```

### Configurazione del proxy `kubelet`
<a name="_kubelet_proxy_configuration"></a>

 `kubelet` è l’agente del nodo Kubernetes che viene eseguito su ogni nodo Kubernetes ed è responsabile della gestione del nodo e dei pod in esecuzione su di esso. Se utilizzi un proxy nel tuo ambiente on-premises, devi configurare `kubelet` in modo che possa comunicare con gli endpoint pubblici o privati del cluster Amazon EKS.

Crea un file su ogni nodo ibrido chiamato `http-proxy.conf` nella directory `/etc/systemd/system/kubelet.service.d/` col seguente contenuto. Sostituisci `proxy-domain` e `port` con i valori per il tuo ambiente.

```
[Service]
Environment="HTTP_PROXY=http://proxy-domain:port"
Environment="HTTPS_PROXY=http://proxy-domain:port"
Environment="NO_PROXY=localhost"
```

#### Configurazione di `kubelet` a partire dai dati dell’utente
<a name="_kubelet_configuration_from_user_data"></a>

La directory `kubelet.service.d` deve essere creata per questo file. Dovrai ricaricare systemd per recuperare il file di configurazione senza dover riavviare il sistema. In AL2023, il servizio sarà probabilmente già in esecuzione al momento dell’esecuzione dello script, quindi sarà necessario riavviarlo.

```
mkdir -p /etc/systemd/system/kubelet.service.d
echo '[Service]' > /etc/systemd/system/kubelet.service.d/http-proxy.conf
echo 'Environment="HTTP_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf
echo 'Environment="HTTPS_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf
echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf
systemctl daemon-reload
systemctl restart kubelet
```

### Configurazione del proxy `ssm`
<a name="_ssm_proxy_configuration"></a>

 `ssm` è uno dei provider di credenziali che possono essere utilizzati per inizializzare un nodo ibrido. `ssm` è responsabile dell’autenticazione con AWS e della generazione di credenziali temporanee utilizzate da `kubelet`. Se utilizzi un proxy nel tuo ambiente on-premises e usi `ssm` come fornitore di credenziali sul nodo, devi configurare `ssm` in modo che possa comunicare con gli endpoint del servizio Amazon SSM.

Crea un file su ogni nodo ibrido chiamato `http-proxy.conf` nel percorso seguente, a seconda del sistema operativo
+ Ubuntu: `/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/http-proxy.conf` 
+ Amazon Linux 2023 e Red Hat Enterprise Linux: `/etc/systemd/system/amazon-ssm-agent.service.d/http-proxy.conf` 

Popola il file con i seguenti contenuti. Sostituisci `proxy-domain` e `port` con i valori per il tuo ambiente.

```
[Service]
Environment="HTTP_PROXY=http://proxy-domain:port"
Environment="HTTPS_PROXY=http://proxy-domain:port"
Environment="NO_PROXY=localhost"
```

#### Configurazione di `ssm` a partire dai dati dell’utente
<a name="_ssm_configuration_from_user_data"></a>

La directory `ssm` del file di servizio systemd deve essere creata per questo file. Il percorso della directory dipende dal sistema operativo utilizzato nel nodo.
+ Ubuntu: `/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d` 
+ Amazon Linux 2023 e Red Hat Enterprise Linux: `/etc/systemd/system/amazon-ssm-agent.service.d` 

Sostituisci il nome del servizio systemd nel comando riavvio riportato di seguito a seconda del sistema operativo utilizzato nel nodo
+ Ubuntu: `snap.amazon-ssm-agent.amazon-ssm-agent` 
+ Amazon Linux 2023 e Red Hat Enterprise Linux: `amazon-ssm-agent` 

```
mkdir -p systemd-service-file-directory
echo '[Service]' > [.replaceable]#systemd-service-file-directory/http-proxy.conf
echo 'Environment="HTTP_PROXY=http://[.replaceable]#proxy-domain:port"' >> systemd-service-file-directory/http-proxy.conf
echo 'Environment="HTTPS_PROXY=http://[.replaceable]#proxy-domain:port"' >> [.replaceable]#systemd-service-file-directory/http-proxy.conf
echo 'Environment="NO_PROXY=localhost"' >> [.replaceable]#systemd-service-file-directory/http-proxy.conf
systemctl daemon-reload
systemctl restart [.replaceable]#systemd-service-name
```

### Configurazione del proxy del sistema operativo
<a name="_operating_system_proxy_configuration"></a>

Se utilizzi un proxy per l’accesso a Internet, devi configurare il sistema operativo in modo da poter estrarre le dipendenze dei nodi ibridi dal gestore di pacchetti dei sistemi operativi.

 **Ubuntu** 

1. Configura `snap` per utilizzare il proxy con i seguenti comandi:

   ```
   sudo snap set system proxy.https=http://proxy-domain:port
   sudo snap set system proxy.http=http://proxy-domain:port
   ```

1. Per abilitare il proxy per `apt`, crea un file chiamato `apt.conf` nella directory `/etc/apt/`. Sostituisci proxy-domain e port con i valori per il tuo ambiente.

   ```
   Acquire::http::Proxy "http://proxy-domain:port";
   Acquire::https::Proxy "http://proxy-domain:port";
   ```

 **Amazon Linux 2023** 

1. Configura `dnf` per l’utilizzo del proxy. Crea un file `/etc/dnf/dnf.conf` con i valori proxy-domain e port per il tuo ambiente.

   ```
   proxy=http://proxy-domain:port
   ```

 **Red Hat Enterprise Linux** 

1. Configura `yum` per l’utilizzo del proxy. Crea un file `/etc/yum.conf` con i valori proxy-domain e port per il tuo ambiente.

   ```
   proxy=http://proxy-domain:port
   ```

### Configurazione del proxy di IAM Roles Anywhere
<a name="_iam_roles_anywhere_proxy_configuration"></a>

Il servizio del fornitore di credenziali IAM Roles Anywhere è responsabile dell’aggiornamento delle credenziali quando si utilizza IAM Roles Anywhere con il flag `enableCredentialsFile` (consulta [EKS Pod Identity Agent](hybrid-nodes-add-ons.md#hybrid-nodes-add-ons-pod-id)). Se utilizzi un proxy nel tuo ambiente on-premises, devi configurare il servizio in modo che possa comunicare con gli endpoint di IAM Roles Anywhere.

Crea un file denominato `http-proxy.conf` nella directory `/etc/systemd/system/aws_signing_helper_update.service.d/` con i seguenti contenuti. Sostituisci `proxy-domain` e `port` con i valori per il tuo ambiente.

```
[Service]
Environment="HTTP_PROXY=http://proxy-domain:port"
Environment="HTTPS_PROXY=http://proxy-domain:port"
Environment="NO_PROXY=localhost"
```

## Configurazione a livello di cluster
<a name="_cluster_wide_configuration"></a>

Le configurazioni in questa sezione devono essere applicate dopo aver creato il cluster Amazon EKS e prima di eseguire `nodeadm init` su ogni nodo ibrido.

### Configurazione di un proxy kube-proxy
<a name="_kube_proxy_proxy_configuration"></a>

Amazon EKS installa automaticamente `kube-proxy` su ogni nodo ibrido come DaemonSet quando i nodi entrano a far parte del cluster. `kube-proxy` abilita il routing tra servizi supportati da pod su cluster Amazon EKS. Per configurare ogni host, `kube-proxy` necessita della risoluzione DNS per l’endpoint del cluster Amazon EKS.

1. Modifica il DaemonSet `kube-proxy` mediante il comando seguente

   ```
   kubectl -n kube-system edit ds kube-proxy
   ```

   Verrà aperta la definizione del DaemonSet `kube-proxy` sull’editor configurato.

1. Aggiungi le variabili di ambiente per `HTTP_PROXY` e `HTTPS_PROXY`. Nota che la variabile di ambiente `NODE_NAME` dovrebbe già esistere nella configurazione. Sostituisci `proxy-domain` e `port` con valori per il tuo ambiente.

   ```
   containers:
     - command:
       - kube-proxy
       - --v=2
       - --config=/var/lib/kube-proxy-config/config - --hostname-override=$(NODE_NAME)
       env:
       - name: HTTP_PROXY
         value: http://proxy-domain:port
       - name: HTTPS_PROXY
         value: http://proxy-domain:port
       - name: NODE_NAME
         valueFrom:
           fieldRef:
             apiVersion: v1
             fieldPath: spec.nodeName
   ```