

 **Aidez à améliorer cette page** 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien **Modifier cette page sur** qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configurer le proxy pour les nœuds hybrides
<a name="hybrid-nodes-proxy"></a>

Si vous utilisez un serveur proxy dans votre environnement sur site pour le trafic sortant de votre centre de données ou de votre environnement périphérique, vous devez configurer séparément vos nœuds et votre cluster pour utiliser votre serveur proxy.

Cluster  
Sur votre cluster, vous devez configurer `kube-proxy` pour utiliser votre serveur proxy. Vous devez effectuer la configuration de `kube-proxy` après avoir créé votre cluster Amazon EKS.

Nœuds  
Sur vos nœuds, vous devez configurer le système d’exploitation, `containerd`, `kubelet`, et l’agent Amazon SSM pour utiliser votre serveur proxy. Vous pouvez effectuer ces modifications pendant le processus de création des images de votre système d’exploitation ou avant d’exécuter `nodeadm init` sur chaque nœud hybride.

## Configuration au niveau du nœud
<a name="_node_level_configuration"></a>

Vous devez appliquer les configurations suivantes soit dans vos images de système d’exploitation, soit avant l’exécution de `nodeadm init` sur chaque nœud hybride.

### Configuration du proxy `containerd`
<a name="_containerd_proxy_configuration"></a>

 `containerd` est l’environnement d’exécution de gestion de conteneurs par défaut pour Kubernetes. Si vous utilisez un proxy pour accéder à Internet, vous devez configurer `containerd` afin qu’il puisse extraire les images de conteneur requises par Kubernetes et Amazon EKS.

Créez un fichier sur chaque nœud hybride appelé `http-proxy.conf` dans le répertoire `/etc/systemd/system/containerd.service.d` avec le contenu suivant. Remplacez `proxy-domain` et `port` par les valeurs correspondant à votre environnement.

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

#### `containerd` configuration à partir des données utilisateur
<a name="_containerd_configuration_from_user_data"></a>

Le répertoire `containerd.service.d` devra être créé pour ce fichier. Vous devrez recharger systemd pour récupérer le fichier de configuration sans redémarrer. Dans AL2023, le service sera probablement déjà en cours d’exécution lorsque votre script s’exécutera, vous devrez donc également le redémarrer.

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

### Configuration du proxy `kubelet`
<a name="_kubelet_proxy_configuration"></a>

 `kubelet` est l’agent de nœud Kubernetes qui s’exécute sur chaque nœud Kubernetes et qui est chargé de gérer le nœud et les pods qui s’y exécutent. Si vous utilisez un proxy dans votre environnement sur site, vous devez configurer le `kubelet` afin qu’il puisse communiquer avec les points de terminaison publics ou privés de votre cluster Amazon EKS.

Créez un fichier sur chaque nœud hybride appelé `http-proxy.conf` dans le répertoire `/etc/systemd/system/kubelet.service.d/` avec le contenu suivant. Remplacez `proxy-domain` et `port` par les valeurs correspondant à votre environnement.

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

#### Configuration `kubelet` à partir des données utilisateur
<a name="_kubelet_configuration_from_user_data"></a>

Le répertoire `kubelet.service.d` doit être créé pour ce fichier. Vous devrez recharger systemd pour récupérer le fichier de configuration sans redémarrer. Dans AL2023, le service sera probablement déjà en cours d’exécution lorsque votre script s’exécutera, vous devrez donc également le redémarrer.

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

### Configuration du proxy `ssm`
<a name="_ssm_proxy_configuration"></a>

 `ssm` est l’un des fournisseurs d’informations d’identification pouvant être utilisés pour initialiser un nœud hybride. `ssm` est chargé de l’authentification avec AWS et de la génération d’informations d’identification temporaires utilisées par `kubelet`. Si vous utilisez un proxy dans votre environnement sur site et que vous utilisez `ssm` comme fournisseur d’informations d’identification sur le nœud, vous devez le configurer le `ssm` afin qu’il puisse communiquer avec les points de terminaison du service Amazon SSM.

Créez un fichier sur chaque nœud hybride appelé `http-proxy.conf` dans le chemin ci-dessous en fonction du système d’exploitation
+ Ubuntu – `/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/http-proxy.conf` 
+ Amazon Linux 2023 et Red Hat Enterprise Linux – `/etc/systemd/system/amazon-ssm-agent.service.d/http-proxy.conf` 

Remplissez le fichier avec le contenu suivant. Remplacez `proxy-domain` et `port` par les valeurs correspondant à votre environnement.

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

#### Configuration à partir des données utilisateur `ssm`
<a name="_ssm_configuration_from_user_data"></a>

Le répertoire des fichiers de service systemd `ssm` doit être créé pour ce fichier. Le chemin d’accès au répertoire dépend du système d’exploitation utilisé sur le nœud.
+ Ubuntu – `/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d` 
+ Amazon Linux 2023 et Red Hat Enterprise Linux – `/etc/systemd/system/amazon-ssm-agent.service.d` 

Remplacer le nom du service systemd dans la commande de redémarrage ci-dessous en fonction du système d’exploitation utilisé sur le nœud
+ Ubuntu – `snap.amazon-ssm-agent.amazon-ssm-agent` 
+ Amazon Linux 2023 et 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
```

### Configuration du proxy du système d’exploitation
<a name="_operating_system_proxy_configuration"></a>

Si vous utilisez un proxy pour accéder à Internet, vous devez configurer votre système d’exploitation afin de pouvoir extraire les dépendances des nœuds hybrides à partir du gestionnaire de paquets de votre système d’exploitation.

 **Ubuntu** 

1. Configurez `snap` pour utiliser votre proxy à l’aide des commandes suivantes :

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

1. Pour activer le proxy pour `apt`, créez un fichier nommé `apt.conf` dans le répertoire `/etc/apt/`. Remplacez proxy-domain et port par les valeurs correspondant à votre environnement.

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

 **Amazon Linux 2023** 

1. Configurez `dnf` pour utiliser votre proxy. Créez un fichier `/etc/dnf/dnf.conf` contenant le domaine proxy et les valeurs de port de votre environnement.

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

 **Utilisation de Red Hat Enterprise Linux** 

1. Configurez `yum` pour utiliser votre proxy. Créez un fichier `/etc/yum.conf` contenant le domaine proxy et les valeurs de port de votre environnement.

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

### Configuration du proxy de Rôles Anywhere IAM
<a name="_iam_roles_anywhere_proxy_configuration"></a>

Le service de fournisseur d’informations d’identification Rôles Anywhere IAM est chargé d’actualiser les informations d’identification lors de l’utilisation de Rôles Anywhere IAM avec l’indicateur `enableCredentialsFile` (voir [Agent d'identité du pod EKS](hybrid-nodes-add-ons.md#hybrid-nodes-add-ons-pod-id)). Si vous utilisez un proxy dans votre environnement sur site, vous devez configurer le service afin qu’il puisse communiquer avec les points de terminaison Rôles Anywhere IAM.

Créez un fichier nommé `http-proxy.conf` dans le répertoire `/etc/systemd/system/aws_signing_helper_update.service.d/` avec le contenu suivant. Remplacez `proxy-domain` et `port` par les valeurs correspondant à votre environnement.

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

## Configuration à l’échelle du cluster
<a name="_cluster_wide_configuration"></a>

Les configurations de cette section doivent être appliquées après avoir créé votre cluster Amazon EKS et avant d’exécuter `nodeadm init` sur chaque nœud hybride.

### Configuration du proxy kube-proxy
<a name="_kube_proxy_proxy_configuration"></a>

Amazon EKS installe automatiquement `kube-proxy` sur chaque nœud hybride en tant que DaemonSet lorsque vos nœuds hybrides rejoignent le cluster. `kube-proxy` permet le routage entre les services pris en charge par les pods sur les clusters Amazon EKS. Pour configurer chaque hôte, `kube-proxy` demande une résolution DNS pour le point de terminaison de votre cluster Amazon EKS.

1. Modifiez le DaemonSet `kube-proxy` à l’aide de la commande suivante

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

   Cela ouvrira la définition du DaemonSet `kube-proxy` dans l’éditeur que vous avez configuré.

1. Ajoutez les variables d’environnement pour `HTTP_PROXY` et `HTTPS_PROXY`. Notez que la variable d’environnement `NODE_NAME` doit déjà exister dans votre configuration. Remplacez `proxy-domain` et `port` par les valeurs correspondant à votre environnement.

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