juju http-proxy et no_proxy settings

8

J'installe un environnement avec juju et maas. L'environnement maas n'a pas de connexion Internet directe, un proxy doit être utilisé.

J'ai configuré le proxy de l'environnement juju à l'aide de juju set-env http-proxy=http://my_proxy:8080et cela fonctionne, cependant, lors du déploiement de quelque chose comme Keystone, il existe un hook d'installation qui essaie d'accéder à localhost, et cette demande essaie également de passer par le proxy.

J'ai essayé juju set-env no-proxyou juju set-env no_proxy, mais le journal de débogage montre simplement qu'il n'y a pas de champ de configuration avec l'un ou l'autre nom.

Existe-t-il un moyen de définir une liste sans proxy et les adresses locales doivent-elles contourner le proxy par défaut?

user4827
la source

Réponses:

9

La prise en charge complète des proxys a été ajoutée avec la version 1.18.0 de Juju.

D'après les notes de version:

Prise en charge des procurations

Les proxys peuvent désormais être configurés pour les fournisseurs dans le fichier environnements.yaml, ou ajoutés à un environnement existant à l'aide de "juju set-env". Les options de configuration sont les suivantes:

http-proxy
https-proxy
ftp-proxy
no-proxy

Les options spécifiques au protocole acceptent une URL. L'option «sans proxy» accepte une liste de noms d'hôtes ou d'adresses séparés par des virgules.

Les options de proxy sont exportées dans tous les contextes d'exécution de hook, et également disponibles dans le shell via "juju ssh" ou "juju run".

Il existe trois options de proxy supplémentaires spécifiques à apt. Celles-ci sont définies pour être identiques aux valeurs de proxy non aptes, mais peuvent être remplacées indépendamment:

apt-http-proxy
apt-https-proxy
apt-ftp-proxy

Par exemple, avec un proxy squid-deb exécuté sur un ordinateur portable, vous pouvez spécifier le proxy apt-http pour l'utiliser pour les conteneurs en spécifiant le pont réseau de la machine hôte:

apt-http-proxy: http://10.0.3.1:8000

Pour la version 2.0 de Juju, il n'y a aucun moyen de définir l'environnement globalement avant la création d'un modèle, mais vous pouvez créer un config.yamlfichier contenant les éléments suivants:

default-series: xenial
no-proxy: localhost
apt-http-proxy: http://<ip address>:<port>
apt-https-proxy: https://<ip address>:<port>
apt-ftp-proxy: ftp://<ip address>:<port>
http-proxy: http://<ip address>:<port>
https-proxy: https://<ip address>:<port>
ftp-proxy: ftp://<ip address>:<port>

Vous pouvez ensuite utiliser l' --configoption pour dire à Juju d'utiliser ce fichier (je stocke le mien ~/.juju/). Par exemple juju bootstrap localhost lxd-test --config=config.yaml,.

thumper
la source
3

J'étais confronté à des problèmes similaires sur une installation devstack d'openstack. Il semble que la variable soit sensible à la casse. Pour résoudre ce problème, j'ai fait ce qui suit:

Obtenez votre adresse IP en utilisant les éléments suivants:

ifconfig

et ouvrez votre ~/.bashrcfichier, ajoutez ceci à la fin:

no_proxy=localhost,127.0.0.1,<your_ip_address>
NO_PROXY=localhost,127.0.0.1,<your_ip_address>

puis ouvrez un nouveau terminal ou faites source ~/.bashrc.

jobin
la source