总结(每个服务的部署)

openstack:

 

就是里面有各种各样的服务,服务有三个端点可以访问,就是

一:keystone服务(5000)

keystone服务就是提供认证的作用

1:组件模块

令牌模块:就是用来生成模块和管理模块

目录模块:就是用来管理服务和端点的信息

验证模块:就是管理用户,角色,项目,提供认证服务

策略模块:就是用来存储和管理访问的权限

2:基本的流程

keystone是一个很重要的服务,因为,每项服务都需要经过keystone的认证,才能使用对应的服务

认证分为:2种

第一次认证:用户初次登录系统时,需要向keystone提交用户名和密码,如果是合法的用户话,就会给他一个令牌,用于后续的认证的使用,这个令牌包含着用户对服务的使用权限,令牌的失效时间等

第二次认证:就是用户已经登录上了Openstack,使用openstack任何的组件,都会提交令牌;提供服务的组件将令牌交给keystone判断令牌是否合法,是否有权限获得服务,只有通过keystone服务的认证,服务才能响应请求

就是每个组件都会一个参数用来将服务的令牌提交给keystone服务来进行认证

 工作流程

 

二:glance服务(9292)

就是提供镜像和管理镜像的服务

镜像元数据:就是关于镜像文件的一些数据,文件名和文件大小,文件的状态

1:组件结构

应用接口(glance-api):这个接口就是glance对外提供服务的接口,当收到的请求是对镜像元数据进行操作时,api就会与数据库进行交互,从而获得镜像元的数据,

收到的请求是对镜像文件进行处理的话,api就会通过存储适配器调用后端存储来管理镜像文件,实现对镜像文件的操作

存储适配器:api这个接口中集成了这个,他也是一个接口层,里面包含了对各种镜像文件操作的方法,但是都必须通过调用后端存储中某个具体的文件系统才能实现

后端存储:不是glance的组件,glance自己并不存储镜像,真正的镜像文件存储在后端存储里面

常见的有本地的文件系统(file system),ciinder,swift

关于这个的后端存储,可以在配一只文件的中设置

2:基本的工作流程

就是nova服务提供一个请求镜像的请求,然后api向数据库里面查询有没有这个镜像,就获得了这个镜像文件的地址,然后存储适配器通过这个地址到后端存储里面找到,然后提供给nova组件

 

 

nova服务创建虚拟机的时候,需要镜像文件

 

 

 

三:placement服务(8778)

主要与nova组件进行合作

就是用来监控资源的使用情况

就是在没有这个组件话,openstack这个平台不知道剩余的主机的资源,或者不知道整个平台的资源的使用情况

1:组件结构

就是一个placement-api这个接口模块,将获得的数据(系统资源的使用情况的数据)提供给nova组件

 

2:工作的流程

就是nova组件先发送一个请求给api,就是创建云主机的信息(cpu,mem的大小),然后api去数据库里面查找,有2个数据,第一个数据就是空闲的资源足以创建云主机的以及剩余的资源的情况,第二个数据就是这些物理主机原有的信息,然后,placement将这2个数据告诉nova组件的scheduler,scheduler选择一个主机来进行创建,并将结果告诉placement和nova的compute组件,placement修改这个数据库里面的信息

 流程图

 

四:nova服务(8774,8775,8778)

1:nova负责管理管理openstack中的云主机的实列的创建,删除,启动,停止等,其他服务对他提供支持

2:计算节点通过nova-compute进行虚拟机的创建,通过libvirt调用kvm创建虚拟机,nova之间的通信通过rabbitmq队列进行通信

nova自身没有任何虚拟化的能力,他通过虚拟机管理器(hypervisor)来创建和管理云主机

hypervisor为多种虚拟化程序(KVM,XEN,vmware esx qemu)提供接口服务

作用

1:负责管理金额维护云计算环境的计算资源,负责整个云环境虚拟机生命周期的管理

2:nova是openstack中的计算服务,负责维护和管理网络和存储,提供计算服务

 

2:各种模块(组件)

nova-api:用于接收和响应外部的请求,也是外部用于管理nova服务的唯一接口

nova-scheduler:负责虚拟机的调度服务,与placement合作,负责从计算机集群中选择某台虚拟机进行创建(placement将信息给到nova的数据库中去)

nova-compute:核心模块,负责虚拟机的创建和资源的管理,本身不提供任何虚拟化的能力,通过使用第三方的工具创建和管理虚拟机

nova-conductor:负责与数据库的连接管理,nova的其他组件均通过它与数据库进行交互

 

3:nova的单元管理模式

计算节点被分为若干个小的单元进行管理,除了顶层的单元cell0外,每个单元都有自己的消息队列和数据库,

cello包含接口模块和调度模块,其余的单元cell1,cell2.负责云主机的实列的创建与管理,随着计算节点的扩大,单元也会扩大

nova一共有三个数据库,cell_api,nova_cell0,nova

顶层单元cell0使用了nova_api,nova_cell0数据库

nova_api数据库存放的全局信息,单元的信息,实列的信息

nova_cell0当云主机调度失败的时,云主机的信息不属于任何一个单元,就是能存放到nova_cell0

nova数据库为其他所有单元服务,存储了单元中云主机的相关信息

 

4:组件架构

 

工作的流程

 

nova-api发送请求到消息队列中去,nova-compute收到请求后,发送给placement,placement将获取的信息发送到nova-api这个接口中去,放在了数据库中去了,nova-scheduler模块在nova-conductor模块中的作用下,从数据库中去获取数据,从而选择一个云主机,然后将这个信息返回给placement修改,将这个请求发送给nova-compute,进行创建虚拟机

 

与placment组件进行交互-----获得资源的信息

与glance组件进行交互-----获得镜像(windows的镜像和linux的镜像)

与neutron组件进行交互----获得网络

与cinder组件进行交互-----获得磁盘

 

五:neutron服务(9696)

干什么的:就是为云主机创建网络的

基础的概念:

网桥:就是用于云主机和主机进行通信的,内部网桥和外部网桥,类似于一个交换机

网络:就是一个局域网,不同的局域网之间是相互隔离的,可以包含多个子网

子网:从网络中划分的一个地址段,作用就是,在云主机的的虚拟接口连接在端口上时,就会分配一个地址给这个云主机;可以包含很多个端口

端口:从子网中划分出来的,上面有mac和ip地址,用于连接云主机的

总结:就是在创建好子网后,云主机会有一个虚拟出来的一个接口,一旦创建了一个云主机,指定了一个网络(端口就会自动的创建一个,并且ip地址有子网给出)

 

组件的架构:

neutron-server模块:neutron服务模块,对外提供服务api

neutron-plugin模块:这个插件对应某个功能,每个厂商可以做自己的插件

neutron-agent模块:就是插件要实现某个具体的功能必须要通过代理,这个代理接受各个参数。比如,创建网络,子网,出现问题的话,会告诉plugin模块

 

 

 

工作的流程:

就是server接受到请求后,发送给plugin,通过调用agent来实现某个功能

 

 

六:cinder服务

作用:就是为虚拟机提供虚拟磁盘管理服务

三种存储方式

1:文件存储

2:块存储

3:对象存储

 

cinder组件架构

cinder-api:cinder的api接口,外部管理cinder的唯一入口

cinder-volume:这个是对卷进行管理

cinder-scheduler:通过调度算法从多个存储节点选择合适的节点来创建卷

cinder-provider:通过驱动调用具体的卷管理系统来实现对卷的具体操作,

 cinder-backup:为卷提供备份服务

 

cinder的基本工作流程:

cinder-api接收到用户创建卷的命令后,发送到消息队列中去

cinder-scheduler从消息队列中获得请求和数据以后,从若干个存储节点中选择一个,并将消息发送个消息队列中去

cinder-volume:从消息队列中获取请求后,通过volume-provider调用具体卷管理系统在存储设备上创建卷

 

 

 

 

 

总结:就是熟悉每一个服务是怎么运行的,这个是第一步,服务的概念全部弄好,每个服务的流程图

第二步就是:每个服务的运维操作

比如keystone和nova和neutron服务

 

 

 

 

 

 

 

总结哪些内容了,就是相关服务的流程,就是这个服务的工作流程,就比如这个服务包含哪些组件,怎么与数据库进行交互的,怎么在生产环境中工作的

posted @ 2023-11-17 09:50  q_7  阅读(32)  评论(0编辑  收藏  举报