web-dev-qa-db-fra.com

Paramètres juju http-proxy et no_proxy

Je crée 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:8080 et cela fonctionne. Toutefois, lors du déploiement de clés comme Keystone, il existe un point d'installation qui tente d'accéder à localhost, et cette demande tente également de passer par le proxy.

J'ai essayé juju set-env no-proxy ou juju set-env no_proxy, mais le journal de débogage indique simplement qu'il n'y a pas de champ de configuration avec aucun nom.

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

8
user4827

Le support complet pour les mandataires a été ajouté avec la version 1.18. de Juju.

À partir des notes de publication:

Support pour les mandataires

Les mandataires peuvent maintenant être configurés pour les fournisseurs dans le fichier environment.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 "no-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 des hooks et sont é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 les mêmes que les valeurs de proxy non-apt, mais peuvent être remplacées indépendamment:

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

Par exemple, avec un squid-deb-proxy exécuté sur un ordinateur portable, vous pouvez spécifier le proxy apt-http-proxy à 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'existe aucun moyen de définir l'environnement globalement avant la création d'un modèle, mais vous pouvez créez un fichier config.yaml 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'option --config pour indiquer à Juju d'utiliser ce fichier (je stocke le mien dans ~/.juju/). Par exemple, juju bootstrap localhost lxd-test --config=config.yaml.

9
thumper

Je faisais face à des problèmes similaires sur une installation de devstack de openstack. Il semble que la variable est sensible à la casse. Pour résoudre cela, j'ai fait ce qui suit:

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

ifconfig

et ouvrez votre fichier ~/.bashrc, 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.

3
jobin