|
七、创建虚拟机实例
1.1.1创建网络(网络选择1: Provider networks )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| [iyunv@comtroller1 ~]# source admin-openrc.sh
[iyunv@comtroller1 ~]# neutron net-create public --shared --provider:physical_network public --provider:network_type flat
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | e6aff6ca-0749-4c02-95e7-7ebdcd942880 |
| mtu | 0 |
| name | public |
| port_security_enabled | True |#对应linuxbridge_agent.ini文件中[linux_bridge]physical_interface_mappings = public:eth1
| provider:network_type | flat |#对应ml2_conf.ini文件中[ml2_type_flat]flat_networks = public
| provider:physical_network | public |
| provider:segmentation_id | |
| router:external | False |
| shared | True |#此选项允许所以项目使用虚拟网络
| status | ACTIVE |
| subnets | |
| tenant_id | b56d4cdbaea54df1b3cd3b769ce896a0 |
+---------------------------+--------------------------------------+
|
1.1.2创建子网
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| [iyunv@comtroller1 ~]# neutron subnet-create public 192.168.1.0/24 --name public --allocation-pool start=192.168.1.240,end=192.168.1.245 --dns-nameserver 114.114.114.114 --gateway 192.168.1.1
Created a new subnet:
+-------------------+----------------------------------------------------+
| Field | Value |
+-------------------+----------------------------------------------------+
| allocation_pools | {"start": "192.168.1.240", "end": "192.168.1.245"} |
| cidr | 192.168.1.0/24 |
| dns_nameservers | 114.114.114.114 |
| enable_dhcp | True |
| gateway_ip | 192.168.1.1 |
| host_routes | |
| id | 7642ab78-88f9-42ae-bd9b-00a307f8db6f |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | public |
| network_id | e6aff6ca-0749-4c02-95e7-7ebdcd942880 |
| subnetpool_id | |
| tenant_id | b56d4cdbaea54df1b3cd3b769ce896a0 |
+-------------------+----------------------------------------------------+
|
1.2.1创建网络(网络选择2: Self-service networks )
1.2.2必须先创建Provider networks网络,参考1.1.1
1.2.3创建private project network
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| [iyunv@comtroller1 ~]# source demo-openrc.sh
[iyunv@comtroller1 ~]# neutron net-create private
Created a new network:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| id | 101f76c1-af60-44c4-a2e4-0808cb8c8237 |
| mtu | 0 |
| name | private |
| port_security_enabled | True |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | db6bcde12cc947119ecab8c211fa4f35 |
+-----------------------+--------------------------------------+
[iyunv@comtroller1 ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
tenant_network_types = vxlan
[ml2_type_vxlan]
vni_ranges = 1:1000
[iyunv@comtroller1 ~]# neutron subnet-create private 172.16.1.0/24 --name private --dns-nameserver 114.114.114.114 --gateway 172.16.1.1
Created a new subnet:
+-------------------+------------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------------+
| allocation_pools | {"start": "172.16.1.2", "end": "172.16.1.254"} |
| cidr | 172.16.1.0/24 |
| dns_nameservers | 114.114.114.114 |
| enable_dhcp | True |
| gateway_ip | 172.16.1.1 |
| host_routes | |
| id | 9941dd35-5ec6-497b-aca5-f99d0702501a |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | private |
| network_id | 101f76c1-af60-44c4-a2e4-0808cb8c8237 |
| subnetpool_id | |
| tenant_id | db6bcde12cc947119ecab8c211fa4f35 |
+-------------------+------------------------------------------------+
|
1.2.4创建路由
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| [iyunv@comtroller1 ~]# source admin-openrc.sh
[iyunv@comtroller1 ~]# neutron net-update public --router:external
Updated network: public
[iyunv@comtroller1 ~]# source demo-openrc.sh
[iyunv@comtroller1 ~]# neutron router-create router
Created a new router:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| external_gateway_info | |
| id | 6562f208-7cd3-4202-8c1e-f7469f400a24 |
| name | router |
| routes | |
| status | ACTIVE |
| tenant_id | db6bcde12cc947119ecab8c211fa4f35 |
+-----------------------+--------------------------------------+
[iyunv@comtroller1 ~]# neutron router-interface-add router private
Added interface e8297ca2-b59e-4e3d-954c-a467975e263c to router router.
[iyunv@comtroller1 ~]# neutron router-gateway-set router public
Set gateway for router router
|
1.2.5验证操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| [iyunv@comtroller1 ~]# source admin-openrc.sh
[iyunv@comtroller1 ~]# ip netns
qrouter-6562f208-7cd3-4202-8c1e-f7469f400a24 (id: 2)
qdhcp-101f76c1-af60-44c4-a2e4-0808cb8c8237 (id: 1)
qdhcp-c3367ab4-521c-4f5d-97d3-1e2b12ddb229 (id: 0)
[iyunv@comtroller1 ~]# neutron router-port-list router
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
| 824796a5-b542-4c61-82e0-49f73f731dfa | | fa:16:3e:81:30:be | {"subnet_id": "5116aa85-6ce6-4ac8-a0c4-0b7376fec026", "ip_address": "192.168.1.241"} |
| e8297ca2-b59e-4e3d-954c-a467975e263c | | fa:16:3e:f4:8e:60 | {"subnet_id": "9941dd35-5ec6-497b-aca5-f99d0702501a", "ip_address": "172.16.1.1"} |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
[iyunv@comtroller1 ~]# ping 192.168.1.241
PING 192.168.1.241 (192.168.1.241) 56(84) bytes of data.
64 bytes from 192.168.1.241: icmp_seq=1 ttl=63 time=0.897 ms
64 bytes from 192.168.1.241: icmp_seq=2 ttl=63 time=0.716 ms
^C
--- 192.168.1.241 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.716/0.806/0.897/0.094 ms
|
2.1生成密钥对
1
2
3
4
5
6
7
8
9
10
| [iyunv@comtroller1 ~]# source demo-openrc.sh
[iyunv@comtroller1 ~]# ssh-keygen -q -N ""
Enter file in which to save the key (/root/.ssh/id_rsa):
[iyunv@comtroller1 ~]# nova keypair-add --pub-key ~/.ssh/id_rsa.pub mykey
[iyunv@comtroller1 ~]# nova keypair-list
+-------+-------------------------------------------------+
| Name | Fingerprint |
+-------+-------------------------------------------------+
| mykey | cb:aa:6f:99:38:4f:1e:1a:4d:b8:18:be:f0:c3:b6:40 |
+-------+-------------------------------------------------+
|
3.1添加安全组规则
1
2
3
4
5
6
7
8
9
10
11
12
| [iyunv@comtroller1 ~]# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 #允许PING
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp | -1 | -1 | 0.0.0.0/0 | |
+-------------+-----------+---------+-----------+--------------+
[iyunv@comtroller1 ~]# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 #允许SSH
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range | Source Group |
+-------------+-----------+---------+-----------+--------------+
| tcp | 22 | 22 | 0.0.0.0/0 | |
+-------------+-----------+---------+-----------+--------------+
|
4.1.1针对网络架构一:Provider启动实例
4.1.2查看资源信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| [iyunv@comtroller1 ~]# source demo-openrc.sh
[iyunv@comtroller1 ~]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True |
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
[iyunv@comtroller1 ~]# nova image-list
+--------------------------------------+--------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+--------+--------+--------+
| ba4fd4dd-7717-4e11-8a64-5b063882b0aa | cirros | ACTIVE | |
+--------------------------------------+--------+--------+--------+
[iyunv@comtroller1 ~]# neutron net-list
+--------------------------------------+--------+-----------------------------------------------------+
| id | name | subnets |
+--------------------------------------+--------+-----------------------------------------------------+
| e6aff6ca-0749-4c02-95e7-7ebdcd942880 | public | 7642ab78-88f9-42ae-bd9b-00a307f8db6f 192.168.1.0/24 |
+--------------------------------------+--------+-----------------------------------------------------+
[iyunv@comtroller1 ~]# nova secgroup-list
+--------------------------------------+---------+------------------------+
| Id | Name | Description |
+--------------------------------------+---------+------------------------+
| 6a7eba84-0ec7-4898-ad79-1937cd0f86f1 | default | Default security group |
+--------------------------------------+---------+------------------------+
|
4.1.3创建虚拟机实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| [iyunv@comtroller1 ~]# nova boot --flavor m1.tiny --image cirros --nic net-id=e6aff6ca-0749-4c02-95e7-7ebdcd942880 --security-group default --key-name mykey public-instance
+--------------------------------------+-----------------------------------------------+
| Property | Value |
+--------------------------------------+-----------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | bLj4YU7Jtr43 |
| config_drive | |
| created | 2016-07-14T09:21:58Z |
| flavor | m1.tiny (1) |
| hostId | |
| id | 560dbae8-39a8-4454-80d1-1fcf119d8866 |
| image | cirros (ba4fd4dd-7717-4e11-8a64-5b063882b0aa) |
| key_name | mykey |
| metadata | {} |
| name | public-instance |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | default |
| status | BUILD |
| tenant_id | db6bcde12cc947119ecab8c211fa4f35 |
| updated | 2016-07-14T09:21:59Z |
| user_id | 3361e8c44fc94b63ac44049542129edc |
+--------------------------------------+-----------------------------------------------+
|
4.1.4查看实例状态
1
2
3
4
5
6
| [iyunv@comtroller1 ~]# nova list
+--------------------------------------+-----------------+--------+------------+-------------+----------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-----------------+--------+------------+-------------+----------------------+
| 560dbae8-39a8-4454-80d1-1fcf119d8866 | public-instance | ACTIVE | - | Running | public=192.168.1.241 |
+--------------------------------------+-----------------+--------+------------+-------------+----------------------+
|
4.1.5使用浏览器访问虚拟机实例
1
2
3
4
5
6
| [iyunv@comtroller1 ~]# nova get-vnc-console public-instance novnc
+-------+----------------------------------------------------------------------------------+
| Type | Url |
+-------+----------------------------------------------------------------------------------+
| novnc | http://controller1:6080/vnc_auto.html?token=ddbcd055-5998-4fc5-96d6-4d5d47b49fd5 |
+-------+----------------------------------------------------------------------------------+
|
4.1.6验证
PING测试
4.2.1针对网络架构二:Private启动实例
4.2.2查看资源信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| [iyunv@comtroller1 ~]# source demo-openrc.sh
[iyunv@comtroller1 ~]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True |
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
[iyunv@comtroller1 ~]# nova image-list
+--------------------------------------+--------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+--------+--------+--------+
| ba4fd4dd-7717-4e11-8a64-5b063882b0aa | cirros | ACTIVE | |
+--------------------------------------+--------+--------+--------+
[iyunv@comtroller1 ~]# neutron net-list
+--------------------------------------+---------+-----------------------------------------------------+
| id | name | subnets |
+--------------------------------------+---------+-----------------------------------------------------+
| c3367ab4-521c-4f5d-97d3-1e2b12ddb229 | public | 5116aa85-6ce6-4ac8-a0c4-0b7376fec026 192.168.1.0/24 |
| 101f76c1-af60-44c4-a2e4-0808cb8c8237 | private | 9941dd35-5ec6-497b-aca5-f99d0702501a 172.16.1.0/24 |
+--------------------------------------+---------+-----------------------------------------------------+
[iyunv@comtroller1 ~]# nova secgroup-list
+--------------------------------------+---------+------------------------+
| Id | Name | Description |
+--------------------------------------+---------+------------------------+
| fb3e5884-efe2-4f9b-b2a8-a36ebfe5d305 | default | Default security group |
+--------------------------------------+---------+------------------------+
|
4.2.3创建虚拟机实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| [iyunv@comtroller1 ~]# nova boot --flavor m1.tiny --image cirros --nic net-id=101f76c1-af60-44c4-a2e4-0808cb8c8237 --security-group default --key-name mykey private-instance
+--------------------------------------+-----------------------------------------------+
| Property | Value |
+--------------------------------------+-----------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | D3XvDmthW2ea |
| config_drive | |
| created | 2016-07-18T03:16:56Z |
| flavor | m1.tiny (1) |
| hostId | |
| id | c77b55d0-7982-40da-a5a4-c708fcee98fe |
| image | cirros (ba4fd4dd-7717-4e11-8a64-5b063882b0aa) |
| key_name | mykey |
| metadata | {} |
| name | private-instance |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | default |
| status | BUILD |
| tenant_id | db6bcde12cc947119ecab8c211fa4f35 |
| updated | 2016-07-18T03:16:56Z |
| user_id | 3361e8c44fc94b63ac44049542129edc |
+--------------------------------------+-----------------------------------------------+
|
4.2.4查看实例状态
1
2
3
4
5
6
| [iyunv@comtroller1 ~]# nova list
+--------------------------------------+------------------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------------------+--------+------------+-------------+----------+
| 786f1e34-86d3-4496-b94e-48c33040df9e | private-instance | ERROR | - | NOSTATE | |
+--------------------------------------+------------------+--------+------------+-------------+----------+
|
4.2.5删除虚拟机
1
2
| [iyunv@comtroller1 ~]# nova delete 786f1e34-86d3-4496-b94e-48c33040df9e
Request to delete server 786f1e34-86d3-4496-b94e-48c33040df9e has been accepted.
|
4.2.6使用浏览器访问虚拟机实例
1
2
3
4
5
6
| [iyunv@comtroller1 ~]# nova get-vnc-console private-instance novnc
+-------+----------------------------------------------------------------------------------+
| Type | Url |
+-------+----------------------------------------------------------------------------------+
| novnc | http://controller1:6080/vnc_auto.html?token=bec3110e-490f-41f5-9bff-bd970653bcc8 |
+-------+----------------------------------------------------------------------------------+
|
4.2.7验证
PING测试
4.2.8远程访问实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| [iyunv@comtroller1 ~]# neutron floatingip-create public
Created a new floatingip:
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| fixed_ip_address | |
| floating_ip_address | 192.168.1.242 |
| floating_network_id | 93be9f32-e1f2-4748-9198-cc4b1807006f |
| id | edd5224a-7dd8-412a-aedc-69bc000aefa2 |
| port_id | |
| router_id | |
| status | DOWN |
| tenant_id | db6bcde12cc947119ecab8c211fa4f35 |
+---------------------+--------------------------------------+
[iyunv@comtroller1 ~]# nova floating-ip-associate private-instance 192.168.1.242
[iyunv@comtroller1 ~]# nova list
+--------------------------------------+------------------+--------+------------+-------------+-----------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------------------+--------+------------+-------------+-----------------------------------+
| 4aa43e3a-c963-4a53-b500-78fa6a6872c5 | private-instance | ACTIVE | - | Running | private=172.16.1.3, 192.168.1.242 |
+--------------------------------------+------------------+--------+------------+-------------+-----------------------------------+
[c:\~]$ ping 192.168.1.242
Ping 192.168.1.242 (使用 32 位元組的資料):
回覆自 192.168.1.242: 位元組=32 時間=1ms TTL=63
回覆自 192.168.1.242: 位元組=32 時間<1ms TTL=63
192.168.1.242 的 Ping 統計資料:
封包: 已傳送 = 2,已收到 = 2, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
最小值 = 0ms,最大值 = 1ms,平均 = 0ms
[c:\~]$ ssh cirros@192.168.1.242
Connecting to 192.168.1.242:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast qlen 1000
link/ether fa:16:3e:bc:64:17 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.3/24 brd 172.16.1.255 scope global eth0
inet6 fe80::f816:3eff:febc:6417/64 scope link
valid_lft forever preferred_lft forever
|
|
|