Lors du déploiement d’un Horizon Edge Gateway avec l’OVA horizon-edge-gw-2506.1.0.ova, nous avons rencontré un incident bloquant lors de la phase d’installation automatique du Edge Gateway.

Comme dans beaucoup d’environnements d’entreprise, le déploiement se fait derrière un proxy HTTP.
Lors de l’assistant de configuration, les paramètres proxy ont été renseignés comme suit :

  • Adresse du proxy
  • Port
  • Proxy SSL : False (car HTTP simple)

Une fois le déploiement lancé, Edge Gateway démarre son processus d’installation… mais celui-ci n’aboutit pas.
Une vérification via la commande :

kubectl get pods -A

montre qu’un des conteneurs reste bloqué en état ImagePullBackOff, indiquant une impossibilité de télécharger l’image requise.

L’exécution du script de diagnostic :

/opt/horizon/bin/diagnostic.sh

confirme que certaines URL nécessaires au déploiement sont inaccessibles depuis l’appliance.

Après investigation, la cause a été identifiée du côté de la configuration Docker générée automatiquement pendant le déploiement.

En effet, le fichier suivant contient les paramètres de proxy utilisés par Docker :

cat /etc/systemd/system/docker.service.d/http-proxy.conf

Problème : bien que le déploiement ait été configuré avec un proxy HTTP, la configuration inscrite pour Docker utilise https dans les variables d’environnement, provoquant ainsi une tentative de passage par un proxy HTTPS… inexistant dans notre cas.

Résultat : Docker ne parvient pas à télécharger les images nécessaire (ImagePullBackOff.)

Solution appliquée

1. Édition du fichier de configuration Docker

En tant qu’utilisateur root, éditer le fichier suivant :

vi /etc/systemd/system/docker.service.d/http-proxy.conf

Puis remplacer toutes les occurrences de https par http dans les adresses de proxy.

2. Rechargement et redémarrage du service Docker

systemctl daemon-reload
systemctl restart docker

3. Relancer le déploiement du conteneur en échec

kubectl -n edge-namespace rollout restart deployment edgedevice-deployment

4. Vérifier le bon redéploiement

Surveiller la progression des pods :

watch kubectl get pods -A

Une fois les statuts Running, le déploiement est de nouveau fonctionnel.

Merci à JusteGeek qui à trouvé la solution et m'a fait un résumé pour écrire cet article !

Ludovic

Consultant @ Dell Technologies

Partagez cet article