Openstack_第二课_Openstack框架说明
一、Openstack组件说明
1、Compute (Nova)计算服务
Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需要的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源,网络、授权及测读。虽然Nova本身并不提供任务虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。
Nova它提供了一种配置计算实例(即虚拟服务器)的方法。Nova支持创建虚拟机、裸机服务器,并且对系统容器的支持有限。Nova在现有linux服务器之上作为一组守护进程运行,已提供该服务。
它需要以下额外的OpenStack服务来实现基本功能:
- Keystone:这是为OpenStack服务提供身份和身份验证
- Glance:这提供了计算镜像存储库。所有计算实例都是从Glance镜像启动的。
- Neutron:他负责提供计算机实例在引导时连接到的虚拟或物理网络。
Nova主要功能包括:
- 实例生命周期管理
- 计算资源的管理
- 向外提供REST风格的API
这三个组件组件通过消息中间件传输通信
Nova包含以下主要部分:
API Server(nova-api)位于表示层。用于接受外部请求
消息队列服务(Rabbit MQ)
运算工作站(nova-comoute)负责虚拟机的创建和分配
网络控制器(nova-network)
卷管理(nova-volume)
调度器(nova-scheduler)调度如何选择哪个主机创建VM
2、Image Service(Glance)镜像服务
OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:
- 本地文件系统(默认)
- S3(Simple Storage Service 简单存储服务)直接存储
- S3对象存储(作为S3访问的中间渠道)
- OpenStack对象存储等等。
功能及特点:
提供镜像的管理、包含镜像的导入、格式以及制作相应的模板等相关服务。
Glance包含以下构件:
1)Glance-API
主要负责接收相应镜像管理命令的Resrful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)默认绑定端口是9292.
2)Glance-Registry:
主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。more绑定的端口号是9191.
3、Identity Service(Keystone)认证服务
Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖资深REST(基于Identity API)系统进行工作主要对(单不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定,下图显示了身份认证服务的流程:
功能及特点:
提供了其余所有组件的认证信息/令牌的管理、创建、修改等等、使用MySQL等数据库存储认证信息。
4、Object Storage(Swift)对象存储
Swift是OpenStack提供一种分布式,持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象存储的能力。Swift内建冗余和失效备源管理,也能欧处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。
Swift的功能及特点:
- 海量对象存储
- 大文件(对象)存储
- 数据冗余管理
- 归档能力----处理大数据集
- 为虚拟机和云应用提供数据容器
- 处理流媒体
- 对象安全存储
- 备份与归档
- 良好的可伸缩性
5、Block Storage (Cinder) 块存储
Cinder 是OpenStack Block Storage服务,用于为Nova虚拟机,lronic裸机主机,容器等提供卷。
Cinder的目标是:
- 基于组组件体系结构:快速添加新的行为
- 高度可用:扩展到非常严重的工作负载
- 容错:隔离进程避免级联失败
- 可恢复的:故障应该易于诊断,调试和纠正
- 开放标准:成为社区驱动api的参考实现
作为Cinder的最终用户,我们将使用Cinder创建和管理使用欧冠Horizen用户界面,命令行工具, 如python-cinderclient,或者直接使用REST API。
Cinder的所有功能都是通过REST API公开,可用于使用Cinder构建更复杂的逻辑或自动化, 这可以直接使用或者通过各种SDK使用。
Cinder服务通过一系列守护进程的交互来工作,这些进程名称cinder-*永久驻留在主机或机器上,我们可以从单个节点运行所有二进制文件,也可以分布在多个节点上,我们也可以在与其他OpenStack服务想用的节点上运行他们。
6、Networking(Neutronn)网络服务
提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理界面。
7、Dashboard(Horizon)仪表板
提供了以Web形式对所有节点的所有服务的管理,通常把该服务称为Dashboard。
8、Orchestration(Heat)编排
提供了基于模板来实现云环境中的资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩、负载均衡等高级特性。
9、Telemetry(Ceilometer) 监控
提供对物理资源以及虚拟资源的监控,并记录这些数据,读数据进行分析,在一定条件下触发对应动作
10、Database Service(Trove)数据库服务
提供管理数据库节点的Trove相关、同时提供Trove在Horizon中的管理面板。
11、Data Processing (Sahara)数据处理
二、安装架构说明
- 操作系统: CentOS7
- OpenStack版本: juno
- 关闭防火墙和SELinux
- Controller Node: 1 processor, 2 GB memory, and 5 GB storage
- Network Node: 1 processor, 512 MB memory, and 5 GB storage
- Compute Node: 1 processor, 2 GB memory, and 10 GB storage
1、网络拓扑环境
a、节点说明:
- controller:控制节点,负责对其余节点的控制,包含虚拟机创建、迁移、网络分配、存储分配等等;Keystone、Trove、Glance
- block:存储节点,Cinder
- computer1:计算节点,Nova
- network:网络节点,Neutronn
b、网络说明:
- Management Network :管理网络,四台主机之间通信的网络
- Instance Tunnels Network:实例网络,虚拟机与虚拟机之间通信的网络
- External Network:外部网络,虚拟机与公网沟通的网络,通过Neutronn组件代理上网
c、IP地址规划
- controller:M:192.168.222.5
- block:M:192.168.222.20
- computer1:M:192.168.222.10、I:172.16.0.10
- network:M:192.168.222.6、I:172.16.0.6、E:100.100.100.10
d、节点资源配置情况
- controller:CPU:2、内存:1.5G、网卡:1块、存储:100GB
- block:CPU:2、内存:1G、网卡:1块、存储:20G 100GB 100GB
- computer1:CPU:最大资源、内存:最大资源、网卡:2块、存储:100GB
- network:CPU:2、内存:1.5G、网卡:3块、存储:30GB