1.使用admin创建VM实例所依赖的属性(网络、子网、VM实例规格等)
- 创建虚拟网络
source admin-openstack.sh
命令格式:
openstack network create --share --external
--provider-physical-network <提供者>
--provider-network-type flat <网络名称>
# --share 允许所有项目都可以使用该网络
# --external 定义连通外部的虚拟网络
# --provider-physical-network 指定物理网络的提供者,由ml2_conf.ini文件的flat_networks确定
# --provider-network-type flat 映射到虚拟主机的网卡eth0,由linuxbridge_agent.ini文件中的physical_interface_mappings确定
openstack network create --share --external --provider-physical-network provider --provider-network-type flat provider
复制代码
- 创建虚拟子网
命令格式:
openstack subnet create --network <网络名称>
--allocation-pool start=<起始地址>,end=<结束地址>
--dns-nameserver <域名服务器> --gateway <网关>
--subnet-range <子网网段> <子网名称>
# --network 指定网络名称,表示该子网用在哪个网段
# --allocation-pool 指定分配的地址池,start设定起始地址,end设置结束地址
# --dns-nameserver 指定域名服务器,可以用8.8.4.4(google),223.5.5.5(阿里云)等等
# --gateway 指定网关,设定宿主机的网关
# --subnet-range 指定子网范围
openstack subnet create --network provider --allocation-pool start=192.168.188.30,end=192.168.188.50 --dns-nameserver 223.5.5.5 --gateway 192.168.188.2 --subnet-range 192.168.188.0/24 provider
复制代码
- 创建VM实例规格
命令格式:
openstack flavor create --id <id号> --vcpus <CPU数量> --ram <内存大小> --disk <磁盘大小> <云主机类型>
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
复制代码
2.创建VM实例
使用demo用户
- 配置秘钥
source demo-openstack.sh
#生成秘钥
ssh-keygen -q -N ""
#上传秘钥到openstack
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
#检查效果
openstack keypair list
复制代码
- 增加安全组
#设置虚拟机ping规则
openstack security group rule create --proto icmp default
#设置虚拟机ssh规则
openstack security group rule create --proto tcp --dst-port 22 default
复制代码
3.启动虚拟机实例
命令格式:
openstack server create --flavor <云主机规格> --image <镜像名称>
--nic net-id=<虚拟网络ID> --security-group <安全组>
--key-name <秘钥名> <虚拟机实例名>
#参数均为前面设置的配置参数
openstack server create --flavor m1.nano --image cirros --nic net-id=782902ce-436a-4d07-aa24-e7aea94fb6c7 --security-group default --key-name mykey provider-instance
复制代码
- 效果检查
获取虚拟机的终端界面
openstack console url show provider-instance
用浏览器链接url
这里遇到了Failed to connect to server (code: 1006)的问题,打不开vnc界面,后发现url中使用的是controller而非ip地址,怀疑是浏览器解析问题。 于是修改了windows系统下的C:WindowsSystem32driversetchosts域名解析文件,将controller映射为控制节点ip地址,报错问题解决。
打开vnc界面后又发现是黑屏,不知道怎么解决,等了一会好了。估计是物理机配置不行,太卡了...
用ssh连接
ssh cirros@192.168.188.47
总结
个人认为自己对于OpenStack的学习至此算是入门了,这个开源软件可以说还是比较复杂繁琐的,若想要进行更深入的学习并且在实际工作中游刃有余的运用它,任重而道远。
作者:mmd.
链接:https://juejin.im/post/5d65e58fe51d4561c83e7c7d