我正在用 juju 和 maas 设置环境。maas 环境没有直接的互联网连接,必须使用代理。
我已经使用juju set-env http-proxy=http://my_proxy:8080并配置了 juju 环境的代理,并且可以正常工作,但是,在部署类似 keystone 之类的东西时,有一个安装钩子会尝试访问 localhost,并且此请求也试图通过代理。
我试过juju set-env no-proxyor juju set-env no_proxy,但调试日志只显示没有任何一个名称的配置字段。
有没有办法设置无代理列表,本地地址是否应该默认绕过代理?
小智 9
Juju的1.18.0版本添加了对代理的全面支持。
从发行说明:
支持代理
现在可以在 environment.yaml 文件中为提供者配置代理,或者使用“juju set-env”将其添加到现有环境中,配置选项为:
http-proxy
https-proxy
ftp-proxy
no-proxy
Run Code Online (Sandbox Code Playgroud)
特定于协议的选项接受一个 URL。“无代理”选项接受以逗号分隔的主机名或地址列表。
代理选项在所有钩子执行上下文中导出,也可以通过“juju ssh”或“juju run”在shell中使用。
apt 有三个额外的代理选项。这些设置为与非 apt 代理值相同,但可以独立覆盖:
apt-http-proxy
apt-https-proxy
apt-ftp-proxy
Run Code Online (Sandbox Code Playgroud)
例如,使用在笔记本电脑上运行的 squid-deb-proxy,您可以通过指定主机的网桥来指定 apt-http-proxy 以将其用于容器:
apt-http-proxy: http://10.0.3.1:8000
Run Code Online (Sandbox Code Playgroud)
对于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>
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用该--config选项告诉 Juju 使用此文件(我将我的文件存储在 中~/.juju/)。例如,juju bootstrap localhost lxd-test --config=config.yaml。
我在 openstack 的 devstack 安装中遇到了类似的问题。看起来变量是区分大小写的。为了解决这个问题,我做了以下事情:
使用以下命令获取您的 IP 地址:
ifconfig
Run Code Online (Sandbox Code Playgroud)
并打开您的~/.bashrc文件,将其添加到末尾:
no_proxy=localhost,127.0.0.1,<your_ip_address>
NO_PROXY=localhost,127.0.0.1,<your_ip_address>
Run Code Online (Sandbox Code Playgroud)
然后打开一个新终端或执行source ~/.bashrc.
| 归档时间: |
|
| 查看次数: |
6740 次 |
| 最近记录: |