juju http-proxy 和 no_proxy 设置

juju http-proxy 和 no_proxy 设置

我正在使用 juju 和 maas 设置环境。maas 环境没有直接互联网连接,必须使用代理。

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

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

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

答案1

添加了对代理的全面支持1.18.0释放 Juju。

摘自发行说明:

支持代理

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

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

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

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

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

为了2.0Juju 版本中,无法在创建模型之前全局设置环境,但你可以创建一个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

答案2

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

使用以下命令获取你的 IP 地址:

ifconfig

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

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

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

相关内容