OpenStack

综合的云计算管理平台。
openstack

HORIZON

提供WEB统一化管理界面,提供自动化仪表板的管理服务,实现对用户、租户、卷、网络等几乎所有资源的图形化管理。

NOVA

计算服务。负责虚拟机实例的计算分配及创建、启停、迁移重启等实例操作,从而管理云中实例的生命周期。是openstack云中的组织控制器。负责处理器调度策略及API调用等。提供了统一风格的RestAPI,支持透明的hypervisor,各模块通过消息队列进行值传递。是管理平台计算资源、网络、认证所需的可扩展性平台。

常用术语

KVM
内核虚拟化,为openstack中默认的Hypervisor层。
Qemu
KVM的替补,没有KVM执行效率高,不支持全虚拟化。
Flavor
新建虚拟机的配置列表,可以认为是创建虚拟机模板。
Keypair
SSH连接访问实例的密钥对。
安全组
控制实例访问策略的容器,包含各种安全组规则。
安全组规则
控制实例访问的具体策略。

NOVA框架

框架
API:提供统一风格的rest api接口,作为Nova的入口接受用户请求。
SCHEDULER:调度将实例分配的具体计算节点。
CONDUCTOR:负责与nova数据库交互。
COMPUTE:运行在计算节点上,进行虚拟机实例的创建及管理。
MESSAGE QUEUE:Nova各组件间的消息传递。

NOVA架构

架构

Swift

提供高可用分布式对象存储服务,为Nova组件提供虚拟机镜像存储,提供存储数据的易用服务。数据冗余方面无需采用RAID,在软件层面引入一致性散列技术及数据冗余,牺牲一定程度的数据一致性达到高可用及可伸缩性。支持多租户模式下容器和对象读写操作,适用于互联网场景下非结构化的数据存储。

常用术语

Account
不是用户,而是用户定义的存储管理区域。
Container
存储隔间,类似于文件夹或目录。
Object
对象。包含了基本的存储实体和它自身的元数据。
Ring
记录了磁盘上存储的实体名称和物理位置的映射关系。
图示
Region
地域,从地理位置上划分的一个概念。
Zone
可用区,按照独立的供网、供电基础设施划分。
Node
节点,存储服务器。
Disk
磁盘。物理服务器上的存储设备。
Cluster
群集,为冗余考虑的部署架构。
图示

Swift功能

Swift在物理结构上往往会存储对象的多个副本,通常按照物理位置的特点,将对象拷贝到不同的物理位置上,来保证数据的可靠性。

Swift架构

架构

Glance

为Nova提供镜像服务。以便启动实例的组件。实现镜像的创建、镜像快照管理及镜像模板等。
通常不负责镜像的本地存储。
镜像格式:raw,qcow,vhd,vdi,iso,qcow2,aki,ami;
镜像不保存在本地而在后端。swift,filesystem,amazons3。

Glance组件

Glance-api
负责提供镜像服务的rest api服务。
Glance-registry
主要负责与Glance适用的数据库交互。

Glance 架构

架构

Keystone

身份认证、服务规则、服务令牌功能。管理用户、租户、角色、服务和服务端点,可以支持SQL,PAM,LDAP后端认证。类似服务的总线或者说整个openstack框架的注册表。其他服务都是通过Keystone注册其服务的URL路径实现服务间的相互访问及调用。
任何服务间相互调用,都需要经过Keystone的身份验证。

常用术语

User
openstack最基本的用户。
Project
分配给使用者资源的集合。
Role
一组用户可以访问资源的权限。
Domain
定义管理边界,是最上层的集合。可包含多个project/tenant、user、role等。
Endpoint
服务的URL路径,可认为是服务暴露出的访问点。
图示

Keystone认证原理

认证
用户创建时通过keystone申请一张访问令牌access token,当用户提出创建虚拟机实例请求时,用户将访问令牌及创建请求提交给Nova,Nova为确保令牌未被篡改,会先将令牌发到Keystone验证,验证通过后Nova为了启动虚拟机实例还需向Glance申请镜像资源,Glance做如上操作无误后会向Nova发放镜像资源,Netron等同理。如图。

Neutron

  1. 提供网络服务的核心组件。
  2. 基于软件定义网络的思想。

常用术语

Bridge-int
实现内部网络功能的网桥。
Br-ex
跟外部网络通信的网桥。
Neutron-server
提供API接口。
Neutron -L2-agent
实现二层网络通信代理,用于管理VLAN的插件,接受Neutron-server的指令创建VLAN。

Neutron组件

Neutron-DHCP-agent
为子网自动分发IP地址。
Neutron-l3-agent
租户网络和floating IP间地址转换,通过LINUX中iptable中nat实现。
Neutron-meterdata-agent
响应Nova的meterdata请求
LBaaS agent
为多台实例和open vswitch agent提供负载均衡服务。
图示

Neutron架构

架构
将从API接到的消息以消息队列的方式提交给二层或三层代理。
DHCP-Agent实现子网创建及IP地址自动分发。
L2-Agent实现相同VLAN下网络通信。
L3-Agent实现同一租户网络下不同子网间通信。

Ceilometer

计量服务,数据监控器。平台中各个组件信息的统一采集和处理,实现对各组件的监控及流量统计。为流量计费提供数据支撑。

重要节点

Ceilometer-agent-compute
运行在计算节点上,收集计算节点上信息的代理。
Ceilometer-agent-central
运行在控制节点上,轮询服务的非持续化数据。
Ceilometer-collector
运行在一个或多个控制节点上,监听Message Bus,将收到的消息写入到数据库。
Storge
存储收集到的样本数据。
API server
运行在控制节点,提供对数据库数据的访问。
Mssage Bus
计量数据的消息总线,提供数据给collector。

Ceilometer 架构

架构
如图,有两种数据采集方式。
蓝色:消耗了各服务自动发出的Notification。(Ceilometer首要数据来源)
黑色:调用各服务的API主动轮询获取数据。(周期性)

Cinder

  1. 块存储服务。为虚拟机实例提供volume卷的持久化块存储服务,可将卷挂载到实例上作为实例的本地磁盘使用。一个卷可同时挂载到多个实例,但共享的卷同时只能被一个实例写操作。
  2. 支持对卷的快照、备份等管理。
  3. 基于插件的服务,容易扩展。

支持的文件系统类型

LVM/ISCSI;
NFS;
NetAPP NFS;
Gluster;
DELL Equall Logic。

常用术语

Volume备份
volume卷备份。存放在存放在备份的设备中。
Volume快照
卷在某个时间点的状态。
Cinder API
为cinder请求提供统一风格的Rest API服务。
Cinder Scheduler
为新卷指定块存储设备。
Cinder Volume
与存储的块设备交互,实现卷的创建、删除、修改等操作。
Cinder Backup
负责通过驱动和后端的备份设备打交道。

Cinder架构

架构
用户或Nova Compute提出创建卷的请求时,Cinder API接收请求,再以消息队列的方式发送给Cinder Scheduler,Scheduler监听到来自API的数据后到数据库查询当前存储节点的状态信息,并根据预定策略选择卷的最佳Volume Service节点,再将调度结果发布出来给Volume Service调用,Service收到调度结果后会查找Volume Providers在特定存储节点创建相关卷,将相关结果返回给用户同时将修改的数据写入数据库。

Heat

提供基于模板的编排服务。

常用术语

Stack
指的是Heat要用到的所有设施和资源的集合。
Heat template
Heat的模板,以.yaml结尾的文件,用于创建stack。
Hest-api
提供rest api服务,将api请求发送给heat engine执行
Heat-api-cfn
支持亚马逊格式访问的rest api。
Heat-engine
Heat的核心模块,接收API请求在openstack中创建资源。

Heat组件

Heat-cfntools、Heat-init
在镜像中安装完成虚拟实例操作任务的工具。
Heat-api-cloudwatch
监控编排服务。
Resource
底层各种服务抽象的集合。
Heat-client
调用访问其他各个组件的client工具。

Heat架构

架构
用户在Horizon或命令行中提交创建模板和参数的请求时,Heat服务接收请求调用Heat API或 Heat API CFN,Heat API或 Heat API CFN验证模板的正确性,然后将通过消息队列异步传送给Heat Engine处理。
架构 续
Heat Engine拿到请求后,会把请求解析为各种资源类型,每种资源有相关client与资源映射的服务对应。接下来client发送rest请求给其他服务获取相关资源。从而完成请求的处理。
Heat Engine作用在此处分为三层:

1.处理Heat层面的请求,根据模板和输入的参数创建stack;
2.解析stack里各种资源的依赖关系及stack的嵌套关系;
3.根据解析出的关系依次调用各种服务的client来创建各种资源。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值