在OpenStack环境中创建一个VM实例

在OpenStack平台上创建一个VM实例,在OpenStack组件间一般会经历以下过程:

以某个有创建VM权限的账户登录到OpenStack环境(Web环境或者命令行环境);
账户发起创建VM的请求,Keystone认证通过后发给该账户token;
账户凭token调用nova-api创建VM;
nova-api将账户户要创建的VM资源信息发给nova-scheduler,由nova-scheduler调度VM承载机器;
承载机器上的nova-compute从nova-conductor处获得flavor,并向glance-api请求镜像;
glance-api从glance-registry处获取镜像位置等信息,并反馈给承载机器上的nova-compute;
nova-compute向neutron-server发起网络创建请求;
neutron-plugins根据neutron-server发出的消息查找被建网络的资源信息,并传达给neutron-agents去创建;
neutron-server将neutron-agents的创建结果反馈给承载机器上的nova-compute;
承载机器上的nova-compute向cinder-api发起持久存储请求,并传达到cinder-scheduler处,由cinder-scheduler调度承载机器;
cinder-scheduler调度的承载机器的cinder-volume调用后端存储驱动,创建持久化存储设备,并将创建结果反馈给cinder-api;
至此,创建VM所需要的计算、系统镜像、网络、存储等资源具备;
nova-compute调用KVM、XEN、VMware等hypervisor创建VM实例;
至此,用户便可启动并测试新创建的VM实例,进行恰当的配置后便可使用。
?

创建VM实例时,Glance中必须先存储有目标镜像,通过LinuxOS官网获得的ISO格式镜像是不能直接用于OpenStack环境的,一般我们会把ISO镜像安装到某个虚拟机中进行定制、删除MAC地址记录文件后导出为qcow2格式,并上传到Glance中存储。

?

示例:创建CentOS官云镜像VM实例

到CentOS官网下载qcow2格式的云镜像,http://cloud.centos.org/centos/7/images/
执行自定义的环境变量脚本,内容大致如下:

export OS_TENANT_NAME=adminTenant

export OS_USERNAME=admin

export OS_PASSWORD=openstack

export OS_AUTH_URL=http://****

执行命令:

wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1802.qcow2c

将CentOS云镜像上传到Glance
glance image-create --name centos71802 --disk-format qcow2 --container-format bare --is-public True --file /images/CentOS-7-x86_64-GenericCloud-1802.qcow2c

查看Glance中存储的镜像
glance image-list

查看系统服务状态
nova service-list

查看网络资源
nova network-list

查看镜像资源
nova image-list

查看Flavor约束
nova flavor-list

配置防火墙,打开SSH和ICMP
nova secgroup-list

nova secgroup-add-rule 安全组 tcp 22 22 0.0.0.0/0

nova secgroup-add-rule 安全组 icmp -1 -1 0.0.0.0/0

nova secgroup-list-rules 安全组

获取keypair
nova keypair-list

创建VM实例
nova boot --image 镜像值 --flavor 模板值 --nic net-id=网络值 --security-groups 安全组值 --availability-zone 宿主机的主机名和ZONE名 --key-name 用户名 实例名

查看VM实例的创建情况
nova list?

获取VNC控制台命令
nova get-vnc-console 实例名 novnc

?

至此便可通过Web页面访问VM实例了,登录时使用创建VM时的用户名和密码。

?

? ? ? ? ? ? ? ? ?

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????孟伯,20200306

??????????????????????????????????????????????????????????????????????????????? ? ? ? ? 交流联系:微信 1807479153 ,QQ 1807479153

原文地址:https://blog.51cto.com/6286393/2476080

时间: 2024-10-12 02:31:24

在OpenStack环境中创建一个VM实例的相关文章

Confluence 6 从生产环境中恢复一个测试实例

请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明. 很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 Confluence 服务器,同时还会设置一个测试实例来测试升级等.在这种情况下,你的 Confluence 可以回运行 2 个不同的版本,而且也是非常常见的.这个文档将会知道你如何拷贝生产环境中的数据到一个测试实例中,同时测试环境的版本和生产环境中的版本还有可能是不同的. 在开始这个操作指南之前,

openstack中创建一个虚拟机经过的51步

一.前言 本文在林海峰老师"openstack创建一个VM所需的29步"基础上进行了补充和修改,文中只用到了openstack六个核心组件,为了便于理解,架构中不同组件内的rabbit mq和db为同一个(可以为每个组件配置单独的db和rabbit mq).openstack组件之间通过REST调用,组件内通过RPC协议通信,RPC协议又是基于AMQP模型实现的,rabbit mq就是运用该模型的一款软件. 二.概述 以现实中的PC举例来说明openstack创建的VM,一个PC要能正

【实战】在BingoCloudOS中创建一个blog环境

本文通过实战方式了解下在品高云(BingoCloudOS)中如何快速部署一个wordpress的blog站点(包括web和数据库) 涉及服务:弹性服务器(EC2) 涉及版本:所有版本 涉及功能点:镜像.密钥.远程连接.安全组.存储卷.wordpress下载与安装 1.创建实例前的准备 1.1.准备镜像 系统镜像由云平台管理员在进行云平台初始化时准备,普通用户直接使用即可,用户对于需要的镜像可在[基础服务→计算→镜像]的搜索内容框中对镜像进行搜索,若云平台中暂无您需要的镜像时可向管理员申请,或基于

11gR2RAC环境DBCA创建一个数据库错误ORA-15055 ORA-15001

11gR2RAC环境DBCA创建一个数据库错误ORA-15055 ORA-15001 象: 在11gR2 GridInfrastructure和Database软件安装完毕之后,运行DBCA创建数据库到30%的时候报例如以下错误,点击OK后提示忽略并停止安装. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3V3ZWlsb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/grav

SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程

刚刚接触了SpringMVC这个框架,因此有必要把它拿过来同hibernate.Spring框架进行集成和开发一个实例,在真正企业从头开发的项目中往往一个稳定的开发环境至关重要,开发一个项目选择什么样的搭建平台也需要有经验才可以,并不是说你会搭建一个开发平台然后公司就会用你搭建的开发平台,一个项目或者一个公司看中的也不是你可以搭出框架,而是在这个框架使用过程中出现的各种问题你可以解决掉. 也就是说呢,无论开发什么项目要做到稳定.环境稳定.开发成本稳定.技术稳定.换句话说就是"风险可控"

在sql server中创建一个只读login

在SQL Server中创建一个Login,并为这个login授予只读的权限 --create Login Name create login [domain\login] from windows; --create --UserName Create User DWReadOnly for login [domain\login] --Grant readonly ALTER ROLE [db_datareader] add MEMBER DWReadOnly Appendix 服务器角色参

【Unity Shaders】Reflecting Your World —— 在Unity3D中创建一个简单的动态Cubemap系统

本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源(当然你也可以从官网下载). ========================================== 分割线 ========================================== 写在前面 我们已经学了很多关于反射的内容,但是我们现在的反射并不能实时反射,即当反射物体移动时它们不

在挂起的进程中创建一个远程线程

以挂起状态创建一个进程 invoke CreateProcess, NULL, szPath, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, addr @si, addr @pi 在该进程中创建一个远程线程 invoke CreateRemoteThread, hProcess, NULL, 0, eax, NULL, NULL, NULL 如果在恢复主线程之前,远程线程退出了,程序就会退出或没有界面(XP下会有这个问题,WIN7不会出现).

在windows中创建一个影子用户

在windows中创建一个影子用户(看不到图请下载附件) 我们可以在windows操作系统中建立一个影子用户,也就是它是实际存在的,但是不会在登录时或者用户组中显示,我们可以赋予影子用户管理员权限,可以在某些情况下管理员不可用时使用. 建立影子用户之前,我们先介绍几个概念: SAM数据库:对用户登录用户名和密码进行验证. 注册表:相当于windows的神经系统,很重要. 策略管理器:它实际是注册表的管理工具,因为直接修改注册表是困难和危险的. 下面我们创建影子用户: 1)影子用户名称必须以$结尾