juju http-proxy和no_proxy设置


8

我正在与juju和maas建立环境。maas环境没有直接的Internet连接,必须使用代理。

我已经使用juju set-env http-proxy=http://my_proxy:8080和配置了juju环境的代理服务器,并且可以正常工作,但是,在部署诸如keystone之类的东西时,有一个安装钩子试图访问localhost,并且此请求也试图通过代理服务器。

我试过了juju set-env no-proxyjuju set-env no_proxy,但调试日志仅显示了没有配置名称的字段。

有没有办法设置无代理列表,默认情况下本地地址是否应该绕过代理?

Answers:


9

Juju 1.18.0版本增加了对代理的完全支持。

从发行说明中:

支持代理

现在可以在environment.yaml文件中为提供者配置代理,或使用“ juju set-env”将其添加到现有环境中。配置选项为:

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

协议特定的选项接受URL。“ no-proxy”选项接受以逗号分隔的主机名或地址列表。

代理选项在所有挂钩执行上下文中导出,并且也可以通过“ juju ssh”或“ juju run”在外壳中使用。

还有三个针对apt的其他代理选项。这些设置与非apt代理值相同,但可以独立覆盖:

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

例如,在笔记本电脑上运行squid-deb-proxy时,您可以通过指定主机的网络桥来指定apt-http-proxy将其用于容器。

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

对于Juju 2.0版,无法在创建模型之前全局设置环境,但是可以创建一个config.yaml文件,其中包含以下内容:

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>

然后,您可以使用该--config选项告诉Juju使用此文件(我将我的文件存储在中~/.juju/)。例如,juju bootstrap localhost lxd-test --config=config.yaml


3

在openstack的devstack安装上,我遇到了类似的问题。似乎该变量区分大小写。为了解决这个问题,我做了以下工作:

使用以下命令获取您的ipaddress:

ifconfig

并打开~/.bashrc文件,将其添加到末尾:

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

然后打开一个新的终端或执行source ~/.bashrc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.