it-swarm.com.de

juju http-proxy und no_proxy einstellungen

Ich baue eine Umgebung mit Juju und Maas auf. Die maas-Umgebung hat keine direkte Internetverbindung, ein Proxy muss verwendet werden.

Ich habe den Proxy der Juju-Umgebung mit juju set-env http-proxy=http://my_proxy:8080 konfiguriert und das funktioniert. Bei der Bereitstellung wie Keystone gibt es jedoch einen Installations-Hook, der versucht, auf localhost zuzugreifen, und diese Anfrage versucht, auch über den Proxy zu gehen.

Ich habe juju set-env no-proxy oder juju set-env no_proxy ausprobiert, aber das Debug-Protokoll zeigt nur, dass es kein Konfigurationsfeld mit beiden Namen gibt.

Gibt es eine Möglichkeit, eine Liste ohne Proxy festzulegen, und sollten lokale Adressen den Proxy standardmäßig umgehen?

8
user4827

Volle Unterstützung für Proxies wurde mit der 1.18. Version von Juju hinzugefügt.

Aus den Release Notes:

nterstützung für Proxies

Proxies können jetzt für die Anbieter in der Datei environ.yaml konfiguriert oder mit "juju set-env" zu einer vorhandenen Umgebung hinzugefügt werden. Die Konfigurationsoptionen sind:

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

Die protokollspezifischen Optionen akzeptieren eine URL. Die Option "Kein Proxy" akzeptiert eine durch Kommas getrennte Liste von Hostnamen oder -adressen.

Die Proxy-Optionen werden in allen Hook-Ausführungskontexten exportiert und sind in der Shell auch über "juju ssh" oder "juju run" verfügbar.

Es gibt drei zusätzliche Proxy-Optionen, die für apt spezifisch sind. Diese Werte stimmen mit denen der nicht passenden Proxy-Werte überein, können jedoch unabhängig voneinander überschrieben werden:

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

Wenn beispielsweise ein squid-deb-proxy auf einem Laptop ausgeführt wird, können Sie den apt-http-proxy angeben, der für die Container verwendet werden soll, indem Sie die Netzwerkbrücke des Host-Computers angeben:

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

Für die Version 2.0 von Juju gibt es keine Möglichkeit, die Umgebung global festzulegen, bevor ein Modell erstellt wird. Sie können dies jedoch tun Erstellen Sie eine config.yaml -Datei, die Folgendes enthält:

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>

Sie können dann die Option --config verwenden, um Juju anzuweisen, diese Datei zu verwenden (meine speichere ich in ~/.juju/). Zum Beispiel juju bootstrap localhost lxd-test --config=config.yaml.

9
thumper

Ich hatte ähnliche Probleme mit einer Devstack-Installation von Openstack. Anscheinend unterscheidet die Variable zwischen Groß- und Kleinschreibung. Um dies zu lösen, habe ich folgendes getan:

Erhalten Sie Ihre IP-Adresse mit den folgenden:

ifconfig

und öffne deine ~/.bashrc Datei, füge dies am Ende hinzu:

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

und dann ein neues Terminal öffnen oder source ~/.bashrc ausführen.

3
jobin