OpenStack平台的使用

一、OpenStack平台的使用

使用雙節點部署,192.168.16.10為控制節點。192.168.16.20為計算節點。

(一)、創建鏡像

1、在控制節點中找到qcow2鏡像

[root@controller ~]# cd /opt/iaas/images/
[root@controller images]# ls
CentOS_6.5_x86_64_XD.qcow2  CentOS_7.2_x86_64_XD.qcow2  MySQL_5.6_XD.qcow2

2、在控制節點中,通過glance命令,將qcow2鏡像上傳到平台

[root@controller images]# source /etc/keystone/admin-openrc.sh
[root@controller images]# glance image-create --name "centos7.2" --disk-format qcow2 --container-format bare --progress < CentOS_7.2_x86_64_XD.qcow2

(二)、創建虛擬機

1、創建外部網絡
選擇菜單欄 -> 項目 -> 網絡 -> 網絡。單擊「創建網絡」,來創建虛擬機網絡。

創建網絡名net-gre,配置子網名稱為net-subnet,網絡地址為192.168.20.0/24,網關為192.168.20.2。

再配置DHCP地址池,激活DHCP,配置DNS為114.114.114.114。點擊「已創建」創建網絡。

選擇菜單欄 -> 管理員 -> 系統 -> 網絡。對已創建的net-gre網絡,點擊 「編輯網絡」,在彈框中勾選「外部網絡」。

2、創建內部網絡
選擇菜單欄 -> 項目 -> 網絡 -> 網絡。單擊「創建網絡」,來創建虛擬機網絡。

創建網絡名int-gre,配置子網名稱為int-subnet,網絡地址為10.10.0.0/24,網關為10.10.0.1。

配置DHCP地址池,激活DHCP。點擊「已創建」創建網絡。

3、創建路由器
選擇菜單欄 -> 項目 -> 網絡 -> 路由。單擊「新建路由」,來創建路由。

創建路由名稱為route,外部網絡選擇「net-gre」。點擊「新建路由」創建路由。

在route路由中內部網絡接口:

單擊新建的路由名稱,選擇「接口」標籤。點擊「增加接口」按鈕。

在彈框中,選擇「int-gre」內部網絡,再點擊「提交」。

4、安全組配置
管理訪問策略安全組,選擇菜單欄 -> 項目 -> 計算 -> 訪問&安全。單擊default安全組”管理規則”按鈕。

點擊右側”添加規則”,選擇”所有ICMP協議”,單擊”添加”按鈕;選擇”所有TCP協議”,單擊”添加”按鈕;選擇”所有UDP協議”,單擊”添加”按鈕。

5、創建雲主機
創建雲主機,選擇菜單欄 -> 項目 -> 計算 -> 雲主機。單擊右側 “創建雲主機”按鈕。

雲主機名稱為:test,數量:1。選擇centos7.2鏡像;選擇m1.small資源類型;選擇int-gre網絡。然後單擊”啟動實例”按鈕創建實例。

選擇菜單欄 -> 項目 -> 計算 -> 雲主機。在主機下拉框中選擇”綁定浮動IP”菜單命令。

在彈框中點擊”+”分配一個地址,單擊”分配IP”按鈕。點擊”關聯”按鈕,關聯浮動IP地址。

6、連接雲主機
打開CMD窗口,通過ping命令測試連通雲主機。

使用secureCRT工具,連接雲主機,用戶名:root,密碼:000000。

二、Keystone服務操作

(一)、keystone運維命令

1、環境配置

[root@controller ~]# source /etc/keystone/admin-openrc.sh

2、創建用戶
語法:openstack user create –password 用戶的密碼 –email 郵箱 –domain demo 用戶名

[root@controller ~]# openstack user create --password 000000 --email [email protected] --domain demo wzg

3、創建項目
語法:openstack project create –domain demo 項目名

[root@controller ~]# openstack project create --domain demo acme

4、創建角色
語法:openstack role create 角色名

[root@controller ~]# openstack role create compute-user

5、綁定用戶和項目權限
語法:openstack role add –user 用戶名 –project 項目名 角色名

[root@controller ~]# openstack role add --user wzg --project acme compute-user

(二)、keystone查詢命令

1、查詢用戶列表

[root@controller ~]# openstack user list

2、查詢wzg用戶的詳細信息

[root@controller ~]# openstack user show wzg

3、查詢項目列表

[root@controller ~]# openstack project list

4、查詢acme項目的詳情信息

[root@controller ~]# openstack project show acme

5、查詢角色列表

[root@controller ~]# openstack role list

6、查詢compute-user角色的詳細信息

[root@controller ~]# openstack role show compute-user

7、查看平台所有服務所使用的端點地址

[root@controller ~]# openstack endpoint list

三、Nova組建操作

(一)、安全組操作:

安全組:
1、安全組查看:

[root@controller ~]# nova secgroup-list

2、安全組創建
語法:nova secgroup-create 安全組名稱 ‘描述信息’

[root@controller ~]# nova secgroup-create wzg 'Most great security group'

3、安全組更新
語法:nova secgroup-update ID號 新名稱 ‘新描述信息’

[root@controller ~]# nova secgroup-update 218faa36-c250-40d5-9775-534049e5771a wzg01 'One of the most great security group'

4、安全組刪除

[root@controller ~]# nova secgroup-delete wzg

安全組規則:
1、安全組規則查看詳情

[root@controller ~]# nova secgroup-list-rules wzg

2、安全組規則添加

[root@controller ~]# nova secgroup-add-rule wzg icmp -1 -1 0.0.0.0/0
[root@controller ~]# nova secgroup-add-rule wzg udp 1 65535 0.0.0.0/0
[root@controller ~]# nova secgroup-add-rule wzg tcp 1 65535 0.0.0.0/0

3、安全組規則刪除

[root@controller ~]# nova secgroup-delete-rule wzg icmp -1 -1 0.0.0.0/0

(二)、雲主機類型操作

1、雲主機類型列表查看

[root@controller ~]# nova flavor-list

2、雲主機類型添加
語法:nova flavor-create 類型名稱 ID號 1024 10 1

[root@controller ~]# nova flavor-create m1.wzg 6 1024 10 1
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name   | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
| 6  | m1.wzg | 1024      | 10   | 0         |      | 1     | 1.0         | True      |
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+

3、雲主機類型詳情查看

[root@controller ~]# nova flavor-show m1.wzg

4、雲主機類型刪除

[root@controller ~]# nova flavor-delete m1.wzg

(三)、雲主機實例操作

1、實例列表查看

[root@controller ~]# nova list

2、實例創建:
語法:nova boot –image –availability-zone nova –flavor –security-groups –nic <net-id=net-uuid>

[root@controller ~]# nova boot    \
--image centos7.2      \
--availability-zone nova  \
--flavor m1.wzg    \
--security-groups wzg  \
--nic net-id=64306052-bcec-4209-ac4c-45b9d2de4dde  \
wzg-server

需要先查找出:

1)查看鏡像
[root@controller ~]# glance image-list
2)查看規格(雲主機類型)
[root@controller ~]# nova flavor-list
3)查看安全組
[root@controller ~]# nova secgroup-list
4)查看可用的網絡
[root@controller ~]# neutron net-list

3、實例詳情查看

[root@controller ~]# nova show wzg-server

4、實例啟動

[root@controller ~]# nova start wzg-server

5、實例停止

[root@controller ~]# nova stop wzg-server

6、實例重啟

[root@controller ~]# nova reboot wzg-server

7、實例掛起

[root@controller ~]# nova pause wzg-server

8、實例刪除

[root@controller ~]# nova delete wzg-server

(四)、浮動IP

1、浮動IP的列表信息

[root@controller nova]# nova floating-ip-list

2、創建浮動IP
語法:nova floating-ip-create 浮動IP地址池

[root@controller nova]# nova floating-ip-create net-gre

3、浮動IP地址池信息

[root@controller nova]# nova floating-ip-pool-list

4、查看浮動IP詳細信息
語法:openstack ip floating show 浮動IP

[root@controller nova]# openstack ip floating show 192.168.100.4

5、浮動IP關聯實例
語法:nova floating-ip-associate 雲主機名稱 浮動ip

[root@controller nova]# nova floating-ip-associate wzg-server 192.168.100.4

6、浮動IP解除關聯實例
語法:nova floating-ip-disassociate 雲主機名稱 浮動ip

[root@controller nova]# nova floating-ip-disassociate wzg-server 192.168.100.4

7、刪除浮動IP

[root@controller nova]# nova floating-ip-delete 192.168.100.4

(五)、密鑰管理

1、查看密鑰列表

[root@controller ~]# nova keypair-list

2、創建密鑰
語法:nova keypair-add 密鑰名稱 –key-type ssh

[root@controller ~]# nova keypair-add wzg --key-type ssh

3、查看密鑰詳情信息

[root@controller ~]# nova keypair-show wzg

4、刪除密鑰

[root@controller ~]# nova keypair-delete wzg

四、網絡Neutron服務

(一)、網絡管理

1、查看網絡列表

[root@controller ~]# neutron net-list

2、創建外部網絡
語法:neutron net-create –shared –router:external=true –provider:network_type 網絡類型 外網名稱

[root@controller ~]# neutron  net-create --shared --router:external=true --provider:network_type  gre net-gre

3、創建內部網絡
語法:neutron net-create –shared –provider:network_type 網絡類型 內網名稱

[root@controller ~]# neutron net-create --shared --provider:network_type  gre int-gre

4、查看網絡詳情

[root@controller ~]# neutron net-show int-gre

5、更新網絡
語法:penstack network set 網絡名稱 –name 新網絡名稱 –disable –no-share

[root@controller ~]# openstack network set nett-gre --name net-gre01 --disable --no-share

6、刪除網絡

[root@controller ~]# neutron net-delete int-gre

(二)、子網管理

1、查看子網列表信息

[root@controller ~]# neutron subnet-list

2、創建外網子網
語法:neutron subnet-create 外網名稱 外網網段 –name 外網子網名稱 –gateway 網關地址 –allocation-pool start=開始地址,end=結束地址 –enable-dhcp –dns-nameserver 8.8.8.8

[root@controller ~]# neutron subnet-create net-gre 192.168.20.0/24 --name net-subnet01 --gateway 192.168.20.2 --allocation-pool start=192.168.20.101,end=192.168.20.240 --enable-dhcp --dns-nameserver 8.8.8.8

3、創建內網子網
語法:neutron subnet-create 內網名稱 內網網段 –name 內網子網名稱 –gateway 網關地址 –allocation-pool start=開始地址,end=結束地址 –enable-dhcp

[root@controller ~]# neutron subnet-create int-gre 10.10.1.0/24 --name int-subnet01 --gateway 10.10.1.2 --allocation-pool start=10.10.1.101,end=10.10.1.240 --enable-dhcp

4、查看子網詳細信息

[root@controller ~]# neutron subnet-show net-subnet01

5、修改子網
語法:neutron subnet-update 子網名稱 –name 新子網名稱 –no-gateway(不加網關) –allocation-pool start=開始地址,end=結束地址

[root@controller ~]# neutron subnet-update net-subnet01 --name net-subnet-test --no-gateway --allocation-pool start=192.168.20.99,end=192.168.20.110

6、刪除子網

[root@controller ~]# neutron subnet-delete int-subnet01

(三)、路由管理

1、查看路由列表

[root@controller ~]# neutron router-list

2、創建路由
neutron router-create 路由名稱

[root@controller ~]# neutron router-create router01

3、查看路由詳情

[root@controller ~]# neutron router-show router01

4、刪除路由

[root@controller ~]# neutron router-delete router01

5、添加外部網關
語法:neutron router-gateway-set 路由名稱 外網名稱(用neutron net-list查看)

[root@controller ~]# neutron router-gateway-set router01 net-gre

6、刪除外部網關

[root@controller ~]# neutron router-gateway-clear router01

7、查看路由端口信息列表

[root@controller ~]# neutron router-port-list router01

8、添加內部接口
語法:neutron router-interface-add 路由名稱 內網名稱(用neutron int-list查看)

[root@controller ~]# neutron router-interface-add router01 int-subnet

9、刪除內部接口
語法:neutron router-interface-delete 路由名稱 subnet=內網名稱

[root@controller ~]# neutron router-interface-delete router01 subnet=int-subnet

(四)、端口管理

1、查看端口列表

[root@controller ~]# neutron port-list

2、創建端口

[root@controller ~]# neutron port-create int-gre --name test-port

3、修改端口

[root@controller ~]# neutron port-update test-port --name test-port-8080 --security-group 54c9ccb7-7f00-4485-898f-e4bbebafa73b

4、查看端口詳情
語法:neutron port-show 端口id

[root@controller ~]# neutron port-show 1b46a0d6-0df6-4f96-b3a3-d47aae6ed589

5、刪除端口

[root@controller ~]# neutron port-delete test-port
Tags: