![Juju 与 MAAS 和多宿主服务器 apiaddress 错误](https://linux22.com/image/980642/Juju%20%E4%B8%8E%20MAAS%20%E5%92%8C%E5%A4%9A%E5%AE%BF%E4%B8%BB%E6%9C%8D%E5%8A%A1%E5%99%A8%20apiaddress%20%E9%94%99%E8%AF%AF.png)
我有以下设置:Ubuntu 14.04 LTS Juju 1.22.1-trusty-amd64 Maas 1.5.4+bzr2294-0ubuntu1.3
MAAS 管理集群,所有物理主机连接到以下网络(每个主机都在自己的 VLAN 上):
10.92.109.0/24 - MAAS 管理网络
10.92.104.0/24 - 内部数据网络
10.92.105.0/24 - 内部“服务”网络
Maas 知道后两者,但不直接管理它们(它们有自己的 dhcp)。Maas 为 109 网络提供 dhcp 和 DNS。
我创建了一个 environment.yaml 文件,如下所示:
environments:
maas:
type: maas
maas-server: 'http://<MY MAAS SERVER>/MAAS'
maas-oauth: <SECRET>
admin-secret: '<ANOTHER SECRET>'
default-series: 'trusty'
bootstrap-timeout: 1800
并按如下方式引导它:
juju bootstrap -e maas --to node01.<MY MAAS MANAGED NETWORK>
juju sync-tools -e maas
juju deploy juju-gui --to "0"
然后是一些添加机器的命令。
这按预期工作,但是当我查看新添加的机器的代理配置时,我看到:
apiaddresses:
- 10.92.104.101:17070
而不是主机的 maas 网络归属的 FQDN,或者主机的 10.92.109 地址。
虽然这对我的物理机仍然有效,但这意味着管理流量正在通过“错误”的网络,并且意味着当我尝试将服务部署到 LXC 容器时它不起作用,因为 LXC 容器通过 juju-br0 接口正确桥接到 MAAS 管理网络上。
具体来说,LXC 容器无法下载 juju-tools 档案,也无法连接到 cloud-init 提供的 api 地址。
运行 juju api-info 我得到:
user: admin
environ-uuid: <UUID>
state-servers:
- 10.92.109.101:17070
- 10.92.104.101:17070
- 10.92.105.101:17070
ca-cert: |
而 juju api-endpoints 给出 10.92.109.101:17070