MAAS 2.0是否需要重新configurationSquid来为所有已部署的节点代理HTTP / HTTPS?

MAAS 2.0文档阐明了以下内容:

注意 :尽pipeWeb界面标记了外部代理字段“Proxy for APT and HTTP / HTTPS”,但代理仅用于APT,而不用于HTTP / HTTPS。

因此,如果我想让我的MAAS区域控制器节点充当所有云节点的HTTP / HTTPS代理, 那么如何更改Squidconfiguration以承担HTTP / HTTPS代理angular色 (以及APTstream量 – I假设Squid是APT代理)。

在我的configuration中,我的区域控制器具有连接到办公室WAN调制解调器/路由器的第一个NIC,以及连接到所有其他节点连接到的受pipe理交换机的下一个NIC。 区域控制器是唯一直接连接到互联网的机器。 所有MAAS节点都可以更新,升级和安装APT软件包,但Juju无法启动LXD容器,因为它们无法parsing来自linuxcontainers.org的图像。

额外的上下文:我正在testing的设置教程在http://blog.naydenov.net/2015/11/deploying-openstack-on-maas-1-9-with-juju-network-setup/描述一个configuration安装前设置的所有VLAN和子网。 不幸的是,我很难让Squid让maas-management子网出去。

有两件事情需要:

默认情况下,Squid阻止所有不是HTTPS的,甚至包括safe_ports

为了允许Safe_ports ,我在acl声明之后添加了以下几行(在acl CONNECT method CONNECT行之后,如果删除了注释行):

 http_access deny !Safe_ports http_access allow CONNECT Safe_ports http_access deny CONNECT !SSL_ports 

我还添加了一些线路来允许一些VLAN http_access

 acl maas_external src 192.168.0.0/24 http_access allow maas_external 

MAAS需要curtin (系统安装程序)设置http_proxy环境variables。

我将/etc/maas/preseeds/curtin_userdatalate_commands部分修改为以下内容:

 late_commands: maas: [wget, '--no-proxy', '{{node_disable_pxe_url|escape.shell}}', '--post-data', '{{node_disable_pxe_data|escape.shell}}', '-O', '/dev/null'] setup_http_proxy_01: ["curtin", "in-target", "--", "sh", "-c", "echo \"export http_proxy='{{http_proxy}}'\" | sudo tee --append /etc/profile"] setup_http_proxy_02: ["curtin", "in-target", "--", "sh", "-c", "echo \"export HTTP_PROXY='{{http_proxy}}'\" | sudo tee --append /etc/profile"] setup_http_proxy_03: ["curtin", "in-target", "--", "sh", "-c", "echo \"export https_proxy='{{http_proxy}}'\" | sudo tee --append /etc/profile"] setup_http_proxy_04: ["curtin", "in-target", "--", "sh", "-c", "echo \"export HTTPS_PROXY='{{http_proxy}}'\" | sudo tee --append /etc/profile"] setup_http_proxy_05: ["curtin", "in-target", "--", "sh", "-c", "echo \"export ftp_proxy='{{http_proxy}}'\" | sudo tee --append /etc/profile"] setup_http_proxy_06: ["curtin", "in-target", "--", "sh", "-c", "echo \"export FTP_PROXY='{{http_proxy}}'\" | sudo tee --append /etc/profile"] 

基本上,这为curtin遵循几步。 设置运行的环境是短暂的,所以我们需要指导curtin将其应用到目标环境本身,并确保环境设置正确,使用新的( curtin in-target -- sh -c )。 最后的子句将export命令附加到/etc/profile的末尾,以确保它始终处于环境中。


我希望这不是过度的。 至less,当一个节点被部署时,即使它只连接到MAAS区域控制器,也可以上网。