1. 程式人生 > >用命令測試安裝好的OpenStack環境

用命令測試安裝好的OpenStack環境

mvp npv min dlp agent xmu wo+ aam nlp

OpenStack三個節點icehouse-gre模式部署一文部署了一套OpenStack環境,接下來使用命令測試一遍。

首先要明確幾個概念:

外網:可分配floating ip綁定到虛擬機,外部就可以訪問虛擬機。

虛擬網絡(內部網絡,私有網絡):虛擬機的虛擬網卡所在的私有網絡。

子網:用戶創建的每個網絡至少要有一個子網(也可以有多個子網)

路由:用戶創建的每個網絡至少有一個路由,該路由的接口要關聯這個網絡

fixed ip:虛擬機網卡在虛擬網絡上的ip

floating ip:虛擬網絡對應的外部網絡上的ip

interface:一個網絡接口

端口:子網有多個端口(一般會有MAC地址和IP地址),在GRE模式中子網中一般會有qdhcp端口,qrouter端口和為虛擬機實例分配的端口,它們的ip地址屬於這個子網

一、查看nova和neutron服務,確保都是笑臉

#nova-manage service list

技術分享 View Code

#neutron agent-list

技術分享 View Code

二、創建租戶和用戶

創建租戶

# keystone tenant-create --name TenantA

技術分享 View Code

創建用戶

# keystone user-create --name=UserA --pass=password --tenant-id TenantA [email protected]

技術分享 View Code

為租戶添加用戶

#keystone user-role-add --tenant

TenantA --user UserA --role Member

技術分享 View Code

三、準備neutron網絡

創建外網

# neutron net-create Ext-Net --provider:network_type gre --provider:segmentation_id 1 --router:external true

技術分享 View Code

創建外網的子網

# neutron subnet-create --allocation-pool start=10.1.101.80,end=10.1.101.100 --gateway 10.1.101.254 Ext-Net 10.1.101.0/24 --enable_dhcp=False

技術分享 View Code

接下來創建租戶的子網和虛擬路由

創建租戶網絡

# neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 net-create tenantA-Net

技術分享 View Code

創建租戶子網

# neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 subnet-create tenantA-Net 10.0.0.0/24

技術分享 View Code

創建租戶虛擬路由

neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 router-create tenant-R1

技術分享 View Code

增加路由接口

(替換${subnet_id}為子網ID)

neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 router-interface-add tenant-R1 ${subnet_id}

技術分享 View Code

給路由增加網關

# neutron router-gateway-set tenant-R1 Ext-Net

技術分享 View Code

到此為止UserA看到的網絡拓撲如下:

技術分享

四、安全組規則

安全組規則會影響到外面ping虛擬機和ssh登錄虛擬機,所以在controller節點中為openstack設置好ICMP和TCP規則。

這裏設置安全組規則相當於打開防火墻端口,允許ssh和ping虛擬機,這是個重點,不設置這個將無法訪問虛擬機。

獲得TenantA的default安全組規則

# neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 security-group-list

技術分享 View Code

默認default規則:

技術分享

設置nova中default的 ICMP/TCP/UDP安全組規則

# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 secgroup-add-rule default tcp 1 65535 0.0.0.0/0

技術分享 View Code

# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 secgroup-add-rule default udp 1 65535 0.0.0.0/0

技術分享 View Code

# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 secgroup-add-rule default icmp -1 -1 0.0.0.0/0

技術分享 View Code

五、起虛擬機

查看鏡像:

# glance index

技術分享 View Code

起虛擬機,替換{the cirros ID from Glance}為鏡像ID

[email protected]:~# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 boot --flavor 1 --image{the cirros ID from Glance} vm001

技術分享 View Code

檢查虛擬機狀態為ACTIVE

# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 list

技術分享 View Code

六、為虛擬機分配浮動IP

創建一個浮動IP

# neutron --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 floatingip-create Ext-Net

技術分享 View Code

查看floating-ip

# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 floating-ip-list

技術分享 View Code

我創建了一個新的浮動IP10.1.101.82,分配的是10.1.101.82

分配浮動IP給虛擬機,替換{the vm id}為虛擬機ID

# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 floating-ip-associate {the vm id} 10.1.101.82

技術分享 View Code

檢查虛擬機狀態,現在就可以看到浮動ip了。

# nova --os-tenant-name TenantA --os-username UserA --os-password password --os-auth-url=http://localhost:5000/v2.0 list

技術分享 View Code

七、SSH到虛擬機(虛擬機狀態為ACTIVE,密碼是cubswin:))

替換{put_floating_ip_here}為虛擬機的浮動IP

ssh cirros@{put_floating_ip_here}
技術分享
[email protected]:~# ssh [email protected]
The authenticity of host ‘10.1.101.82 (10.1.101.82)‘ can‘t be established.
RSA key fingerprint is da:a3:1a:60:f1:e9:3a:e2:a7:6c:35:cb:f8:9b:b7:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘10.1.101.82‘ (RSA) to the list of known hosts.
[email protected] password: 
$ 
$ 
$ 
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=3 ttl=35 time=295.980 ms
64 bytes from 8.8.8.8: seq=7 ttl=35 time=299.047 ms
技術分享

八、上傳鏡像

查看鏡像

技術分享
[email protected]:~/image# glance --os-username admin --os-password windawnKey --os-tenant-name admin --os-auth-url=http://10.0.101.11:35357/v2.0 image-list            
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| ID                                   | Name                | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| ae63b964-230f-4ff8-bcf9-524d44b6980b | cirros-0.3.2-x86_64 | qcow2       | bare             | 13167616 | active |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
技術分享

上傳鏡像

技術分享
[email protected]:~# cd image/
[email protected]:~/image# ls
app_2013_1127                         devstack_201407171353  
[email protected]:~/image# glance image-create --name="app_2013_1127" --is-public=True --disk-format=qcow2 --container-format=bare < ./app_2013_1127
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | f741693bf9297714917e27ce18394dbb     |
| container_format | bare                                 |
| created_at       | 2015-03-16T01:53:23                  |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | 0391cd63-59da-48e2-929d-6a35a43c9bfc |
| is_public        | True                                 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | app_2013_1127                        |
| owner            | 49b72345ae0046e284f61503f047b587     |
| protected        | False                                |
| size             | 5299503104                           |
| status           | active                               |
| updated_at       | 2015-03-16T01:57:13                  |
| virtual_size     | None                                 |
+------------------+--------------------------------------+
[email protected]:~/image# 
技術分享

上傳鏡像截圖

技術分享

或者用以下命令上傳

技術分享
[email protected]:~/image# glance image-create --name="app_2014_0124_1604" --is-public=True --disk-format=qcow2 --container-format=bare --file ./app_2014_0124_1604 --progress
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | bb39bb3b5fa5996aecfa512dc178b5d6     |
| container_format | bare                                 |
| created_at       | 2015-03-16T02:04:12                  |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | 02111d11-42db-432d-a840-6945794587c0 |
| is_public        | True                                 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | app_2014_0124_1604                   |
| owner            | 49b72345ae0046e284f61503f047b587     |
| protected        | False                                |
| size             | 5308547072                           |
| status           | active                               |
| updated_at       | 2015-03-16T02:10:09                  |
| virtual_size     | None                                 |
+------------------+--------------------------------------+
技術分享

資源鏈接:

OpenStack API 快速入門

用命令測試安裝好的OpenStack環境