juju http-proxy y configuraciones no_proxy

8

Estoy creando un ambiente con juju y maas. El entorno maas no tiene conexión directa a Internet, se debe usar un proxy.

He configurado el proxy del entorno juju usando juju set-env http-proxy=http://my_proxy:8080y eso funciona, sin embargo, al implementar algo como keystone, hay un enlace de instalación que intenta acceder a localhost, y esta solicitud también intenta pasar por el proxy.

He intentado juju set-env no-proxyo juju set-env no_proxy, pero el registro de depuración solo muestra que no hay campo de configuración con ninguno de los nombres.

¿Hay alguna manera de establecer una lista de no proxy, y las direcciones locales deben omitir el proxy de forma predeterminada?

usuario4827
fuente

Respuestas:

9

Se agregó soporte completo para proxies con la versión 1.18.0 de Juju.

De las notas de la versión:

Soporte para proxies

Los proxies ahora se pueden configurar para los proveedores en el archivo assets.yaml, o agregarse a un entorno existente usando "juju set-env". Las opciones de configuración son:

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

Las opciones específicas del protocolo aceptan una URL. La opción "sin proxy" acepta una lista separada por comas de nombres de host o direcciones.

Las opciones de proxy se exportan en todos los contextos de ejecución de enlace y también están disponibles en el shell a través de "juju ssh" o "juju run".

Hay tres opciones de proxy adicionales específicas para apt. Estos están configurados para ser los mismos que los valores proxy no aptos, pero se pueden anular de forma independiente:

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

Por ejemplo, con un squid-deb-proxy que se ejecuta en una computadora portátil, puede especificar el apt-http-proxy para usarlo en los contenedores especificando el puente de red de la máquina host:

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

Para la versión 2.0 de Juju, no hay forma de configurar el entorno globalmente antes de crear un modelo, pero puede crear un config.yamlarchivo que contenga lo siguiente:

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>

Luego puede usar la --configopción para decirle a Juju que use este archivo (guardo el mío en ~/.juju/). Por ejemplo, juju bootstrap localhost lxd-test --config=config.yaml.

golpeador
fuente
3

Estaba enfrentando problemas similares en una instalación devstack de openstack. Parece que la variable distingue entre mayúsculas y minúsculas. Para resolver esto hice lo siguiente:

Obtenga su dirección IP usando lo siguiente:

ifconfig

y abra su ~/.bashrcarchivo, agregue esto al final:

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

y luego abrir una nueva terminal o hacer source ~/.bashrc.

Jobin
fuente