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
[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