今年,SCaLE 14x 的与会者将有机会听到 Anthony Chow 谈论如何开始为 OpenStack 做贡献。
Anthony 是一位网络工程师,热衷于分享和推广能够促进社区发展的技术。他目前正在研究 Docker 和 OpenStack Magnum。
在本次访谈中,Anthony 解释了什么是 OpenStack,它如何与容器协同工作,以及企业可能希望如何使用它。
什么是 OpenStack?谁会使用它?
OpenStack 是一个用 Python 编写的开源云操作系统,通过命令行界面 (CLI) 或基于 Web 的仪表板来管理计算、存储和网络资源池。它被设计为在商用硬件上运行,有时被称为基础设施即服务 (IaaS)。OpenStack 运行在常见的 Linux 平台(如 RHEL、SUSE 或 Ubuntu)上。
OpenStack 是一种基础设施(或者用更简单的术语来说,是一个云)。它可以创建一个环境,提供按需增加或减少资源分配,并且资源不限于单个位置。大数据、Web 服务以及服务提供商的网络功能虚拟化 (NFV) 都是 OpenStack 的良好应用。
OpenStack 的主要服务和组件有哪些?它们的作用是什么?
OpenStack 遵循双年度发布周期,每个版本都用名称而不是数字来标识,因此第一个版本是 Austin,当前版本是 Mitaka,之前的版本分别是 Liberty 和 Kilo。自 Kilo 版本以来,OpenStack 开始从孵化/集成模型转向 Big Tent 模型,在该模型中,项目被标记为特定属性。
云基础设施的主要组件是计算、存储和网络。这些曾经被称为 OpenStack 的核心服务,而所有其他服务都被称为共享服务。
计算
- Nova: 按需提供虚拟机 (VM)。
存储
- Swift: 提供支持对象存储的可扩展存储系统。
- Cinder: 为访客虚拟机提供持久性块存储。
网络
- Neutron: 提供由 OpenStack 服务管理的接口设备之间的网络连接即服务。
共享服务
- Keystone: 为所有 OpenStack 服务提供身份验证和授权。
- Glance: 为虚拟磁盘映像提供目录和存储库。
- Horizon: 为 OpenStack 服务提供模块化、基于 Web 的用户界面。
- Ceilometer: 为计费系统提供单一联系点。
- Heat: 为多个复合云应用程序提供编排服务。
- Trove: 为关系型和非关系型数据库引擎提供数据库即服务 (DBaaS) 供应。
- Sahara: 提供用于配置数据密集型应用程序集群的服务。
- Magnum: 为部署和管理容器提供容器编排引擎。
我只列出了最常见的项目。每个版本都会添加新项目。
自从切换到 Big Tent 方法以来,越来越多的项目被认为是 OpenStack 的一部分。有一个委员会正在制定OpenStack DefCore,这是一个最低要求的特性集,产品必须符合该特性集才能使用 OpenStack 名称。
为什么要使用 OpenStack 而不仅仅是传统的虚拟化工具?与虚拟机监控程序相比,它提供了什么价值?
虚拟化工具从物理硬件中抽象出资源,并允许自动化。
OpenStack 通过为管理计算、存储和网络资源池提供弹性、自助服务和可衡量的基础设施,将此功能更进一步。OpenStack 管理的资源可以是物理资源,也可以是虚拟资源。
OpenStack 如何与容器协同工作?企业为何希望这样做?
Project Magnum 使用 OpenStack 作为部署 Docker 容器的基础设施。在 Project Magnum 之前,Docker 容器在 Nova(OpenStack 的计算服务)中被列为一种虚拟机监控程序类型。
在 Project Magnum 中,存在 pods、bays 和 services 的概念,它们共同构成一个可以应用访问策略的单个应用程序。
容器编排引擎 (COE) 允许将多个 Docker 容器作为一个单元进行部署。目前,Magnum 中支持的 COE 有
企业领域中流行的容器应用程序之一是微服务,其中一个大型单体应用程序被划分为以容器形式实现的“微服务”)。应用程序部署的这种新趋势提供了敏捷性、可扩展性和高可用性。
Liberty 版本引入了 project Kuryr,它构建于 Neutron 之上,并解决了 OpenStack 基础设施中容器特有的网络问题。
典型的 OpenStack 部署是什么样的?
我不认为存在所谓的典型 OpenStack 部署,而这正是它的魅力所在。虽然它不是一种万能的产品,但 OpenStack 提供了一个非常灵活且功能丰富的基础设施。它能提供什么仅受架构师能想出什么限制。OpenStack 就像一套乐高积木;我们可以挑选和选择以适应特定的部署要求。不仅 OpenStack 中的资源具有弹性,而且功能集在某种意义上也是弹性的,我们可以添加和删除功能集。
有关 OpenStack 入门的更多信息,请参阅 Opensource.com 的 OpenStack 入门指南,以及我们每月的 OpenStack 教程合集。
评论已关闭。