在过去的 6 个小时里,我一直在阅读充满流行语的、崇高的、高级的文档/博客/文章/幻灯片,试图了解 OpenStack 到底是什么。我明白那个:
OpenStack 是一个免费的开源云计算软件平台。用户主要将其部署为基础设施即服务 (IaaS) 解决方案。
但同样,这是一个非常崇高、高层次、掩盖细节的总结,对我作为一名工程师来说并没有真正的意义。
我想我了解了基本概念,但想重新理解 SO,此外,我很难看到关于 OpenStack 组件主题的“森林中的森林”。
我的理解是 OpenStack:
- 作为可执行应用程序安装在 1 个以上的虚拟机(客户虚拟机)上;和
- 不知何故,您的 OpenStack 集群的所有实例都相互了解(即,在您刚刚安装它们的所有虚拟机上运行的所有实例)并形成了一个集体资源池;和
- 每个 OpenStack 实例(同样,在其自己的 VM 中运行)包含仪表板应用程序(“Horizon”)以及 10 个左右的其他组件/模块(Nova、Cinder、Glance 等);和
- Nova 是一个 OpenStack 组件/模块,它为您的租户提供 CRUD 虚拟机/节点,它能够以某种方式将其内部运行的来宾虚拟机转变为自己的虚拟机管理程序,并在其中启动 1+ 个虚拟机(因此您有一个虚拟机内的虚拟机)适用于任何特定租户
所以,如果到目前为止我所说的关于 OpenStack 的任何内容不正确,请先纠正我!
假设我或多或少是正确的,我对各种 OpenStack 组件的理解是,它们实际上只是 API,需要开源社区提供具体的实现:
- Nova(虚拟机管理员)
- Keystone(身份验证提供者)
- Neutron(网络管理员)
- Cinder(块存储管理器)
- ETC...
以上,我相信所有组件都是 API。但是这些 API 必须具有对 OpenStack 部署者/维护者有意义的实现。所以我会想象有多个 Neutron API 提供者、多个 Nova API 提供者等。但是,在今天早上查看所有官方文档后,我找不到这些 API 的此类提供者。这在我的胃里留下了一种恶心的感觉,就像我从根本上误解了 OpenStack 的组件一样。有人可以帮我把这些点联系起来吗?