OpenStack学习系列之八:创建实例
1.创建网络
规划了两个网卡,一个网卡ens19为provider,两一个网卡ens20为inside
. admin-openrc
--- 创建网络provider
openstack network create --share --external --provider-physical-network provider --provider-network-type flat provider
openstack subnet create --network provider --allocation-pool start=172.16.1.10,end=172.16.1.200 \
--dns-nameserver 114.114.114.114 --gateway 172.16.1.1 --subnet-range 172.16.1.0/24 provider
--- 创建网络inside
openstack network create --share --external --provider-physical-network inside --provider-network-type flat inside
openstack subnet create --network inside --allocation-pool start=10.1.0.10,end=10.1.0.200 \
--dns-nameserver 114.114.114.114 --gateway 10.1.0.1 --subnet-range 10.1.0.0/24 inside
----------------------------# 查看创建的网络
[root@node1 ~]# openstack network list
+--------------------------------------+----------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+----------+--------------------------------------+
| 6f032080-473d-4aa8-8cc3-074f23ecc4dd | inside | 11eec460-caf2-45d1-ad79-432106b07f59 |
| d1e4b37b-eeb7-4934-aab7-dec537139a3a | provider | d439dfdb-8e80-4d30-a415-f7015c2108bc |
+--------------------------------------+----------+--------------------------------------+
2.创建规格、key、安全组
# 创建规格,创建虚拟机时申请的资源大小
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
# 创建sshkey,可以直接用宿主机的
ssh-keygen -q -N ""
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
openstack keypair list
# 向默认安全组default添加规则,允许icmp和ssh访问
openstack security group rule create --proto icmp default
openstack security group rule create --proto tcp --dst-port 22 default
3.创建实例
. demo-openrc
# 查询可用规则
openstack flavor list
# 查询可用镜像
openstack image list
# 查询可用网络
openstack network list
# 查看可用安全组
openstack security group list
# 创建实例
openstack server create --flavor m1.nano --image cirros --nic net-id=9f30ff25-470f-4d5b-bfcc-83d31b4bc335 --security-group default \
--key-name mykey provider-instance
# 查看实例列表
[root@node1 ~]# openstack server list
+--------------------------------------+-------------------+--------+-----------------------+--------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------------+--------+-----------------------+--------+---------+
| 66654eda-c099-4be9-92b6-51e330758bf4 | provider-instance | ACTIVE | provider=172.16.1.110 | cirros | m1.nano |
+--------------------------------------+-------------------+--------+-----------------------+--------+---------+
# 查看vnc访问地址
[root@node1 ~]# openstack console url show provider-instance # 因为是node1,需要域名解析
+-------+--------------------------------------------------------------------------------------+
| Field | Value |
+-------+--------------------------------------------------------------------------------------+
| type | novnc |
| url | http://node1:6080/vnc_auto.html?path=%3Ftoken%3D8d1e964b-c9e9-419a-a528-0a5893776b28 |
+-------+--------------------------------------------------------------------------------------+
4.通过Dashboard创建实例
使用命令行已经创建好了网络、规格,key和安全组,登录Dashboard之后只需要按照流程创建虚拟机即可。登录Dashboard之后选择打开【计算】下的【实例】页面,点击右侧的创建实例。
输入实例的名称为test,描述信息随意填写,数量为1,可同时创建多个实例。点击下一项
选择源使用Image,就是选择实例的镜像源,只有选择可用的选项cirros右侧的向上箭头,就可以显示在已分配下面,选择好之后点击下一项
实例类型就是命令行创建的规格,申请的内核、CPU和磁盘资源,选择m1.nano之后点击下一项
网络选择命令行创建的provider,点击下一项
网络接口直接点击下一项,默认创建的虚拟机的IP地址是自动分配的,但是也可以先创建好端口并指定好IP地址,之后再创建实例,这样就可以把实例设置为指定的IP地址(也可以在创建实例之后手动更改)。安全组选择默认即可,key pair选择命令行创建的,此时右侧的创建实例按钮就可以点击,点击创建实例按钮创建实例。
等待片刻之后,实例的状态变成运行中,此时就可以通过vnc来访问实例。点击实例名称
之后点击控制台就可以看到实例的控制台界面