参考地址:https://docs.openstack.org/image-guide/

一、创建实例

1、获取镜像
地址: http://cloud.centos.org/centos/7/images/

wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2003.qcow2

2、上传镜像

glance image-create --name "Centos7" \
--file CentOS-7-x86_64-GenericCloud-2003.qcow2 \
--disk-format qcow2 --container-format bare \
--visibility public

OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码_第1张图片
OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码_第2张图片
3、创建实例

openstack server create --flavor centos-web --image Centos7 \
--nic net-id=02f8a36d-01e2-426a-b5e3-4b1f99dfafd5 --security-group default \
--key-name mykey centos-server

提示:
More than one SecurityGroup exists with the name 'default' ---有多个安全组名字为default
查看一下当前存在的安全组,删掉不需要的,或者在创建实例命令中用安全组ID指定安全组

openstack server create --flavor centos-web --image Centos7 --nic net-id=02f8a36d-01e2-426a-b5e3-4b1f99dfafd5 --security-group daaad664-4924-4437-872a-276e33a33594 --key-name mykey centos-server

OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码_第3张图片
OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码_第4张图片

二、修改root密码

启动实例后进入控制台才反应过来我不知道root密码....
所以需要在controller节点修改此实例的root密码
也有在horizon页面启动实例时直接修改密码的,网上资料较多,不再描述
这里只展示命令行修改密码的方式

1、首先给镜像添加一个元数据信息

glance image-update 50415bd4-9fcf-4151-859b-da4bb54e391f --property hw_qemu_guest_agent=yes

OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码_第5张图片
这一步不做的话会报QEMU客户端代理未启动 (HTTP 409)的错
OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码
2、修改controller节点的nova.conf配置文件:

inject_password=true

OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码
重启nova-api服务
这一步不做的话执行修改密码命令会报无法对实例设置密码 (HTTP 501)的错
OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码
3、修改compute节点的nova.conf文件
修改内容同controller节点
重启nova-compute服务

4、根据更新后的镜像启动一个实例

5、修改密码

openstack server set --root-password dc347da8-b439-4869-811a-8cf2c59029b5 #最后一串是实例ID,可使用openstack server list查看

OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码
控制台登陆成功
OpenStack Train版操作笔记(14)---使用官方云镜像启动实例并命令行修改root密码_第6张图片