博客
关于我
OpenStack功能简介
阅读量:502 次
发布时间:2019-03-06

本文共 1461 字,大约阅读时间需要 4 分钟。

为什么要用云?

云计算的核心优势在于资源的高效利用。传统的硬件投入需要预先规划,且资源浪费较多。云计算通过虚拟化技术,实现资源的循环使用,最大化资源利用率。例如,硬件设备、带宽和机房资源可以按需分配,避免固定投入带来的浪费。

云平台提供了统一的管理接口,简化了资源配置的复杂性。通过API或控制台,管理员可以快速部署和管理多种服务,提升操作效率。

云计算是个什么?

云计算是一种基于虚拟化技术的资源管理模式,通过动态分配和共享,实现资源的高效利用。它依赖于虚拟化技术赋予云计算其核心功能。

现有云模式

  • IaaS(基础设施即服务)

    用户通过网络获取计算资源(虚机、存储、网络),自行配置和管理。适合开发和测试环境。

  • PaaS(平台即服务)

    提供完整的开发平台,支持代码编写、测试和部署。适合软件开发和集成。

  • SaaS(软件即服务)

    提供基于网络的软件应用,用户无需购买许可证,按需租用。常见于企业级应用管理,如邮件、CRM系统。

  • OpenStack核心组件

    OpenStack是红帽推动的开源云计算平台,基于模块化设计,支持快速迭代。其核心组件包括:

    必要组件

  • Horizon (Dashboard)

    用户交互界面,支持多语言,方便操作和监控。

  • Nova (计算)

    负责虚拟机的创建、调度和销毁,通过调度算法优化资源利用。

  • Neutron (网络)

    提供软件定义网络(SDN),支持高效网络管理。

  • Swift (对象存储)

    提供分布式存储解决方案,支持大规模数据存储。

  • Cinder (块存储)

    提供持久化块存储,支持云主机附加云盘。

  • Glance (镜像服务)

    提供虚拟机镜像管理功能,支持定制化镜像。

  • Keystone (认证)

    提供身份验证和权限管理,确保资源访问安全。

  • 可选组件

  • Ceilometer (监控)

    提供资源使用监控和计费功能,帮助管理员优化资源利用。

  • Heat (编排)

    支持应用自动化部署和管理,适合复杂应用场景。

  • 组件通信流程

    OpenStack组件间通过RESTful API进行通信,确保每一步操作都经过认证。流程包括:

  • 用户登录,获取认证信息。
  • 发送创建虚拟机请求,经过认证流程。
  • 调度组件选择合适资源。
  • 存储组件获取镜像和网络信息。
  • 虚拟化驱动创建虚拟机。
  • 组件详解

  • Keystone

    • User:系统用户,包括人、服务或系统。
    • Project (Tenant):用户资源的集合,支持多级权限划分。
    • Role:定义用户权限,管理资源访问控制。
    • Policy:控制用户对资源的操作权限。
    • Token:身份验证令牌,携带用户权限信息。
  • Glance

    • 提供镜像存储和管理,支持定制化镜像。
  • Nova

    • API:接收创建虚拟机请求。
    • Scheduler:优化资源分配,选择合适主机。
    • Compute:执行虚拟化,创建虚拟机。
    • Conductor:协调各组件,确保资源准备就绪。
  • Cinder

    • 提供块存储服务,支持多种后端存储。
    • API:处理卷创建和管理请求。
    • Scheduler:调度卷分配。
    • Volume:提供存储资源,支持持久化数据。
  • Neutron

    • 提供网络功能,支持SDN。
    • Server:接收网络请求。
    • Plugin:实现网络功能,支持多种协议。
    • Agent:管理网络设备,执行设备命令。
    • Database:存储网络配置和状态信息。
    • Network Provider:实际网络设备,支持虚拟化网络。
  • 通过以上组件协同工作,OpenStack提供了灵活高效的云计算解决方案,适合企业级应用部署。

    转载地址:http://tzzbz.baihongyu.com/

    你可能感兴趣的文章
    MySQL与Oracle的数据迁移注意事项,另附转换工具链接
    查看>>
    mysql丢失更新问题
    查看>>
    MySQL两千万数据优化&迁移
    查看>>
    MySql中 delimiter 详解
    查看>>
    MYSQL中 find_in_set() 函数用法详解
    查看>>
    MySQL中auto_increment有什么作用?(IT枫斗者)
    查看>>
    MySQL中B+Tree索引原理
    查看>>
    mysql中cast() 和convert()的用法讲解
    查看>>
    mysql中datetime与timestamp类型有什么区别
    查看>>
    MySQL中DQL语言的执行顺序
    查看>>
    mysql中floor函数的作用是什么?
    查看>>
    MySQL中group by 与 order by 一起使用排序问题
    查看>>
    mysql中having的用法
    查看>>
    MySQL中interactive_timeout和wait_timeout的区别
    查看>>
    mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
    查看>>
    mysql中json_extract的使用方法
    查看>>
    mysql中json_extract的使用方法
    查看>>
    mysql中kill掉所有锁表的进程
    查看>>
    mysql中like % %模糊查询
    查看>>
    MySql中mvcc学习记录
    查看>>