我确信之前已经有人问过并回答过这个问题,但我四处寻找却没有看到。
我有一个包含两个可部署节点的 MaaS 集群。除了 ILO IPMI 接口之外,每个盒子还有两个网络接口。我可以通过 PXE 启动到其中任何一个并将节点注册为就绪状态,然后从集群控制器 GUI“获取”它们。
然而,当我尝试引导 Juju 时,它永远无法连接到我刚刚部署的节点。
juju bootstrap --to=North.maas
Bootstrapping environment "maas"
Starting new instance for initial state server
Launching instance
- /MAAS/api/1.0/nodes/node-445132b0-08c0-11e5-b473-001b24b3b2f4/
Installing Juju agent on bootstrap instance
Waiting for address
Attempting to connect to North.maas:22
Attempting to connect to North.maas:22
Attempting to connect to 192.168.137.105:22
挂起的原因是 192.168.137.0/24 网络是 MaaS 集群控制器的托管网络。它无法路由到运行 JuJu 的网络 (192.168.1.0/24)。部署的节点似乎也没有启动非 MaaS 网络 - 即通向 JuJu 控制节点的网络。我尝试过为这两个网络交换 eth0 和 eth1,最终结果是一样的。
我错过了什么?
2015 年 6 月 3 日更新
从引导程序部署节点后,我可以从集群控制器 ssh 到节点,并手动编辑 /etc/network/interfaces,使用路由器管理的 DHCP 启动 eth0,删除到 MaaS 网络的现有默认路由,并添加到主网络的新默认路由 - 我有双向访问权限 - 从节点到互联网,从我的 JuJu 主机到它从路由器获得的 eth0 网络上的 IP 地址。我真的不明白为什么在启动节点时 MaaS 没有配置这一点。
16:41 我已经验证,如果我在 /etc/network/interfaces 中使用 dhcp 手动启动 eth0:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 # <--- added
iface eth0 inet dhcp # <--- added
# Primary interface (defining the default route)
iface eth1 inet manual
# Bridge to use for LXC/KVM containers
auto juju-br0
iface juju-br0 inet dhcp
bridge_ports eth1
然后重新启动 avahi-daemon,然后 JuJu 节点(mac)可以使用
ssh [email protected]
主机名只是“North”,这就是它起作用的原因。即使 MaaS/Juju 配置了 eth0,North.maas 也不会起作用。/etc/hosts 文件中包含以下内容:
127.0.1.1 North.maas North
我肯定遗漏了 MaaS 上的节点命名和网络设置的一些基本内容。
答案1
这只是部分答案。我注意到节点的“完全限定域名”对话框下有以下消息:
FQDN(完全限定域名)源自主机名:如果此节点的群集控制器正在管理 DNS,则主机名中的域部分(如果有)将由群集上定义的域替换;如果群集控制器不管理 DNS,则输入的主机名将是 FQDN。
我在这里输入了 North.local 并关闭了托管网络 xx137.0 的 DNS。引导程序仍然没有启动 eth0,但是当我手动执行此操作时,JuJu 引导程序继续运行。
那么剩下的谜团就是为什么MaaS没有配置接口。