Openstack新建云主机的流程

摘要:
Openstack允许您在登录到仪表板后单击“创建主机”“单击按钮,选择相应的配置,您就可以在几十秒内创建一个虚拟机供您使用。您怎么能做到这一点?别担心。让我慢慢地和您谈谈,在流程概览图中创建一个新的虚拟机。首先,在您访问仪表板后,会显示一个登录页面。Horizon告诉您,您希望使用Openstack创建一个w虚拟机?然后你先给我你的帐户密码,然后等我在找我的大哥,keysto

Openstack可以让你在登录dashboard之后只需要点一下”创建主机“的按钮,选择相应配置,在几十秒内就可以创建好一台云主机供你使用,这么牛逼的事情是怎么做到的呢?

别着急,听我跟你慢慢道来

新建一个云主机流程总览图

 Openstack新建云主机的流程第1张

图中流程-1

首先你访问dashboard之后,显示的是一个登录页面,人家horizon告诉你:想用Openstack新建云主机?那你先把你的账号密码交给我,等我找我大哥keystone确认你的身份之后才能放你进去

 Openstack新建云主机的流程第2张

原来我还一直以为这里登录的时候只是一个简单的django框架使用pymysql直接查询数据库,而实际上这里的表单信息是提交到了keystone,然后通过keystone查询数据库进行验证的

图中流程-2

keystone接收到前端表单传过来的域、用户、密码信息以后,查询了数据库,确认身份后将一个token(就像是办了身份证~~~)返回给该用户,让这个用户以后再进行操作的时候不需要再提供账号密码,而是拿出token来

图中流程-3

horizon拿到token之后,实际上这里在web页面上的显示就是登录成功了,接着找到创建云主机的按钮并点击

Openstack新建云主机的流程第3张

填写云主机相关配置信息

Openstack新建云主机的流程第4张

填了这么一大堆配置信息,点击启动实例之后,horizon就带着三样东西去找nova-api了:

  1.创建云主机的请求

       2.云主机相关配置信息

  3.刚刚keystone返回给的token

图中流程-4

你horizon来找我nova-api办事可我也不认识你啊,这样,你把身份证给我,我去找我大哥keystone问问(这些组件都有一个共同的大哥keystone,但他们自己之间却不认识)。然后他就带着horizon的token去找keystone

图中流程-5

keystone一看nova-api带来的token,这不就是自己刚发的那个么,但程序可没这么聪明,它还得乖乖查一次数据库,然后告诉nova-pai,这兄弟信得过,你就照它说的做吧

图中流程-6

nova-api从大哥那回来,接收了horizon提供的两样东西,一是云主机配置信息,二是创建请求,这nova-api手底下也有一帮小兄弟,这帮人之间沟通可不太方便都得通过一块小黑板(mq消息队列),把自己的需求写在小黑板上,能做的了这事的人自然就去做了。但配置信息现在还不能写在小黑板上,得找到确定去干活的人之后才行啊,所以nova-api就把配置信息放到数据库里

图中流程-7

数据库把配置信息收好之后,对nova-api说了声,我放好了

图中流程-8

放好配置信息后nova-api就在小黑板上写“现在要创建一台云主机,配置信息我已经放到数据库了,小s你给安排安排吧”

图中流程-9

这个小s就是nova-schedular,他就像是nova-api的秘书,nova-api的有事都是通过它交代给其他人的,这一步就是他从小黑板上看到了nova-api的信息

图中流程-10

小s现在知道了要创建云主机,但它要看一看云主机都要什么配置,才好决定该把这事交给谁去做(这里是指多个nova-compute的情况,各个计算节点的资源使用情况都在小s这里),所以他让数据库把云主机配置信息发给他看看

图中流程-11

数据库收到请求之后,把云主机配置信息发给小s

图中流程-12

小s拿到配置信息后,使用调度算法决定了要让nova-compute去干这个事,就在小黑板上写“nova-compute你给创建个云主机,配置都在数据库里了”

图中流程-13

nova-compute看到小黑板上的东西之后,本应该直接去数据库拿取配置信息,但因为nova-compute的特殊身份,nova-compute所在计算节点上全是云主机,万一有一台云主机被黑客入侵从而控制计算节点,直接拖库是很危险的。所以不能让nova-compute知道数据库在什么地方

图中流程-14

nova-compute没办法去数据库取东西难道就不工作了吗?那可不行啊,他不知道去哪取,但他哥们知道啊,于是他在小黑板上写“nova-conductor,你帮我去数据库取一下配置信息”

图中流程-15

nova-conductor从小黑板上看到了nova-compute的请求

图中流程-16

nova-conductor告诉数据库我要查看某某云主机的配置信息

图中流程-17

数据库把云主机配置信息发送给nova-conductor

图中流程-18

nova-conductor把配置信息写在小黑板上

图中流程-19

nova-compute从小黑板上读取云主机的配置信息

图中流程-20

nova-compute拿到了云主机配置信息一看,人家可是专业的,立马就知道该怎么做了,先去找glance-api拿镜像吧,刚才讲了那么多,可都是在nova组件内部的,这次去找别的组件可不是写在小黑板上了,它得带着自己的身份证去,告诉glance-api,我要xxx镜像

图中流程-21

glance-api看nova-compute过来,他可不认识nova-compute,让nova-compute拿出身份证,拿着人家身份证找到自己大哥keystone看看这人靠不靠谱,keystone一看,没问题,按他说的做吧(在nova验证horizon被当做两步,这里化做一步,是为了简化重复的流程)

图中流程-22

glance-api把镜像资源信息返回给nova-compute(这里主要说创建云主机的过程,除nova外其他组件内部先不提)

图中流程-23

接着nova-compute找到neutron-server(图里画错了,因为是偷别人的图,自己的图画了半天画不好。。。),告诉他我要xxx网络资源

图中流程-24

neutron-server也不认识他,拿着他的身份证找keystone确认了一下身份

图中流程-25

nuetron-server把网络资源信息返回给nova-compute

图中流程-26

nova-compute找到cinder-api要存储资源,云主机得有硬盘啊,得存东西啊(同样,这里图中也有错误)

图中流程-27

cinder-api也不认识他,拿着他的身份证找keystone确认了一下身份

图中流程-28

cinder-api把存储资源信息返回给nova-compute

图中流程-29

nova-compute拿到了所有资源之后,他其实也只是个收集信息的,他把工作全都交给了真正创建虚拟机的Hypervisor(kvm,zen等虚拟化技术)

到此为止,你已经拥有了一台云主机了,流程看似复杂实际上在几十秒就完成了

免责声明:文章转载自《Openstack新建云主机的流程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CURL错误代码及含义使用apache的ab命令进行压测下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

openstack的glance、nova、cinder使用ceph做后端存储

块设备与 OPENSTACK 通过 libvirt 你可以把 Ceph 块设备用于 OpenStack ,它配置了 QEMU 到 librbd 的接口。 Ceph 把块设备映像条带化为对象并分布到集群中,这意味着大容量的 Ceph 块设备映像其性能会比独立服务器更好。要把 Ceph 块设备用于 OpenStack ,必须先安装 QEMU 、 libvirt...

OpenStack:安装Keystone

>安装Keystone1. 安装# apt-get install keystone2. 创建dbcreate database keystone;grant all privileges on keystone.* to 'keystone'@'%' identified by 'openstack';grant all privileges on...

跨时代的分布式数据库 – 阿里云DRDS详解

随着互联网时代的到来,计算机要管理的数据量成指数级别的飞速上涨。而我们完全无法对用户数做出准确的预估,我们的系统所需要支持的用户数很可能在短短的一个月内突然爆发式的增长几千倍,数据也很可能快速的从原来的几百GB飞速上涨到了几百个TB。如果在这爆发的关键时刻,系统不稳定或无法访问,那么对于业务将会是毁灭性的打击。 伴随着这种对于系统性能、成本以及扩展性的新需...

Cassandra与职业发展 | 阿里云栾小凡 × 蔚来汽车张旭东 × 网龙阙乃祯

活动精彩实录 | Cassandra与职业发展 点击此处观看完整活动录像​   大家好,我叫邓为,我目前在DataStax担任领航架构师。我在DataStax工作了7年多的时间,也有7年多的Cassandra经验,我在大数据和数据库领域的经验则有大约十多年的时间。很高兴今天能够邀请大家到我们的活动中,来听听我们的嘉宾们与职场相关的经验和感悟。 ​ 我们今天...

浅析小程序云原生数据库的设计与应用

作者 腾讯TEG云架构平台部 研发工程师 杨哲、刘翔 腾讯CSIG云产品部 前端工程师 王伟嘉 导语 小程序云开发拥有易接入、高性能、高可用等特性,提供完整的原生云端能力支持,可有效降低后端与运维成本,帮助开发者更专注于业务,实现快速上线与迭代。其中,小程序云开发的数据库是一个既可在小程序前端操作、也能在云函数中读写的 JSON 数据库,强大且稳定。 本篇,...

openstack swift节点安装手册3-最后的安装配置及验证

以下步骤都在controller节点上执行 1、远程获取/etc/swift/swift.conf文件: curl -o /etc/swift/swift.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/swift.conf-sample?h=stable/newton 2、修改/...