OpenStack开发学习笔记01
OpenStack概述:
openstack可以说是一个开源的操作系统。
Openstack的开源协议,Apache License,是一个商业化的有好的开原协议,允许其他公司对其二次修改重新发布,来卖,这也是大量公司用它的原因之一,并且他的质量和功能也比较的好,受到青睐;
OpenStack核心组件
组件名称:Computer 组件代号:Nova
云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问(the cloud through users and projects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于Amazon EC2和Rackspace Cloud Servers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的动,暴露基于WebAPI的功能。
组件名称:Object Storage 组件代号:Swift
是一个可扩展的对象存储系统,支持多种应用——比如复制和存档数据、图像或视频服务、存储次级静态数据、开发数据存储整合的新应用、存储容量难以估计的数据、为Web应用创建基于云的弹性存储。对于大部分用户来说,swift不是必须的。你只有存储数量到一定级别,而且是非结构化数据才有这样的需求。是否可以把虚拟机的存储放在swift上?简单回答:不行。你需要搞明白对象存储是干啥,擅长那些地方,那些是不行的。swift是Openstack所有组件中最成熟的,可以在线升级版本,各种版本可以混合,也就是说,1.75版本的swift可以和1.48的在一个群集里。
组件名称:Identity 组件代号:Keystone
提供身份认证和授权,每个组件都需要使用统一认证和授权。目前没法基于角色的授权,web管理用户等
组件名称:Dashboard 组件代号:Horizon
为所有OpenStack的服务提供了一个模块化的web-based用户界面。使用这个Web GUI可以在云上完成大多数的操作,如启动实例,分配IP地址,设置访问控制等。
组件名称:Block Storage组件代号:Cinder
存储管理的组件,主要是指虚拟机的存储管理。
组件名称:Network 组件代号:Quantum
网络管理的组件,Quantum后端可以是商业产品或者开源,开源产品支持Openvswitch,和linux bridge
组件名称:Image Service 组件代号:Glance
是一个虚拟机镜像的存储、查询和检索系统,服务包括的REST ful API允许用户通过HTTP请求查询VM镜像元数据,以及检索实际的镜像。VM镜像有四种配置方式:简单的文件系统,类似OpenStackObjectStorage的对象存储系统,直接用Amazon's SimpleStorage Solution(S3)存储,用带有ObjectStore的S3间接访问S3
服务介绍
nova-计算服务
提供一个计算服务,管理实力的生命周期,提供基于REST API接口,同时还提供了对底层Hypervisor的屏蔽。并且支持水平扩展,资源不够的时候可以往里面加硬件加机器来增加容量
NEUTRON-网络服务
提供虚拟网络的管理,为虚拟机创建网络拓扑结构,比如什么时候创建网卡,什么时候联通。 同时支持面向租户的网络管理,可以自己定义自己的网络。同样给他也是基于REST的API,方便其他的来调用资源
KEYSTONE-身份认证服务
首要的功能是认证与授权,知道你是谁。
还可以对用户租户角色等进行管理
服务目录管理
支持多种第三方的认证的支持
GLANCE-镜像服务
可以对虚拟机镜像模板做注册和查询。
把镜像分享给很多人,同一个组,同一个部门的角色等
支持很raw,qcow2 e. g.等多种格式的镜像
glance最终存下来的话可以放到 亚马逊的S3, 还有对象存储的swift, 也可以存到本地file system e. g.
HORIZON-控制面板服务
对资源进行可视化的管理
CINDER-快存储服务
可以将提供类似于EBS的快存储,方便扩展,想用多少分配多少
可以减少nova的复杂性,降低nova的负载,
HEAT -编排服务
为了更好的使用openstack的资源,他提供了一套模板,有模板规范,组织对应的资源,生成你想要的部署
CEILOMETER-计量服务
安装在不同的节点上,监控资源的使用情况,收集起来,可以用来做计费,性能优化等技术支持