Impostazioni juju http-proxy e no_proxy


8

Sto creando un ambiente con juju e maas. L'ambiente maas non ha una connessione Internet diretta, è necessario utilizzare un proxy.

Ho configurato il proxy dell'ambiente juju usando juju set-env http-proxy=http://my_proxy:8080e che funziona, tuttavia, quando si distribuisce qualcosa come keystone, c'è un hook di installazione che tenta di accedere a localhost e questa richiesta sta cercando di passare anche attraverso il proxy.

Ho provato juju set-env no-proxyo juju set-env no_proxy, ma il registro di debug mostra solo che non esiste un campo di configurazione con nessuno dei due nomi.

C'è un modo per impostare un elenco senza proxy e gli indirizzi locali dovrebbero bypassare il proxy per impostazione predefinita?

Risposte:


9

Il supporto completo per i proxy è stato aggiunto con la versione 1.18.0 di Juju.

Dalle note di rilascio:

Supporto per proxy

I proxy ora possono essere configurati per i provider nel file ambienti.yaml o aggiunti a un ambiente esistente usando "juju set-env" Le opzioni di configurazione sono:

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

Le opzioni specifiche del protocollo accettano un URL. L'opzione "no-proxy" accetta un elenco separato da virgole di nomi host o indirizzi.

Le opzioni proxy vengono esportate in tutti i contesti di esecuzione degli hook e disponibili anche nella shell tramite "juju ssh" o "juju run".

Esistono tre opzioni proxy aggiuntive specifiche per apt. Questi sono impostati per essere gli stessi dei valori proxy non apt, ma possono essere sovrascritti in modo indipendente:

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

Ad esempio, con un proxy squid-deb in esecuzione su un laptop, è possibile specificare il proxy apt-http per usarlo per i contenitori specificando il bridge di rete della macchina host:

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

Per la versione 2.0 di Juju, non è possibile impostare l'ambiente a livello globale prima della creazione di un modello, ma è possibile creare un config.yamlfile contenente quanto segue:

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>

È quindi possibile utilizzare l' --configopzione per dire a Juju di utilizzare questo file (io memorizzo il mio ~/.juju/). Ad esempio juju bootstrap localhost lxd-test --config=config.yaml,.


3

Stavo affrontando problemi simili su un'installazione devstack di openstack. Sembra che la variabile sia sensibile al maiuscolo / minuscolo. Per risolvere questo ho fatto quanto segue:

Ottieni il tuo indirizzo IP usando quanto segue:

ifconfig

e apri il tuo ~/.bashrcfile, aggiungilo alla fine:

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

e quindi aprire un nuovo terminale o fare source ~/.bashrc.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.