一、云计算
云计算是一种按量付费的模式,底层是通过虚拟化技术区实现的。首先它是一种模式,不是一种技术,阿里云,腾讯云都可以买到包月付费的云主机。
二、 云计算的服务类型
IAAS 基础设施即服务
PAAS 平台即服务
SAAS 软件即服务
三、OpenStack介绍
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache 2.0许可证授权的自由软件和开放源代码项目,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
Openstack系统由几个关键服务组成,它们可以单独安装。服务包括计算服务、认证服务、网络管理、镜像服务、块存储服务、对象存储服务、计量服务、编排服务和数据库服务。
OpenStack是一个开源的云计算管理平台项目,通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。OpenStack云计算平台,帮助服务商和企业内部实现类似于Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。
OpenStack开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。
OpenStack官方文档地址:https://docs.openstack.org
OpenStack架构图
整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)
其中:
控制节点负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
计算节点负责虚拟机运行
网络节点负责对外网络与内网络之间的通信
存储节点负责对虚拟机的额外存储管理等等
1.控制节点架构
1)管理支持服务
管理支持服务包含MySQL与Qpid两个服务
MySQL:数据库作为基础/扩展服务产生的数据存放的地方
Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务
2)基础管理服务
基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务
Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库。管理Domains、Projects、Users、Groups、Roles
Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作。
Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。
Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等,
3)扩展管理服务
扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务
Cinder:为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷,同时提供Cinder在Horizon中的管理面板
Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板
Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板
Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作。
控制节点一般来说只需要一个网络端口用于通信/管理各个节点。
2. 网络节点架构
网络节点仅包含Neutron服务
Neutron:负责管理私有网段与公有网段的通信,以及管理虚拟机网络之间的通信/拓扑,管理虚拟机之上的防火墙等等
网络节点包含三个网络端口
eth0:用于与控制节点进行通信
eth1:用于与除了控制节点之外的计算/存储节点之间的通信
eth2:用于外部的虚拟机与相应网络之间的通信
3. 计算节点架构
计算节点包含Nova,Neutron,Telemeter三个服务
1)基础服务
Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务
Neutron:提供计算节点与网络节点之间的通信服务
2)扩展服务
Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务
计算节点包含最少两个网络端口
eth0:与控制节点进行通信,受控制节点统一调配
eth1:与网络节点,存储节点进行通信
4. 存储节点架构
存储节点包含Cinder,Swift等服务
Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等
Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件
存储节点包含最少两个网络接口
eth0:与控制节点进行通信,接受控制节点任务,受控制节点统一调配
eth1:与计算/网络节点进行通信,完成控制节点下发的各类任务
5. OpenStack组件架构图
Nova - 计算服务
Neutron-网络服务
Swift - 对象存储服务
Cinder-块存储服务
Glance - 镜像服务
Keystone - 认证服务
Horizon - UI服务
Ceilometer-监控服务
Heat-集群服务
Trove-数据库服务
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:OpenStack云计算简介 - Python技术站