以某个有创建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时的用户名和密码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。