OpenStack——雲平台使用


一、如何創建雲主機

使用雙節點部署,控制節點(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


三、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.200 --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.200 --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.101,end=192.168.20.200

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

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

四、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 --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

(六)、雲主機卷掛載操作

1、查看所有掛載到雲主機上的卷
語法:nova volume-attachments 雲主機名
[root@controller cinder]# nova volume-attachments test

2、卷掛載到雲主機
語法:nova volume-attach 雲主機名 卷ID []
[root@controller cinder]# nova volume-attach test111 f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 /dev/vdb

3、卷從雲主機上卸載
語法:nova volume-detach 雲主機名 卷ID
[root@controller ~]# nova volume-detach test f594e936-05e2-4a8c-b4c9-b96bbe7e2c82

五、Cinder組件

(一)、Volume管理

1、查看卷列表
[root@controller ~]# cinder list

2、創建卷
語法:cinder create [--name 卷名稱, --volume-type 卷類型 --description 描述 --availability-zone nova] 卷大小(GB)
[root@controller ~]# cinder create --name test --description 'new volume' --availability-zone nova 2

3、查看卷詳情信息
[root@controller ~]# cinder show test

4、更新卷
4.1重命名
語法:cinder rename 舊名稱 新名稱
[root@controller ~]# cinder rename test test01

4.2修改狀態
可修改的狀態:"available", "error", "creating", "deleting", "in-use", "attaching", "detaching", "error_deleting" and "maintenance".
附加狀態:"attached" , "detached" 默認狀態為:None.

語法:cinder reset-state [--state 狀態, --attach-status 附加狀態, --reset-migration-status] 卷名稱
[root@controller ~]# cinder reset-state --state deleting test

4.3修改類型

操作步驟:

#1)修改卷狀態為available
#**注意:**修改類型時卷狀態必須是available狀態
[root@controller ~]# cinder reset-state --state available test

#2)查看卷類型,如果沒有需要先創建
[root@controller ~]# cinder type-list
[root@controller ~]# cinder type-create lvm

#3)修改為對應的類型
#語法:cinder retype 卷名稱 卷類型ID
[root@controller ~]# cinder retype test 5780bda0-0ac4-4f5a-a8c4-807980c28aaa

5、擴容
語法:cinder extend 卷名稱 擴容大小
[root@controller ~]# cinder extend test 5

6、卷刪除
[root@controller ~]# cinder delete test

(二)、Type管理

1、查看類型列表
[root@controller ~]# cinder type-list

2、創建類型
語法:cinder type-create [--description 描述信息, --is-public ] 類型名稱
[root@controller ~]# cinder type-create lvm

3、查看類型詳情信息
[root@controller ~]# type-show lvm

4、修改類型
語法:cinder type-update [--name 新名稱,--description 描述信息,--is-public ] 類型ID
[root@controller ~]# cinder type-update --name ssd --description 'best of all' b16ab5aa-f9d2-4402-89a8-1a72e9c51914

5、刪除類型
語法:cinder type-delete 類型ID
[root@controller ~]# cinder type-delete ac57dcb7-d157-419f-bd63-3ea0eb6ff940

卷掛載操作步驟
1、卷創建
[root@controller ~]# cinder create --name test --description 'new volume' --availability-zone nova 2

2、修改卷狀態為available
[root@controller ~]# cinder reset-state --state available test

3、卷列表查看
[root@controller ~]# cinder list

4、卷掛載到雲主機
[root@controller cinder]# nova volume-attach wzg-server f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 /dev/vdb

5、查看所有掛載到雲主機上的卷
[root@controller cinder]# nova  volume-attachments wzg-server

聲明:未經許可,不得轉載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM