![使用 juju 在 VM 中部署 OpenStack 的步骤是什么?](https://linux22.com/image/845233/%E4%BD%BF%E7%94%A8%20juju%20%E5%9C%A8%20VM%20%E4%B8%AD%E9%83%A8%E7%BD%B2%20OpenStack%20%E7%9A%84%E6%AD%A5%E9%AA%A4%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我正在寻找一个指南,以便在小型 VM(2 核、2GB RAM)中部署 OpenStack(一体化),以用于开发目的,以及学习 juju 过程。
我应该选择什么样的环境?
- “妈妈”?
- “当地的”?
如果我选择“maas” - 在引导时,我会收到错误 409 冲突 - 为什么?我已经设置了 mass-cli 登录,并按照说明使用配置文件“maas”。
- 我需要添加额外的节点吗?
- 我可以添加已经安装maas的节点吗?
- 我是否从原始“maas”机器执行 juju 命令?
我尝试在“本地”环境中使用 juju-gui。我按照 YouTube 上的视频使用 juju 部署 openstack,但某些组件安装失败,进度条变成红色 - 为什么?
在哪里可以找到用于部署单个一体化节点的 juju 命令列表?
- 从命令行部署时,如何验证安装的进度/状态?watch juju status 对于初次使用的用户来说似乎有点缺乏信息量。
考虑上面的图片:
- 是否有跨多个集群的单个 OpenStack 部署?或者每个集群是否有单个 OpenStack 部署?
答案1
我应该选择什么环境? - “maas”? - “local”?
本地更快、更轻量,因为你不是在进行虚拟化,而是使用 Linux 容器 (LXC)。我会先尝试一下。我尝试了一下,遇到了一些问题,LXC 容器不允许为 Quantum/Neutron 网络构建一些内核模块,但 Quantum/Neutron 网络是可选的,因此 LXC 可能适合你。
MaaS 旨在管理机器(通常是物理的,而不是虚拟的,但你可以使用虚拟的)。因此,如果你使用 MaaS,你将必须让一台机器(可能是虚拟的)充当 MaaS 服务器,然后将其他机器(同样,可能是虚拟的)联网到它。我以前曾尝试使用 KVM 虚拟化机器来做到这一点,如果你在部署很多东西的情况下这样做,你需要大量的 RAM。
如果我选择“maas”:
在引导时,我收到错误 409 冲突 - 为什么?
409 冲突是一种一般错误,表示由于某种原因 MaaS 无法完成您的请求。发生这种情况的原因可能有很多,请查看我的其他答案,看看是否有任何可能的原因。
我已经按照说明使用配置文件“maas”设置了 mass-cli 登录。我需要添加其他节点吗?
要使用 MaaS 部署任何东西,您都需要将机器添加到 MaaS 集群(除了 MaaS 服务器本身 - 因此您很可能必须创建更多虚拟机)。
我可以添加已经安装了 maas 的节点吗? - 我是否从作为原始“maas”机器的机器执行 juju 命令?
您可以从 MaaS Web UI 中的帐户页面获取 API 密钥,并将其
.juju/environments.yaml
与 juju 服务器的网络地址一起放入 juju 配置文件中。这样,运行 juju 客户端的任何机器都可以登录到 MaaS 服务器并向其发送命令。要获取要使用的密钥,请转到 MaaS 服务器 Web 界面 (http://ip_of_maas_server/MAAS/
),单击右上角的用户名,然后单击出现的菜单上的首选项。该页面将列出要使用的密钥。
我尝试在“本地”环境中使用 juju-gui。我按照 YouTube 上的视频使用 juju 部署 openstack,但某些组件安装失败,进度条变成红色 - 为什么?
如果没有更多信息,很难确定——条形图变红意味着 juju 使用的机器的某些代码由于某种原因出现了错误。请参阅Juju debug-hooks,如何在调试终端运行钩子或获取更多信息?了解如何获取有关特定错误的更多信息。
在哪里可以找到用于部署单个一体化节点的 juju 命令列表?
juju 团队一直在开发允许你使用单个命令部署多个服务的捆绑包。我确实在 WebGUI 中看到了对此的支持,形式是导出和导入一组服务的选项。我不知道这是否已准备就绪(并且你需要导出 openstack 的工作配置)。
从命令行部署时,如何验证安装的进度/状态?
watch juju status
对于初次使用的用户来说似乎有点不具信息性。运行
juju debug-log
是一种方法,但可能会非常冗长。
考虑上面的图片:- 是否有一个跨多个集群的 OpenStack 部署?或者每个集群都有一个 OpenStack 部署?
该图片不一定显示与 openstack 直接相关的任何内容。它显示了如何配置 MaaS。我要指出的是,在测试案例中,有可能并且很可能有一个区域控制器和一个集群,而不是一个区域有两个集群。集群只是同一交换机上的一组服务器(通常是物理的,但也可以是虚拟的),MaaS 将管理和部署 juju 服务。MaaS 并非特定于 Openstack——您可以在其上部署任何 Juju charm。因此,您可以拥有一个由 MaaS 管理的包含几台机器的集群,然后使用 Juju 部署 wordpress 和 MySQL。MaaS 会根据 Juju 的要求打开它管理的两台机器,在它们上安装 Ubuntu,然后让 Juju 在一台物理机器上配置带有 Wordpress 的 Web 服务器,在另一台物理机器上配置 MySQL 数据库服务器。如果您要在 Juju 中的 MySQL 服务中添加另一个单元,Juju 会让 MaaS 启动另一台机器,并在该机器上安装 Ubuntu,然后在该机器上配置 MySQL。在 openstack 设置中,Juju 只是在 MaaS 管理的机器上配置 openstack 软件。在生产、高可用性设置中,明智的做法是创建至少两个 MaaS 集群,并将每个 openstack 服务的单元拆分到这些集群中,这样如果您在一个 MaaS 集群上遇到问题,另一个集群中的 Openstack 单元将接管,openstack 系统将继续运行而不会中断。