openstack(一)初识及其架构

网友投稿 246 2022-11-13

openstack(一)初识及其架构

小生博客:云服务和计算的类型

二、 openstack简史

三、 openstack架构

四、 openstack关键组件

一、云计算简述

1. 云计算的类型

私有云:系统边界明确,一般部署在企业内部

共有云:部署在开放环境,如:阿里云、腾讯云、华为云等

混合云:以私有云为基础,能够在业务负载超越私有云自身能力或其它指定的情况下,把部分业务负载透明地分流到其它云上进行处理

2. 云计算服务类型

Iaas:提供基础设施级服务(cpu、内存、存储、网络资源等)

Pass:提供平台级服务,在iaas基础上,提供应用软件的平台

Saas:提供软件级服务,如:购买exchange的saas,购买后直接使用,无需客户对软件进行维护

二、 Openstack简介

1. Openstack历史

Openstack的版本以Austin、Bustin、Custin的顺序命名,一般半年更新一个版本

2010年,由美国国家航空航天局联手Rackspace,在建设美国国家航空航天局的私有云过程中,创建了openstack的项目,之后他们邀请其他供应商提过组件,建立了一个完整的开源云计算解决方案。

Rackspace (NYSE:RAX)全球三大云计算中心之一,1998年成立,是一家全球领先的托管服务器及云计算提供商。

2010年诞生的第一个版本Austin,只包含Rackspace和美国国家航空航天局的组件。之后发布的版本包含了已加入该项目的供应商开发的附加组件

2. Openstack的作用和特点

提高企业计算、电源、网络带宽等资源利用率

根据客户需求,按需分配,无需人工干预

网络访问:可以通过网络使用任意类型的异构计算能力,通过标准化的机制调用计算资源而不受限于具体的访问设备

资源池:多个用户可以同时访问和使用云计算提供的计算服务

弹性:根据需求,不停机或短暂停机后迅速垂直或横向扩展

计量或测量服务:按照使用的时间、传输速率或存储大小支付云计算服务

3. Openstack的功能

三大核心功能:计算、存储、网络;分别对应相应的项目Nova,Cinder等

Nova提供了计算资源的管理,可以管理跨服务器网络的vm实例。同时Nova还提供了对多种Hyperviosr的支持,如KVM,QEMU,Xen,LXC,Vmware,Hyper-V,Powervm等

Cinder提供了存储资源的管理,可以管理各个厂商提供的专业存储设备

三、 Openstrack架构

整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)

四、 Openstack关键组件

1. Mysql

Openstack所使用的数据库,包括nova,glance,cinder等在内的组件都会建立自己的数据库,保存一些必要的数据

2. Keystone

1)Openstack的用户认证组件,它的功能主要是建立管理项目的用户和各种服务端口,以及进行用户的身份认证,若要使用openstack的任意的API,第一步就必须通过keystone的验证。

2)keystone的主要功能是提供认证和编录服务

3) keystone提供了两种认证方式:token(基于令牌),identify(基于用户名/密码)

token(令牌,实际是一个随机字串,在认证时直接使用),主要用于内部各组件之间

identify(账号,密码),需要用户登陆时,如用户通过horizon访问云资源

4)除此之外,Keystone提供以下三种服务:

令牌(token)服务:含有授权用户的授权信息

编录(catalog)服务:含有用户合法操作的可用服务列表

策略(policy)服务:利用Keystone具体指定用户或群组某些访问权限

3. Glance

用来存放管理虚拟机镜像和快照的服务,这也是一个最小架构中必须有的服务。

glance存放镜像的元数据的

registry:调用数据库的接口,检索接口

database:映像文件的存储位置等

swift:分布式存储

4. Neutron:

网络服务,用来提供虚拟机网络通信的组件,负责接收对网络的调用请求

5. Nova

Nova是个至关重要的组件,也是个相对庞大的组件,其中有很多服务,它是进行生成虚拟机工作的主要服务。

Nova计算节点,是openstack的最核心的节点,运行虚拟机实例,分配cpu、内存,nova-compute本身并不能运行虚拟机,是要通过hypervisor,nova-compute通过api调用hypervisor,,nova-compute支持那种api就可以调用那种hypervisor,如nova-compute支持libvirt api就可以调用libvirt支持的hypervisor(如kvm),xenapi可以调用xen

6. Cinder

块存储

用来创建,删除及管理volume(虚拟磁盘卷),以及给volume做快照等服务的组件

swift:分布式文件系统,用来存储镜像文件模板

7. Horizion

Openstack 的web管理页面,使用django框架开发。Web管理页面包含了日常使用的大部分功能,提供给用户一个最直观的展现方式。很多简单的二次开发都是从Horizon开始的。

8. Rabbitmq

在openstack中,各个服务之间是通过消息来交互的,因为openstack使用AMQP作为消息传递的技术,所以rabbitmq,qpid,zeromq等支持AMQP的软件都是被openstack所支持的。Rabbitmq是第一个被openstack所使用的消息传递软件。Openstack通过AMQP实现RPC服务,来保证不同组件之间的通信,rabbitmq是控制节点中的一个非常关键的服务。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解Java 加密解密和数字签名问题
下一篇:另类的无线传输技术还可以这么用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~