创建不同类型的实例虚拟机,我们是需要根据需求来准备镜像上传到glance,注意 ISO 镜像上传上去是没法直接使用的,需要将 ISO 镜像转变成qcow2磁盘文件,然后上传磁盘文件,就可以创建云主机。
官方镜像仓库地址:
https://docs.openstack.org/image-guide/
官方
CentOS
镜像地址:
https://docs.openstack.org/image-guide/obtain -images.html#centos
官方
CentOS7
版本镜像地址:
http://cloud.centos.org/centos/7/images/
上传镜像到OpenStack集群
提前把镜像上传到
controller
节点
,然后上传到
glance
,命令如下:
#移动镜像到/var/lib/glance/images/(镜像所在目录没有特殊要求,只
为方便管理)
mv /root/CentOS-7-x86_64-GenericCloud-2211.qcow2
/var/lib/glance/images/
chown -R glance:glance /var/lib/glance/images/
#上传镜像
source admin-openrc
glance image-create --name "centos7.9" \
--file /var/lib/glance/images/CentOS-7-x86_64-
GenericCloud-2211.qcow2 \
--disk-format qcow2 --container-format bare \
--property hw_qume_guest_agent=yes \
--property os_type="linux" \
--visibility public \
--progress
openstack image create "centos7.9" \ #创建的镜像名--file cirros-0.3.5-x86_64-disk.img \ #创建镜像所需文件, 当前目录,或带文件位置--disk-format qcow2 \ #镜像磁盘格式 qcow2--container-format bare \ #可以接受的镜像容器格式包含: ami,ari, aki, bare, and ovf--property hw_qume_guest_agent=yes \ #运行在虚拟机内部的一个服务,实现宿主机与虚拟机通信--property os_type="linux" \ #指定操作系统类型.可选值: linux或者 windows--public #共享此镜像,所有用户可见--progress #上传镜像显示进度条
查看镜像
openstack image list
提示:
VMware
环境需通过下边命令修改类型为
IDE
(物理机不需要)否则实例会卡在GRUB
引导页面
openstack image set \
--property hw_disk_bus=ide \
--property hw_vif_model=e1000 \
33cd072c-e3f6-4a8a-bfdc-c4149a95b5a5 #将镜像ID替换为查询出来的ID
创建VM实例flavor
创建一个名为centos的flavor参数说明:--id: 规格ID;--vcpus: cpu数量;--ram: 内存大小,单位Mb;--disk: 磁盘空间大小,单位Gb;
openstack flavor create --id 1 --vcpus 2 --ram 2048 --disk 40 centos
查看flavor信息
openstack flavor list
注入虚拟机root密码
我们通过镜像创建的虚拟机默认没有
root
密码,所以需要提前在
nova
配置文件中启用root
密码
controller节点
#修改nova配置文件
vim /etc/nova/nova.conf
...
#在该模块下增加启用root密码功能[libvirt]inject_password=true
#重启nova服务
systemctl restart \
openstack-nova-api.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service
创建CentOS虚拟机
使用
myuser
用户在
dashboard
面板创建实例
点击:项目
——
》实例
——
》创建实例,如下图:
#!/bin/bash
password root << EOF
1
1
EOF
提示:从openstack官方下载的云镜像默认禁止root用户登录,所以一般都是以普通用户登陆,比如centos镜像的普通用户为centos,ubuntu镜像的普通用户为ubuntu,如需通过ssh远程连接,首先需要网络是通的,然后通过普通用户加上用户到id_rsa 密钥方式登录,在切换到root即可。