云计算职业技能大赛组件介绍(一)
上文我们准备好了一个实验平台,我们了解了该如何搭建开源平台open stack,在此基础上,我们该理论的,系统的,详细的了解一下open stack的各个组件的作用和原理。
一、什么是open stack
官方的解释是:OpenStack是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过web接口让最终用户部署资源。通俗理解,用过VMware workstation的小伙伴们应该都知道如何启动虚拟机,如何给虚拟机分配资源,同样的,open stack也是实现这样的一种功能,但前者是在自己的pc机上部署,资源有限,后者是在服务器上部署,拥有更加强大的虚拟机管理功能,资源池也更加庞大。
二、云计算技能大赛都有哪些内容
云计算技能大赛主要分三大部分:私有云、公有云和容器云,私有云以open stack作为比赛工具。三大部分对应着云计算体系中的IAAS、PAAS、SAAS。
- IAAS:基础设施及服务,用户通过网络获取虚机、存储、网络,然后用户根据自己的需求操作获取的资源。
- PAAS:平台及服务,将软件研发作为一种平台来服务。
- SAAS:软件及服务,将软件作为一种服务提供给用户。
后续会逐一介绍三个部分的内容,现在先介绍IAAS的open stack平台。云计算的私有云部分按照open sack部署、open stack运维、open stackAPI运维三部分为主。open stack的部署部分题目几乎不会变动,主要变动部分以运维和API运维为主,但依然不会逃脱每年的命题规则,准备参加比赛的小伙伴,可以详细研读每年的赛题大纲。每年的运维组件多少都有略微变化,但核心部分组件是长时间不会变动,本教程就是基于这些不会变动的核心组件来介绍的。如有疑问,以open stack官方介绍为主。
三、open stack的组件概述
OpenStack 架构由大量开源项目组成。其中包含 8个稳定可靠的核心服务,用于处理计算、网络、存储、身份和镜像; 同时,还为用户提供了十多种开发成熟度各异的可选服务。OpenStack 的 8 个核心服务主要担纲系统的基础架构,其余项目则负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。
open stack架构图如下:
open stack的核心组件概述:
组件名称 | 服务名称 | 功能 |
---|---|---|
nova | Compute (计算服务) | 管理虚拟机的整个生命周期:创建、运行、挂起、调度、关闭、销毁等。这是真正的执行部件。接受 DashBoard 发來的命令并完成具体的动作。但是 Nova 不是虛拟机软件,所以还需要虚拟机软件(如 KVM、Xen、Hyper-v 等)配合 |
neutron | Network(网络服务) | 管理网络资源,提供/一组应用编程接口(API),用户可以调用它们来定义网络(如 VLAN ),并把定义好的网络附加给租户。Networking 是一个插件式结构,支持当前主流的网络设备和最新网铬技术 |
swift | Object Storage(对象存储服务) | 是 NoSQL 数据库,类似 HBase,为虚拟机提供非结构化数据存储,它把相同的数据存储在多台计箅机上,以确保数据不会丢失。用户可通过 RESTful 和 HTTP 类型的 API 来和它通信。这是实际的存储项目,类似 Ceph,不过在 OpcnStack 具体实施时,人们更愿意采用 Ceph |
cinder | Block Storage(块存储服务) | 管理块设备,为虚拟机管理 SAN 设备源。但是它本身不是块设备源, 需要一个存储后端来提供实际的块设备源(如 iSCSI、FC等)。Cinder 相当于一个管家,当虚拟机需要块设备时,询问管家去哪里获取具体的块设备。它也是插件式的,安装在具体的 SAN 设备里 |
keystone | Identity(身份认证服务) | 为其他服务提供身份验证、权限管理、令牌管理及服务名册管理。要使用云计算的所有用户事先需要在 Keystone 中建立账号和密码,并定义权限(注意:这里的“用户”不是指虚拟机里的系统账户,如 Windows 7 中的 Administrator )。另外,OpenStack 服务(如 Nova、Neutron、Swift、Cinder 等)也要在里面注册,并且登记具体的 API,Keystone 本身也要注册和登记 API |
glance | Image Service(镜像服务) | 存取虚拟机磁盘镜像文件,Compute 服务在启动虚拟机时需要从这里获取镜像文件。这个组件不同于上面的 Swift 和 Cinder,这两者提供的 存储是在虚拟机里使用的 |
horizon | Dashboard(控制面板服务) | 提供了一个网页界面,用户登录后可以做这些操作:管理虚拟机、配置权限、分配 IP 地址、创建租户和用户等。本质上就是通过图形化的 操作界面控制其他服务(如 Compute、Networking 等)。当然,如果你熟悉命令,也可以直接采用命令来完成相应的任务 |
Ceilometer | Telemetry(计量服务) | 结合 Aodh、CloudKitty 两个组件,完成计费任务,如结算、消耗的 资源统计、性能监控等。OpenStack 之所以能管理公共云,一是因为 Ceilometer 的存在,二是因为引人了租户的概念 |
云计算比赛常用可选组件:
组件名称 | 功能 |
---|---|
heat | 如果要在成千上万个虚拟机里安装和配置同一个软件,该怎么办?采用 Orchestrates 是一个不错的主意,它向每个虚拟机里注人一个名叫 heat-cfntools 的客户端工具,然后就能同时操作很多虚拟机 |
Manila | 为虚拟机提供文件共享服务,不过需要存储后端的配合 |
zun | 为虚拟机提供容器服务 |
后续将逐一详细介绍各个组件的工作原理和基础运维题目。