IT系统架构的发展到目前为止大致可以分为3个阶段:
1、 物理机架构 这一阶段,应用部署和运行在物理机上。 比如企业要上一个ERP系统,如果规模不大,可以找3台物理机,分别部署Web服务器、应用服务器和数据库服务器。 如果规模大一点,各种服务器可以采用集群架构,但每个集群成员也还是直接部署在物理机上。 这种架构通常系统的资源使用率都很低。
2、虚拟化架构 决定了物理服务器的计算能力越来越强,虚拟化技术的发展大大提高了物理服务器的资源使用率。 这个阶段,物理机上运行若干虚拟机,应用系统直接部署到虚拟机上。 虚拟化的好处还体现在减少了需要管理的物理机数量,同时节省了维护成本。
3、云计算架构 虚拟化提高了单台物理机的资源使用率,随着虚拟化技术的应用,IT环境中有越来越多的虚拟机,这时新的需求产生了: 如何对IT环境中的虚拟机进行统一和高效的管理。 有需求就有供给,云计算登上了历史舞台。
二、OpenStack 简介
1、什么是云计算:
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的网络、服务器、存储、应用软件、服务等能够被快速提供,可简单理解为动态的服务器集群。
云计算提供几个层次的服务:
•SaaS( Software as a Service): 软件即服务
比如某度网盘,我们用户拿到的是一款软件,你拿过来直接用,我们用户不用管这款软件的客户端是运行在什么样的服务器里,它是通过什么样的语言开发出来的,你直接享受服务就可以。
•Paas( Platform as a Service): 平台即服务
我们有服务器以后,你要用服务器做开发程序,那么服务器上必须安装一些开发的环境软件,在云计算里面,直接给你把底层的服务器以及里面需要安装的开发环境软件都给你装好了,你拿过来就可以直接用。
•Iaas( Infrastructure as a Service):基础设施即服务
通过公有云去注册账户,那么你公司要上线一些服务的话,就通过注册公有云公司提供虚拟的云主机,不用你公司内部去买服务器了,每次登陆到公有云的平台,就可以访问到他给你提供的虚拟机。
3、OpenStack:是由Rackspace和NASA共同开发的云计算平台, 是一个开源的 IaaS(基础设施及服务)云计算平台,让任何人都可以自行建立和提供云端运算服务,每半年发布一次,用Python语言编写,截至到2020年6月,OpenStack已经发布到U版本,如需部署OpenStack平台,参考官方文档 :http://docs.openstack.org
三、OpenStack架构及优势OpenStack为私有云和公有云提供可扩展的弹性的云计算服务,这种服务云必须是简单部署并且扩展性强。
1、模块松耦合
耦合:OpenStack中有很多个服务,每个服务都有它的子组件,想提供这个服务的话,必须要这些组件之间去联系配合才可以。组件之间的关系就是耦合,这些组件关系性越强,其中的某一个坏掉了,那么其他的就不能正常工作了,所以说,松耦合性越高,组件间依赖性越低。
2、组件配置较为灵活
3、二次开发容易(需要掌握Python)
四、openstack构成组件 共享组件:
数据库服务( Database Service ):MairaDB 及 MongoDB
消息传输(Message Queues):RabbitMQ
缓存(cache): Memcached
时间(time sync):NTP
存储(storge provider):Ceph、GFS、LVM、ISICI等
高可用及负载均衡:Pacemaker、HAproxy、Keepalive、LVS等
这里我们简单了解下Pacemaker:
它提供一个vip,vip是提供高可用漂移的,它可以把自己负责高可用的服务,通过资源的形式,加入到自己的管理组建里面。比如http,数据库等。如果你要用pacemaker呢,你要把这些服务加入到它的资源管理器里,他能控制这些资源,怎么控制,就是开启,关闭,重启,它还可以可对资源的启动顺序做规定。
比如搭建lnmp架构的网站,nginx依赖于数据库和php来工作,那么你这一个服务器在启动的时候,必须把这些服务调动起来,pacemaker可以设置这些服务的启动顺序,把数据库设为优先启动,再启动你的nginx,还有其他的一些服务。还可控制服务的依赖,什么意思,就是说我就想这个nginx依赖于这个数据库,如果这个数据库不启动的话,我nginx不启动,或者是这个数据库起在第一个节点,我想让nginx也起在这个节点。
还有一个就是粘性,我可以设置某一个服务让它固定启动到某一个节点,比如我有三个节点,node1,node2,node3,平时呢,我可以设置nginx让他正常的情况下启动到node1下面,如果这个node1宕掉了,它会漂移到node2,node3,当我node1恢复了,nginx又回到node1上面。
核心组件:身份服务( Identity Service ):Keystone
为 Openstack 的 各 种 服 务 提 供 认 证 和 权 限 管 理 服 务
计算( Compute ): Nova
管理VM的生命周期,是OpenStack中最核心的服务
镜像服务( Image Service ): Glance
管理VM的启动镜像,Nova创建VM时将使用Glance 提供的镜像
网络 & 地址管理( Network ): Neutron
为OpenStack提供网络连接服务,负责创建和管理L2 、L3 网络 , 为VM提供虚拟网络和物理网络连接
对象存储( Object Storage ): Swift
提供对象存储服务。VM可以通过RESTful API存放对象数据。作为可选的方案,Glance可以将镜像存放在swift中;
Cinder也可以将Volume备份到swift 中
块存储 (Block Storage) : Cinder
为VM提供块存储服务,Cinder提供的每一个Volume在VM看来就是一块虚拟硬盘,一般用作数据盘
UI 界面 (Dashboard) : Horizon
为OpenStack用户提供一个web界面
测量 (Metering) : Ceilometer
提供OpenStack监控和计量服务,为报警 、统计或计费提供数据
部署编排 (Orchestration) : Heat
OpenStack提供的自动编排功能的组件,基于描述性的模板,来编排复合云应用程序



