一、如何建立雲主機
使用雙節點部署,控制節點(controller):192.168.16.10,計算節點(compute):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
(二)、建立網路
開啟瀏覽器,訪問http://192.168.16.10/dashboard地址,域:demo,使用者名稱:admin,密碼:000000。
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。點選“已建立”建立網路。
(三)、建立路由
1、建立路由
選擇選單欄:專案 -> 網路 -> 路由。單擊“新建路由”,來建立路由。
建立路由名稱為route,外部網路選擇“net-gre”。點選“新建路由”建立路由。
2、新增內部網路埠
單擊新建的路由名稱,選擇“介面”標籤。點選“增加介面”按鈕。
在彈框中,選擇“int-gre”內部網路,再點選“提交”。
(四)、管理安全組
1、管理default預設安全組
選擇選單欄:專案 -> 計算 -> 訪問&安全。單擊default安全組“管理規則”按鈕。
2、新增放行策略
點選“新增規則”,選擇“所有ICMP協議”,單擊“新增”按鈕;選擇“所有TCP協議”,單擊“新增”按鈕;選擇“所有UDP協議”,單擊“新增”按鈕。
(五)、建立雲主機
1、建立雲主機
選擇選單欄:專案 -> 計算 -> 雲主機。單擊“建立雲主機”按鈕。
雲主機名稱為:test,數量為:1。選擇centos7.2映象;選擇m1.small資源型別;選擇int-gre網路。然後單擊“啟動例項”按鈕建立例項。
2、繫結浮動IP
在主機下拉框中選擇“繫結浮動IP”選單命令。
在彈框中點選“+”分配一個地址,單擊“分配IP”按鈕。點選“關聯”按鈕,關聯浮動IP地址。
(六)、連線雲主機
1、測試連通性
建立完成後,可看到建立的雲主機狀態為“執行”。開啟CMD視窗,通過ping命令測試連通雲主機。
2、連線雲主機
使用secureCRT工具,連線雲主機,使用者名稱:root,密碼:000000。
二、Keystone服務操作
Keystone是OpenStack中的一個獨立的提供安全認證的模組,主要負責openstack使用者的身份認證、令牌管理、提供訪問資源的服務目錄(指引路徑)、以及基於使用者角色的訪問控制。
(一)、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 wzg@example.com --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組建操作
Nova是Openstack雲中的計算組織控制器;管理OpenStack雲中例項的生命週期的所有活動;是管理計算資源、網路認證所需的可擴充套件性平臺。
(一)、安全組操作:
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
5、檢視安全組規則詳情資訊
[root@controller ~]# nova secgroup-list-rules wzg
6、新增安全組規則
[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
7、刪除安全組規則
[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
點選檢視詳情
[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
[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服務操作
Neutron是一個用python寫的分散式軟體專案,用來實現OpenStack中的網路服務。
(一)、網路管理
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 router
3、檢視路由詳情資訊
[root@controller ~]# neutron router-show router
4、刪除路由
[root@controller ~]# neutron router-delete router
5、新增外部閘道器
語法:neutron router-gateway-set 路由名稱 外網名稱(用neutron net-list檢視)
[root@controller ~]# neutron router-gateway-set router net-gre
6、刪除外部閘道器
[root@controller ~]# neutron router-gateway-clear router
7、檢視路由埠資訊列表
[root@controller ~]# neutron router-port-list router
8、新增內部介面
語法:neutron router-interface-add 路由名稱 內網名稱(用neutron int-list檢視)
[root@controller ~]# neutron router-interface-add router int-subnet
9、刪除內部介面
語法:neutron router-interface-delete 路由名稱 subnet=內網名稱
[root@controller ~]# neutron router-interface-delete router subnet=int-subnet
(四)、埠管理
1、檢視埠列表
[root@controller ~]# neutron port-list
2、建立埠
語法:neutron port-create 內網名稱 --name 埠名稱
[root@controller ~]# neutron port-create int-gre --name test-port
3、修改埠
語法:neutron port-update 埠名稱 --name 新埠名稱 --security-group 安全組
[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