Openstack Node 使用 conjure-up 'cloudinit' 安装后失败

Openstack Node 使用 conjure-up 'cloudinit' 安装后失败

成功部署 MAAS 2.3,4 个节点已调试并准备部署。每个节点均已连接私有 VLAN 和公共 VLAN。

按照此处的说明设置生产 openstack: https://www.ubuntu.com/download/cloud/build-openstack

当我运行conjure-up(使用 snap 安装的 v. 2.5.2)

Spell Selection - OpenStack with NovaKVM

Leave SSH public key path as shown

Deploy all 16 applications in openstack-base

它通过初始化 juju 控制器运行并显示在 maas 中的单个节点上部署,直到我看到部署机器脚本,然后它永远停滞(数小时),并且我收到以下错误:

“事件”下显示的错误

Node post-installation failure - 'cloudinit' running config-apt-configure with frequency once-per-instance
Node post-installation failure - 'cloudinit' running modules for config

错误发布后,节点状态显示 ubuntu 16.04 LTS。

编辑:我尝试重新开始使用conjure-down但是出现以下错误...Unable to list controllers: /bin/sh: None: not found

$ juju destroy-environment
returns ERROR unrecognized command

尝试移除 conjug-up

$ sudo snap remove conjure-up

但是,重新安装时仍会列出之前使用的云控制器

$ sudo snap install conjure-up --classic

知道我在这里做错了什么吗?TIA

答案1

有两个问题。希望这能帮助那些花费大量时间试图弄清楚 MAAS 网络的人。YMMV

尽管在 MAAS 的子网选项卡下启用并设置了私有 VLAN 和公共 VLAN,但我需要将私有 VLAN(子网)路由到外部互联网(下载部署包)和上游 dns(解析包 ip 地址),这些 dns 可在路由子网内访问。dns 需要快速解析以消除超时问题。

我确信有几种方法可以进行 NAT,包括使用 iptables。

还有一个问题是,当我尝试让 MAAS 管理公共子网(DHCP、自动分配)时,它不会分配 dns 或网关,尽管它确实分配了一个 IP,并且没有 dns/网关,公共子网上就没有任何内容被路由(主机/地址未找到/无法访问)。

在我看来,更多关于 MAAS 如何在网络相关的幕后实际运作的文档将会很有益。

我的解决方案

我在上游路由器中启用了私有子网路由以及内部上游 DNS,我相信这会使其成为一个扁平网络,而不再是私有网络。所有节点中的公共子网均未配置。

在我的场景中,MAAS 处理 DNS 并在私有子网上提供 DHCP。此外,私有子网仍然必须路由到外部互联网和上游 DNS 才能部署节点。

为了在 MAAS 中测试,我部署了一个 Ubuntu 节点并从 MAAS 节点 ping 主机名。

成功 ping 通 Ubuntu 节点后,我使用主机名从 MAAS 节点 ssh 进入 Ubuntu 节点,然后从部署的 Ubuntu 节点内 ping 通 google.com。

这可能不是正确的方法,但由于没有人回答,所以我找到了一种可行的方法。

如果有办法的话,我更喜欢分割网络,其中私有子网是真正私有的,并且不使用我的 MAAS 节点路由到公共互联网。

相关内容