Configurações de proxy e no_proxy do juju

8

Estou criando um ambiente com juju e maas. O ambiente maas não possui conexão direta à Internet, um proxy deve ser usado.

Eu configurei o proxy do ambiente juju usando juju set-env http-proxy=http://my_proxy:8080e isso funciona, no entanto, ao implantar algo como o keystone, existe um gancho de instalação que tenta acessar o host local, e essa solicitação também está tentando acessar o proxy.

Eu tentei juju set-env no-proxyou juju set-env no_proxy, mas o log de depuração mostra apenas que não há campo de configuração com nenhum nome.

Existe uma maneira de definir uma lista sem proxy e os endereços locais devem ignorá-lo por padrão?

user4827
fonte

Respostas:

9

Suporte completo para proxies foi adicionado com a versão 1.18.0 do Juju.

Nas notas de versão:

Suporte para proxies

Os proxies agora podem ser configurados para os provedores no arquivo environment.yaml ou adicionados a um ambiente existente usando "juju set-env". As opções de configuração são:

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

As opções específicas do protocolo aceitam uma URL. A opção "sem proxy" aceita uma lista separada por vírgula de nomes ou endereços de host.

As opções de proxy são exportadas em todos os contextos de execução do gancho e também estão disponíveis no shell por meio de "juju ssh" ou "juju run".

Existem três opções de proxy adicionais específicas para o apt. Eles são definidos para serem os mesmos que os valores de proxy não apropriados, mas podem ser substituídos independentemente:

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

Por exemplo, com um squid-deb-proxy em execução em um laptop, você pode especificar o apt-http-proxy para usá-lo nos contêineres, especificando a ponte de rede da máquina host:

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

Para a versão 2.0 do Juju, não há como definir o ambiente globalmente antes da criação de um modelo, mas você pode criar um config.yamlarquivo contendo o seguinte:

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>

Você pode usar a --configopção de dizer ao Juju para usar esse arquivo (eu guardo o meu ~/.juju/). Por exemplo juju bootstrap localhost lxd-test --config=config.yaml,.

bater
fonte
3

Eu estava enfrentando problemas semelhantes em uma instalação devstack do openstack. Parece que a variável diferencia maiúsculas de minúsculas. Para resolver isso, fiz o seguinte:

Obtenha seu endereço ip usando o seguinte:

ifconfig

e abra seu ~/.bashrcarquivo, adicione isto ao final:

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

e abra um novo terminal ou faça source ~/.bashrc.

jobin
fonte