• openstack 架构


    我们会把学习的重点放在 OpenStack 最核心的地方。 那什么是核心呢?请看下图

    作为 IaaS 层的云操作系统,OpenStack 为虚拟机提供并管理三大类资源:计算、网络和存储。

    这三个就是核心,所以我们的学习重点就是: 搞清楚 OpenStack 是如何对计算、网络和存储资源进行管理的。 在 20+ 模块中,管理这三类资源的核心模块其实不多,这几个模块就是我们的重点了。

    要达到这个目的,我们自然需要研究 OpenStack 的整体架构。 架构里哪些核心模块负责管理计算资源、网络资源和存储资源?模块之间如何协调工作? 同时我们会构建一个实验环境,进到各个模块的内部,通过实际操作真正理解和掌握 OpenStack。

    好,下面我们就从架构开始吧。

    OpenStack 架构

    架构是个好东西,它能帮助我们站在高处看清楚事物的整体结构,避免过早地进入细节而迷失方向。

    下图是 OpenStack 的 Conceptual Architecture

    中间菱形是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍。

    Nova:管理 VM 的生命周期,是 OpenStack 中最核心的服务。

    Neutron:为 OpenStack 提供网络连接服务,负责创建和管理L2、L3 网络,为 VM 提供虚拟网络和物理网络连接。

    Glance:管理 VM 的启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像。

    Cinder:为 VM 提供块存储服务。Cinder 提供的每一个 Volume 在 VM 看来就是一块虚拟硬盘,一般用作数据盘。
    Swift:提供对象存储服务。VM 可以通过 RESTful API 存放对象数据。作为可选的方案,Glance 可以将镜像存放在 Swift 中;Cinder 也可以将 Volume 备份到 Swift 中。

    Keystone:为 OpenStack 的各种服务提供认证和权限管理服务。简单的说,OpenStack 上的每一个操作都必须通过 Keystone 的审核。

    Ceilometer:提供 OpenStac k监控和计量服务,为报警、统计或计费提供数据。

    Horizon:为 OpenStack 用户提供一个 Web 的自服务 Portal。

    在上面的这些服务中,哪些是 OpenStack 的核心服务呢? 核心服务就是如果没有它,OpenStack 就跑不起来。 很显然

    1. Nova 管理计算资源,是核心服务。

    2. Neutron 管理网络资源,是核心服务。

    3. Glance 为 VM 提供 OS 镜像,属于存储范畴,是核心服务。

    4. Cinder 提供块存储,VM怎么也得需要数据盘吧,是核心服务。

    5. Swift 提供对象存储,不是必须的,是可选服务。

    6. Keystone 认证服务,没它 OpenStack 转不起来,是核心服务。

    7. Ceilometer 监控服务,不是必须的,可选服务。

    8. Horizon 大家都需要一个操作界面吧。

    现在核心服务有了,接下来我们将镜头拉近点,看看核心服务内部的组成结构。 Logical Architecture

    在 Logical Architecture 中,可以看到每个服务又由若干组件组成。 以 Neutron 为例,包含

    1. Neutron Server、Neutron plugins 和 Neutron agents

    2. Network provider

    3. 消息队列 Queue

    4. 数据库 Neutron Database

    在后面 Neutron 章节我们会展开学习这些组件。

    这里想要强调一点: 上面是 Logical Architecture,描述的是 Neutron 服务各个组成部分以及各组件之间的逻辑关系。 而在实际的部署方案上,各个组件可以部署到不同的物理节点上。

    OpenStack 本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。 这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。 当然从另一个角度讲,这也使得 OpenStack 比一般系统复杂,学习难度也更大。

    后面章节我们会深入学习 Keystone、Glance、Nova、Neutron 和 Cinder 这几个 OpenStack 最重要最核心的服务。

    故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。
  • 相关阅读:
    PTA习题解析——银行排队问题
    线性表结构详解
    SkipList (跳跃表)解析及其实现
    C++面向过程编程
    WEB 性能测试用例设计以及总结
    PHP设计模式概述
    影响Linux发展的四位天才黑客
    从Linux 与 Unix 异同,看开源世界的发展!
    移动开发的跨平台技术演进
    AI和机器学习对云应用的安全产生了何种影响?
  • 原文地址:https://www.cnblogs.com/heitaoq/p/7595929.html
Copyright © 2020-2023  润新知