天天看點

私有雲技術

私有雲技術

使用腳本部署OpenStack平台

需要兩台主機,一台控制節點,一台計算節點

控制節點:安裝MySQL、Keystone、Glance、Nova、Neutron、Dashboard等服務,主要作為認證、鏡像管理節點,以及提供Nova和Neutron服務的管理節點。提供Dashboard界面服務

計算節點:安裝nova-compute和Neutron服務,Nova服務提供雲主機服務,Neutron提供網絡服務

基礎環境配置

基礎配置

兩個節點設定第一張網卡為僅主機模式,第二張網卡為NAT模式,以及配置CPU虛拟化

私有雲技術

計算節點至少使用4 GB記憶體,硬碟不小于50 GB

IP位址配置

控制節點ip配置

# hostnamectl set-hostname controller

# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=eno16777736

UUID=8c4cfa11-e842-4d06-9320-0cf31d42075c

DEVICE=eno16777736

ONBOOT=yes

IPADDR=192.168.10.10

NETMASK=255.255.255.0

GATEWAY=192.168.10.2

# vi /etc/sysconfig/network-scripts/ifcfg-eno33554960

NAME=eno33554960

UUID=69fd9c09-d0ec-496d-a0da-c7fc077b0e7a

DEVICE=eno33554960

IPADDR=192.168.20.10

GATEWAY=192.168.20.2

計算節點ip配置

# hostnamectl set-hostname compute

UUID=604a502b-fe44-4284-8361-27ca70ed1a89

IPADDR=192.168.10.20

UUID=9323fac9-2c37-4604-9dc9-777cbeefdcd6

IPADDR=192.168.20.20

上傳基礎鏡像(控制節點)

将XianDian-IaaS-v2.2.iso和CentOS-7-x86_64-DVD-1511.iso兩個鏡像包上傳至controller節點的/root目錄中

# ll

總用量 7012772

-rw-------. 1 root root       1635 5月  19 02:52 anaconda-ks.cfg

-rw-r--r--. 1 root root 4329570304 5月  20 17:11 CentOS-7-x86_64-DVD-1511.iso

-rw-r--r--. 1 root root 2851502080 11月  6 2017 XianDian-IaaS-v2.2.iso

将鏡像檔案挂載到/opt目錄

# mkdir /opt/centos7.2

# mkdir /opt/iaas

# mount /root/CentOS-7-x86_64-DVD-1511.iso /opt/centos7.2/

mount: /dev/loop0 寫保護,将以隻讀方式挂載

# mount /root/XianDian-IaaS-v2.2.iso /opt/iaas/

mount: /dev/loop1 寫保護,将以隻讀方式挂載

配置YUM源檔案

controller節點

# rm -rf /etc/yum.repos.d/CentOS-*

# vi /etc/yum.repos.d/local.repo 

[centos]

name=centos

baseurl=file:///opt/centos7.2

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=file:///opt/iaas/iaas-repo

compute節點

baseurl=ftp://192.168.10.10/centos7.2

baseurl=ftp://192.168.10.10/iaas/iaas-repo

安裝ftp服務(控制節點)

# yum install -y vsftpd

編輯配置檔案

# vi /etc/vsftpd/vsftpd.conf

檔案最上邊添加代碼

anon_root=/opt

重新開機服務

# systemctl restart vsftpd

配置防火牆政策(兩個節點)

# setenforce 0

# iptables -F

# iptables -X

# iptables -Z

# systemctl stop firewalld

安裝服務(兩個節點)

安裝iaas-xiandian軟體包

# yum install -y iaas-xiandian

配置環境變量(兩個節點)

# vi /etc/xiandian/openrc.sh

HOST_IP=192.168.10.10

HOST_NAME=controller

HOST_IP_NODE=192.168.10.20

HOST_NAME_NODE=compute

RABBIT_USER=openstack

RABBIT_PASS=000000

DB_PASS=000000

DOMAIN_NAME=demo

ADMIN_PASS=000000

DEMO_PASS=000000

KEYSTONE_DBPASS=000000

GLANCE_DBPASS=000000

GLANCE_PASS=000000

NOVA_DBPASS=000000

NOVA_PASS=000000

NEUTRON_DBPASS=000000

NEUTRON_PASS=000000

METADATA_SECRET=000000

INTERFACE_NAME=eno33554960

CINDER_DBPASS=000000

CINDER_PASS=000000

BLOCK_DISK=md126p3

TROVE_DBPASS=000000

TROVE_PASS=000000

SWIFT_PASS=000000

OBJECT_DISK=md126p4

STORAGE_LOCAL_NET_IP=192.168.10.20

HEAT_DBPASS=000000

HEAT_PASS=000000

CEILOMETER_DBPASS=000000

CEILOMETER_PASS=000000

AODH_DBPASS=000000

AODH_PASS=000000 

使用腳本安裝OpenStack平台

安裝基礎服務(兩個節點)

通過腳本安裝基礎服務

# iaas-pre-host.sh

安裝完成後,退出并重新登陸,使主機名生效

安裝MYSQL資料庫服務(控制節點)

通過腳本安裝MYSQL資料庫服務

# iaas-install-mysql.sh

安裝Keystone認證服務(控制節點)

通過腳本安裝Keystone認證服務

# iaas-install-keystone.sh

安裝Glance鏡像服務(控制節點)

通過腳本安裝Glance鏡像服務

# iaas-install-glance.sh

安裝Nova計算服務

控制節點通過腳本安裝計算服務

# iaas-install-nova-controller.sh

計算節點通過腳本安裝計算服務

# iaas-install-nova-compute.sh

安裝Neutron網絡服務

控制節點通過腳本安裝網絡服務

# iaas-install-neutron-controller.sh

# iaas-install-neutron-controller-gre.sh

計算節點通過腳本安裝網絡服務

# iaas-install-neutron-compute.sh

# iaas-install-neutron-compute-gre.sh

安裝Dashboard服務(控制節點)

通過腳本安裝Dashboard服務

# iaas-install-dashboard.sh

安裝Cinder塊存儲服務

控制節點通過腳本安裝塊存儲服務

# iaas-install-cinder-controller.sh

計算節點通過腳本安裝塊存儲服務

# iaas-install-cinder-compute.sh

安裝Swift對象存儲服務

控制節點通過腳本安裝對象存儲服務

# iaas-install-swift-controller.sh

計算通過腳本安裝對象存儲服務

# iaas-install-swift-compute.sh

通路Dashboard服務

打開浏覽器,通路92.168.10.10/dashboard

私有雲技術

 登入後即可通路到Dashboard系統

私有雲技術

OpenStack平台使用 

建立鏡像

複制鏡像到控制節點(控制節點)

在控制節點找到qcow2鏡像

# cd /opt/iaas/images/

# ls

CentOS_6.5_x86_64_XD.qcow2  CentOS_7.2_x86_64_XD.qcow2  MySQL_5.6_XD.qcow2

上傳鏡像到Glane服務(控制節點)

将qcow2鏡像上傳到平台中

# source /etc/keystone/admin-openrc.sh

# glance image-create --name "centos7.2" --disk-format qcow2 --container-format bare --progress < CentOS_7.2_x86_64_XD.qcow2

[=============================>] 100%

+------------------+--------------------------------------+

| Property         | Value                                |

| checksum         | ea197f4c679b8e1ce34c0aa70ae2a94a     |

| container_format | bare                                 |

| created_at       | 2020-05-20T19:39:58Z                 |

| disk_format      | qcow2                                |

| id               | 554dedbb-4bc4-4825-ab8a-29385f1b6cfa |

| min_disk         | 0                                    |

| min_ram          | 0                                    |

| name             | centos7.2                            |

| owner            | 07ea51a6ef9a4a3cb9f6930b2db2df7f     |

| protected        | False                                |

| size             | 400752640                            |

| status           | active                               |

| tags             | []                                   |

| updated_at       | 2020-05-20T19:40:10Z                 |

| virtual_size     | None                                 |

| visibility       | private                              |

建立外部網絡

建立網絡

在浏覽器選擇菜單欄“項目”→“網絡”→“網絡”指令,單擊右側“建立網絡”按鈕,建立虛拟機網絡

私有雲技術

設定網絡 

在彈出的視窗中,輸入網絡名稱為net-gre,管理狀态為up,單擊“前進”按鈕

私有雲技術

建立子網 

在彈出的對話框中填寫子網資訊,單擊“前進”按鈕

私有雲技術

設定DHCP位址池 

配置DHCP位址池,勾選“激活DHCP”複選框,添加“114.114.114.114”的DNS伺服器,單擊“已建立”按鈕建立網絡

私有雲技術

選擇外部網絡 

選擇菜單欄“管理者”→“系統”→“ 網絡”指令,在已建立的外部網絡中,選擇“操作”下拉菜單中“編輯網絡”菜單指令

私有雲技術

在彈出的對話框中,勾選“外部網絡”複選框,單擊“儲存”按鈕

私有雲技術

建立内部網絡 

選擇菜單欄“項目”→“網絡”→“網絡”指令,右側單擊“建立網絡”按鈕,建立虛拟機網絡

私有雲技術

設定網絡

在彈出的對話框中設定網絡名稱,然後單擊“前進”按鈕

私有雲技術

設定子網 

設定子網名稱為“int-subnet”,網絡位址為“10.10.0.0/24”,網關IP位址為“10.10.0.1”,單擊“前進”按鈕

私有雲技術

設定DHCP 

在彈出的對話框中,勾選“激活DHCP”複選框,并點選“已建立”按鈕

私有雲技術

建立路由器 

建立路由

選擇菜單欄“項目”→“網絡”→“路由”指令,右側單擊“建立路由”按鈕,建立路由

私有雲技術

設定路由 

在彈出的對話框中設定路由名稱為“route”,在外部網絡下拉菜單中,選擇外部網絡“net-gre”,單擊“建立路由”按鈕

私有雲技術

添加内部網絡端口 

單擊新建立的路由名稱,進入路由編輯頁面

私有雲技術

選擇“接口”标簽,單擊“增加接口”按鈕

私有雲技術

 在彈出的對話框中,選擇“int-gre”内部網絡,然後單擊“送出”按鈕

私有雲技術

管理安全組 

管理default預設安全組

管理通路政策安全組,選擇菜單欄“項目”→“計算”→“通路&安全”指令,管理default預設規則

私有雲技術

添加放行政策 

單擊右側“添加規則”按鈕,放行通信政策

私有雲技術

放行所有ICMP協定,單擊“添加”按鈕

私有雲技術

放行所有TCP協定,單擊“添加”按鈕 

私有雲技術

放行所有UDP協定,單擊“添加”按鈕

私有雲技術

建立雲主機 

建立雲主機

建立雲主機,選擇菜單欄“項目”→“計算”→“雲主機”指令,單擊右側“建立雲主機”按鈕

私有雲技術

設定雲主機名稱 

在彈出的對話框中,輸入建立的雲主機名稱以及數量,然後單擊“下一步”按鈕

私有雲技術

選擇雲主機鏡像 

在“源”中選擇所要使用的鏡像檔案,單擊對應鏡像後的“+”按鈕,然後單擊“下一步”按鈕

私有雲技術

選擇雲主機資源類型 

在“flavor”中選擇所需雲主機的資源類型,選擇“m1.small”資源類型,單擊對應的“+”按鈕,然後單擊“下一步”按鈕

私有雲技術

選擇雲主機網絡 

在“網絡”中使雲主機使用建立的int-gre内部網絡,單擊對應的“+”按鈕,然後單擊“啟動執行個體”按鈕

私有雲技術

綁定浮動ip位址 

選擇菜單欄的“項目”→“計算”→“雲主機”指令,在“操作”的下拉菜單中選擇“綁定浮動IP”菜單指令

私有雲技術

在彈出的對話框中單擊“+”按鈕,配置設定一個IP位址 

私有雲技術

單擊“配置設定IP”按鈕,單擊“關聯”按鈕,關聯浮動ip位址

私有雲技術

檢視雲主機建立狀态 

建立完成後,可以在“雲主機”頁面中顯示雲主機清單,可檢視到建立的雲主機狀态為“運作”

私有雲技術

測試雲主機連通性

回到電腦,window+R打開CMD視窗,通過ping指令進行測試,可以連通雲主機

私有雲技術

通過secureCRT工具,連接配接雲主機,檢視雲主機IP位址,使用者名為root,密碼為00000 

私有雲技術

Keystone服務運維 

在OpenStack架構中,Keystone(OpenStack Identity Service)的功能是負責驗證身份、校驗服務規則和釋出服務令牌的,它實作了OpenStack的Identity API。Keystone可分解為兩個功能,即權限管理和服務目錄。權限管理主要用于使用者的管理授權。服務目錄,類似一個服務總線,或者說是整個OpenStack架構的系統資料庫。認證子產品提供API服務、Token令牌機制、服務目錄、規則和認證釋出等功能

Keystone運維指令

建立使用者(控制節點)

建立使用者的具體格式

$ openstack user create [--domain

[--password

[--email

[--enable | --disable]

建立一個名稱為“alice”賬戶,密碼為“mypassword123”,郵箱為“[email protected]

# openstack user create --password mypassword123 --email [email protected] --domain demo alice

+-----------+----------------------------------+

| Field     | Value                            |

| domain_id | 1b3296609d0b4f82a7734e5439033935 |

| email     | [email protected]                |

| enabled   | True                             |

| id        | fd6877910f884ef3b5b619adab16ada9 |

| name      | alice                            |

建立項目(控制節點)

一個Project就是一個項目、團隊或組織,當請求OpenStack服務時,必須定義一個項目

建立項目的格式

$ openstack project create [--domain

                              [--description

                              [--enable | --disable]

建立一個名為“acme”的項目

# openstack project create --domain demo acme

+-------------+----------------------------------+

| Field       | Value                            |

| description |                                  |

| domain_id   | 1b3296609d0b4f82a7734e5439033935 |

| enabled     | True                             |

| id          | 5a1740c1194d425b844f9df90e88d969 |

| is_domain   | False                            |

| name        | acme                             |

| parent_id   | 1b3296609d0b4f82a7734e5439033935 |

建立角色(控制節點)

角色限定了使用者的操作權限

建立角色的具體格式

$ openstack user create

建立一個角色“compute-user”

# openstack role create compute-user

| domain_id | None                             |

| id        | f18f7c0f40a54378aa4c51c3b250e56b |

| name      | compute-user                     |

綁定使用者和項目權限(控制節點)

添加的使用者需要配置設定一定的權限,這就需要把使用者關聯綁定到對應的項目和角色

綁定使用者和項目權限的具體格式

$ openstack role add --user

給使用者“alice”配置設定“acme”項目下的“compute-user”角色

# openstack role add --user alice --project acme compute-user

Keystone基礎查詢指令

使用者清單查詢(控制節點)

OpenStack平台所使用的使用者可以通過Keystone元件進行查詢

查詢所有使用者清單資訊

# openstack user list

+----------------------------------+---------+

| ID                               | Name    |

| 5cbf8d5eb0cd48b3b2018a988f52e405 | neutron |

| 6c82348164d646df9b2a94d183a41c3b | cinder  |

| 7d569ea77c8f4e1e96995be7608c713a | demo    |

| a689d312175643819f4f48cf44975cea | nova    |

| b2ea672397fa40849b3b65ae6dd72f6a | admin   |

| ce88d040605541b092c3e18717d08fd4 | swift   |

| e91ee100c089479aa18392c821c52d38 | glance  |

| fd6877910f884ef3b5b619adab16ada9 | alice   |

查詢使用者詳細資訊和狀态

# openstack user show alice

項目清單查詢(控制節點)

查詢平台中所有存在項目清單

# openstack project list

| 5a1740c1194d425b844f9df90e88d969 | acme    |

| 81945ab408cf4c8e86fadc28a83d2d2d | admin   |

| d23d9122a904433b83cabcb96d048614 | service |

| daa94a9af47a4adfbed9a33086874186 | demo    |

查詢“acme”項目的詳細資訊

# openstack project show acme

角色清單查詢(控制節點)

查詢角色清單資訊

# openstack role list

+----------------------------------+--------------+

| ID                               | Name         |

| 1b7c050f80854656a5385cfa8a51f26e | admin        |

| 64ed8b55474a49ab90ca2eca5625cbe0 | user         |

| f18f7c0f40a54378aa4c51c3b250e56b | compute-user |

查詢“compute-user”角色的詳細資訊

# openstack role show compute-user

端點位址查詢(控制節點)

Keystone元件管理OpenStack平台中所有服務端點資訊,通過指令可以查詢平台中所有服務所使用的端點位址資訊

# openstack endpoint list

+-----------+-----------+--------------+--------------+---------+-----------+------------+

| ID        | Region    | Service Name | Service Type | Enabled | Interface | URL        |

| 142d33757 | RegionOne | keystone     | identity     | True    | admin     | http://con |

| dad4a9290 |           |              |              |         |           | troller:35 |

| 16113ef74 |           |              |              |         |           | 357/v3     |

| a742b     |           |              |              |         |           |            |

| 1f0fdb8af | RegionOne | swift        | object-store | True    | internal  | http://con |

| bf94b7abf |           |              |              |         |           | troller:80 |

| 28ac38dff |           |              |              |         |           | 80/v1/AUTH |

| c0f6a     |           |              |              |         |           | _%(tenant_ |

|           |           |              |              |         |           | id)s       |

| 29f944673 | RegionOne | swift        | object-store | True    | public    | http://con |

| ad74b7e9d |           |              |              |         |           | troller:80 |

| aa206a40a |           |              |              |         |           | 80/v1/AUTH |

| 766c8     |           |              |              |         |           | _%(tenant_ |

| 3700332b3 | RegionOne | keystone     | identity     | True    | public    | http://con |

| a6346618c |           |              |              |         |           | troller:50 |

| 5e062d71f |           |              |              |         |           | 00/v3      |

| 37353     |           |              |              |         |           |            |

| 3cc9a5531 | RegionOne | glance       | image        | True    | public    | http://con |

| ee247318c |           |              |              |         |           | troller:92 |

| 28d35ade6 |           |              |              |         |           | 92         |

| 62744     |           |              |              |         |           |            |

| 45347af92 | RegionOne | cinder       | volume       | True    | internal  | http://con |

| 70d42e6a5 |           |              |              |         |           | troller:87 |

| 08b8bed47 |           |              |              |         |           | 76/v1/%(te |

| bad38     |           |              |              |         |           | nant_id)s  |

| 46cfdc6a4 | RegionOne | cinder       | volume       | True    | public    | http://con |

| 0bf48b4bb |           |              |              |         |           | troller:87 |

| 8a8504d2b |           |              |              |         |           | 76/v1/%(te |

| c24bb     |           |              |              |         |           | nant_id)s  |

| 54acfa284 | RegionOne | nova         | compute      | True    | admin     | http://con |

| f204dc98c |           |              |              |         |           | troller:87 |

| 4aa22de7b |           |              |              |         |           | 74/v2.1/%( |

| 034c1     |           |              |              |         |           | tenant_id) |

|           |           |              |              |         |           | s          |

| 54ca2be22 | RegionOne | glance       | image        | True    | internal  | http://con |

| f60473ab8 |           |              |              |         |           | troller:92 |

| b723935be |           |              |              |         |           | 92         |

| 8d455     |           |              |              |         |           |            |

| 67b8130ad | RegionOne | keystone     | identity     | True    | internal  | http://con |

| 3104b398f |           |              |              |         |           | troller:50 |

| f49cb9fa1 |           |              |              |         |           | 00/v3      |

| edbbf     |           |              |              |         |           |            |

| 71487ce33 | RegionOne | cinderv2     | volumev2     | True    | admin     | http://con |

| d8b4263b5 |           |              |              |         |           | troller:87 |

| d4a450256 |           |              |              |         |           | 76/v2/%(te |

| 1b08f     |           |              |              |         |           | nant_id)s  |

| 7ca7ca1bb | RegionOne | cinder       | volume       | True    | admin     | http://con |

| d0c47e6bb |           |              |              |         |           | troller:87 |

| 8a80b56a4 |           |              |              |         |           | 76/v1/%(te |

| 23d17     |           |              |              |         |           | nant_id)s  |

| 8fbea79b4 | RegionOne | swift        | object-store | True    | admin     | http://con |

| 68c472eaf |           |              |              |         |           | troller:80 |

| 92d100f03 |           |              |              |         |           | 80/v1      |

| 63385     |           |              |              |         |           |            |

| a2e126d9b | RegionOne | nova         | compute      | True    | public    | http://con |

| ea141d689 |           |              |              |         |           | troller:87 |

| 454e3cf74 |           |              |              |         |           | 74/v2.1/%( |

| e2919     |           |              |              |         |           | tenant_id) |

| ada04574a | RegionOne | neutron      | network      | True    | admin     | http://con |

| 5e847e7a2 |           |              |              |         |           | troller:96 |

| 7d4e05959 |           |              |              |         |           | 96         |

| bff7d     |           |              |              |         |           |            |

| d696f82bb | RegionOne | neutron      | network      | True    | public    | http://con |

| 4574cedb1 |           |              |              |         |           | troller:96 |

| 9d7dbb9dd |           |              |              |         |           | 96         |

| af7c0     |           |              |              |         |           |            |

| db6d1ece1 | RegionOne | nova         | compute      | True    | internal  | http://con |

| 6074043b1 |           |              |              |         |           | troller:87 |

| 73f64cff2 |           |              |              |         |           | 74/v2.1/%( |

| c9f3f     |           |              |              |         |           | tenant_id) |

| dc30fb7cb | RegionOne | cinderv2     | volumev2     | True    | public    | http://con |

| 46b4649be |           |              |              |         |           | troller:87 |

| c721c21f9 |           |              |              |         |           | 76/v2/%(te |

| d52d4     |           |              |              |         |           | nant_id)s  |

| f27638936 | RegionOne | neutron      | network      | True    | internal  | http://con |

| c444e3fb1 |           |              |              |         |           | troller:96 |

| 1c824bc02 |           |              |              |         |           | 96         |

| 9de81     |           |              |              |         |           |            |

| f43aa80bc | RegionOne | cinderv2     | volumev2     | True    | internal  | http://con |

| b2f4db598 |           |              |              |         |           | troller:87 |

| afb9d1026 |           |              |              |         |           | 76/v2/%(te |

| 8874e     |           |              |              |         |           | nant_id)s  |

| f43c02b42 | RegionOne | glance       | image        | True    | admin     | http://con |

| 67c486f85 |           |              |              |         |           | troller:92 |

| e8efc3fd6 |           |              |              |         |           | 92         |

| d8b66     |           |              |              |         |           |            |

Glance服務運維

Glance鏡像服務實作發現、注冊、擷取虛拟機鏡像和鏡像中繼資料,鏡像資料支援多種存儲系統,可以是簡單檔案系統、對象存儲系統等。Glance鏡像服務是典型的C/S架構,Glance架構包括glance-CLIent、Glance和Glance Store。Glance主要包括REST API、資料庫抽象層(DAL)、域控制器(glance domain controller)和注冊層(registry layer),Glance 使用集中資料庫(Glance DB)在Glance各元件間直接共享資料

Glance管理鏡像

建立鏡像(控制節點)

将提供的鏡像檔案cirros-0.3.4-x86_64-disk.img上傳到控制節點的/root目錄

建立一個名稱為“cirros”的鏡像

# glance image-create --name "cirros" --disk-format qcow2 --container-format bare --progress < cirros-0.3.4-x86_64-disk.img

| checksum         | ee1eca47dc88f4879d8a229cc70a07c6     |

| created_at       | 2020-05-21T22:13:34Z                 |

| id               | d2b3013e-4aac-4e4b-a506-a88de0e6bdad |

| name             | cirros                               |

| owner            | 81945ab408cf4c8e86fadc28a83d2d2d     |

| size             | 13287936                             |

| updated_at       | 2020-05-21T22:13:35Z                 |

檢視鏡像清單(控制節點)

查詢鏡像清單指令及結果

# glance image-list

+--------------------------------------+-----------+

| ID                                   | Name      |

| edd13c0b-9711-4ef8-9a27-c565ea511ba3 | centos7.2 |

| d2b3013e-4aac-4e4b-a506-a88de0e6bdad | cirros    |

Glance鏡像運維

檢視鏡像詳情(控制節點)

檢視鏡像的詳細資訊

# glance image-show d2b3013e-4aac-4e4b-a506-a88de0e6bdad

更改鏡像(控制節點)

使用glance image-update指令更新鏡像資訊

# glance image-update --min-disk=1 d2b3013e-4aac-4e4b-a506-a88de0e6bdad

| min_disk         | 1                                    |

| updated_at       | 2020-05-21T22:21:27Z                 |

删除鏡像(控制節點)

使用glance image-delete删除鏡像資訊

# glance image-delete d2b3013e-4aac-4e4b-a506-a88de0e6bdad

Nova服務運維

計算服務(Nova)表示雲平台的工作負載的核心。如果有些雲服務的工作中不包括計算,那麼它們充其量隻代表靜态存儲,所有動态活動都會涉及一些計算元素。OpenStack Compute這個名稱指的是一個特定的項目,該項目也被稱為Nova,OpenStack的其他元件依托Nova,與Nova協同工作,組成了整個OpenStack雲平台

Nova,是OpenStack計算的彈性控制器。Nova可以說是整個雲平台最重要的元件,其功能包括運作虛拟機執行個體、管理網絡以及通過使用者和項目來控制對雲的通路。OpenStack最基礎的開源項目名字稱為Nova,它提供的軟體可以控制基礎設施即服務(IaaS)雲計算平台,與AmazonEC2和Rackspace雲伺服器有一定程度的相似。OpenStack Compute沒有包含任何的虛拟化軟體,相反,它定義和運作在主機作業系統上的虛拟化機制互動的驅動程式,并通過基于Web的程式應用接口(API)來提供功能的使用

Nova運維指令

Nova管理安全組規則

安全組(security group)是一些規則的集合,用來對虛拟機的通路流量加以限制,這反映到底層,就是使用iptables,給虛拟機所在的主控端添加iptables規則。可以定義n個安全組,每個安全組可以有n個規則,可以給每個執行個體綁定n個安全組。Nova中總是有一個default安全組,這個是不能被删除的。建立執行個體的時候,如果不指定安全組,會預設使用這個default安全組。現在Nova中安全組應該會移到Neutron中,并且會增加對虛拟機外出流量的控制

建立安全組

# nova secgroup-create test 'test the nova command about the rules'

+--------------------------------------+------+---------------------------------------+

| Id                                   | Name | Description                           |

| d1ce4ef1-26c8-4b3d-958b-bc778bf283f3 | test | test the nova command about the rules |

Nova管理虛拟機類型(控制節點)

虛拟機類型是在建立執行個體的時候,配置設定給執行個體的資源情況

使用指令建立一個名為test,ID為6,記憶體為2048 MB,磁盤為20 GB,vCPU數量為2的雲主機類型

# nova flavor-create test 6 2048 20 2

+----+------+-----------+------+-----------+------+-------+-------------+-----------+

| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |

| 6  | test | 2048      | 20   | 0         |      | 2     | 1.0         | True      |

檢視test雲主機類型的詳細資訊

# nova flavor-show test

+----------------------------+-------+

| Property                   | Value |

| OS-FLV-DISABLED:disabled   | False |

| OS-FLV-EXT-DATA:ephemeral  | 0     |

| disk                       | 20    |

| extra_specs                | {}    |

| id                         | 6     |

| name                       | test  |

| os-flavor-access:is_public | True  |

| ram                        | 2048  |

| rxtx_factor                | 1.0   |

| swap                       |       |

| vcpus                      | 2     |

Nova執行個體管理 

啟動執行個體

格式

nova boot [--flavor

                 [--image-with

                 [--snapshot

                 [--max-count

                 [--file

                 [--user-data

                 [--availability-zone

                 [--security-groups

                 [--block-device-mapping

                 [--block-device key1=value1[,key2=value2...]]

                 [--swap

                 [--ephemeral size=

                 [--hint

                 [--nic

                 [--config-drive

                 [--access-ip-v4

                 [--description

固定參數

可選參數

[--flavor

[--image

[--image-with

[--boot-volume

[--snapshot

[--num-instances

[--meta

[--file

[--key-name

[--user-data

[--availability-zone

[--security-groups

[--block-device-mapping

[--block-device key1=value1[,key2=value2...]] 塊裝置參數

[--swap

[--ephemeral size=

[--hint

[--nic ] 配置IP

[--config-drive

[--poll] 顯示建立進度

删除執行個體

usage: nova delete [--all-tenants]

Immediately shut down and delete specified server(s).

Positional arguments:

Optional arguments:

  --all-tenants  Delete server(s) in another tenant by name (Admin only).

Neutron服務運維

Neutron網絡目的是靈活地劃分實體網絡,在多租戶環境下提供給每個租戶獨立的網絡環境。它是可以被使用者建立的對象,如果要和實體環境下的概念映射的話,這個對象相當于一個巨大的交換機,可以擁有無限多個動态可建立和銷毀的虛拟端口

Neutron查詢(控制節點)

使用Neutron相關指令查詢網絡服務的清單資訊中的“binary”一列

# neutron agent-list -c binary

+---------------------------+

| binary                    |

| neutron-openvswitch-agent |

| neutron-lbaas-agent       |

| neutron-metadata-agent    |

| neutron-l3-agent          |

| neutron-dhcp-agent        |

查詢網絡詳情(控制節點)

# neutron net-list

+-----------------------------------+---------+------------------------------------+

| id                                | name    | subnets                            |

| 9e923ba3-b584-47bc-9bca-          | int-gre | f3d75dd9-4970-402b-                |

| eef0e49d1efe                      |         | bdd6-f34e0cab877b 10.10.0.0/24     |

| 77654301-f079-40b2-8658-3087c4dd3 | net-gre | 473b2662-6dcd-494e-ab7f-           |

| 6fb                               |         | e0a7f80ba0ee 192.168.20.0/24       |

+-----------------------------------+---------+------------------------------------+ 

查詢Neutron相關元件服務(控制節點)

使用Neutron相關指令查詢網絡服務DHCP agent的詳細資訊

# neutron agent-list

+-----------+------------+-----------+-------------------+-------+----------------+--------------+

| id        | agent_type | host      | availability_zone | alive | admin_state_up | binary       |

| 46c9dd95- | Open       | compute   |                   | :-)   | True           | neutron-     |

| 66a0      | vSwitch    |           |                   |       |                | openvswitch- |

| -4e5a-    | agent      |           |                   |       |                | agent        |

| 8b8d-0762 |            |           |                   |       |                |              |

| 62e4b7a0  |            |           |                   |       |                |              |

| 7d210742- | Loadbalanc | controlle |                   | xxx   | True           | neutron-     |

| f656-42a9 | er agent   | r         |                   |       |                | lbaas-agent  |

| -9103-ba1 |            |           |                   |       |                |              |

| 4a36e4ad2 |            |           |                   |       |                |              |

| a3899944  | Metadata   | controlle |                   | :-)   | True           | neutron-     |

| -245f-    | agent      | r         |                   |       |                | metadata-    |

| 407a-     |            |           |                   |       |                | agent        |

| abfe-2914 |            |           |                   |       |                |              |

| 0779e2ee  |            |           |                   |       |                |              |

| abd22fd2- | L3 agent   | controlle | nova              | :-)   | True           | neutron-l3-a |

| 50f4-4997 |            | r         |                   |       |                | gent         |

| -b3bf-923 |            |           |                   |       |                |              |

| 2785e15a5 |            |           |                   |       |                |              |

| c407a59a- | Metadata   | compute   |                   | :-)   | True           | neutron-     |

| 59cb-45f1 | agent      |           |                   |       |                | metadata-    |

| -9ff5-211 |            |           |                   |       |                | agent        |

| 51799c344 |            |           |                   |       |                |              |

| def73e89  | Open       | controlle |                   | :-)   | True           | neutron-     |

| -27ba-    | vSwitch    | r         |                   |       |                | openvswitch- |

| 4b52      | agent      |           |                   |       |                | agent        |

| -88db-580 |            |           |                   |       |                |              |

| d30419ea0 |            |           |                   |       |                |              |

| f4772d45- | DHCP agent | controlle | nova              | :-)   | True           | neutron-     |

| 95a4-49d4 |            | r         |                   |       |                | dhcp-agent   |

| -b69c-296 |            |           |                   |       |                |              |

| 7a037649d |            |           |                   |       |                |              |

Cinder服務運維

Cinder是OpenStack Block Storage(OpenStack塊存儲)的項目名稱,Cinder的核心功能是對卷的管理,允許對卷、卷的類型、快照進行處理。然而,它并沒有實作對塊裝置的管理和實際服務(提供邏輯卷),而是通過後端的統一存儲接口,支援不同塊裝置廠商的塊存儲服務,實作其驅動支援并于OpenStack進行整合。Cinder可以支援如NetAPP、SolidFire、華為、EMC和IBM等知名存儲廠商以及衆多開源塊存儲系統

建立雲硬碟(控制節點)

建立一個2 GB的雲硬碟extend-demo

# cinder create --name cinder-volume-demo 2

+--------------------------------+--------------------------------------+

|            Property            |                Value                 |

|          attachments           |                  []                  |

|       availability_zone        |                 nova                 |

|            bootable            |                false                 |

|      consistencygroup_id       |                 None                 |

|           created_at           |      2020-05-21T23:01:01.000000      |

|          description           |                 None                 |

|           encrypted            |                False                 |

|               id               | 22585efe-a7a5-49df-b942-096e0ff57a71 |

|            metadata            |                  {}                  |

|        migration_status        |                 None                 |

|          multiattach           |                False                 |

|              name              |          cinder-volume-demo          |

|     os-vol-host-attr:host      |                 None                 |

| os-vol-mig-status-attr:migstat |                 None                 |

| os-vol-mig-status-attr:name_id |                 None                 |

|  os-vol-tenant-attr:tenant_id  |   81945ab408cf4c8e86fadc28a83d2d2d   |

|       replication_status       |               disabled               |

|              size              |                  2                   |

|          snapshot_id           |                 None                 |

|          source_volid          |                 None                 |

|             status             |               creating               |

|           updated_at           |                 None                 |

|            user_id             |   b2ea672397fa40849b3b65ae6dd72f6a   |

|          volume_type           |                 None                 |

通過cinder-list指令檢視雲硬碟資訊

# cinder list

+--------------------------------------+--------+--------------------+------+-------------+----------+-------------+

|                  ID                  | Status |        Name        | Size | Volume Type | Bootable | Attached to |

| 22585efe-a7a5-49df-b942-096e0ff57a71 | error  | cinder-volume-demo |  2   |      -      |  false   |             |

建立雲硬碟卷類型(控制節點)

建立type辨別的卷類型

# cinder type-create lvm

+--------------------------------------+------+-------------+-----------+

|                  ID                  | Name | Description | Is_Public |

| f4aad652-c573-495a-8199-9ec15122a378 | lvm  |      -      |    True   |

檢視現有的卷類型

[root@controller ~]# cinder type-list

建立帶辨別雲硬碟(控制節點)

建立一塊帶“lvm”辨別的雲硬碟

# cinder create --name type_test_demo --volume-type lvm 1

|           created_at           |      2020-05-21T23:06:04.000000      |

|               id               | e74a9773-65fd-4183-9cee-ad3911e8461b |

|              name              |            type_test_demo            |

|              size              |                  1                   |

|          volume_type           |                 lvm                  |

查詢資訊,看到該卷的volume_type字段已修改為“lvm”

# cinder show type_test_demo

|             status             |                error                 |

|           updated_at           |      2020-05-21T23:06:06.000000      |

删除指定的Cinder卷

# cinder delete cinder-volume-demo

Request to delete volume cinder-volume-demo has been accepted.

Swift服務運維

Swift構築在比較便宜的标準硬體存儲基礎設施之上,無需采用RAID(磁盤備援陣列),通過在軟體層面引入一緻性散列技術提高資料備援性、高可用性和可伸縮性,支援多租戶模式、容器和對象讀寫操作,适合解決網際網路的應用場景下非結構化資料存儲問題。在OpenStack中,Swift主要用于存儲虛拟機鏡像,用于Glance的後端存儲。在實際運用中,Swift的典型運用是網盤系統,代表是“Dropbox”,存儲類型大多為圖檔、郵件、視訊和存儲備份等靜态資源

Swift查詢指令(控制節點)

建立容器

需要建立一個名稱為“test”的容器

# swift post test

查詢容器

檢視“test”容器裡面的内容

# swift list test 

建立file目錄

# mkdir file

# touch one.txt

# touch two.doc

# touch three.png

Swift上傳和下載下傳(控制節點)

上傳檔案至容器

上傳一個空白的“file”目錄

# swift upload test file/

file/

将one.txt檔案上傳到“test”容器内file目錄内

# swift upload test/file one.txt

file/one.txt

将剩下的two.doc和three.png遞歸上傳到“test”容器下的file目錄内

# mv two.doc three.png file/

file/three.png

file/two.doc

從容器中下載下傳檔案

資料在Swift叢集内儲存,随時供使用者下載下傳使用

# swift download test file/three.png

file/three.png [auth 2.329s, headers 2.725s, total 2.726s, 0.000 MB/s]

從容器中删除檔案

磁盤容量有限,需要删除一些相對價值低的資料,空出更多的空間

# swift delete test file/three.png

檢視容器服務狀态

通過swift stat指令來檢視整個Account賬戶下Swift狀态

# swift stat

                        Account: AUTH_81945ab408cf4c8e86fadc28a83d2d2d

                     Containers: 1

                        Objects: 4

                          Bytes: 0

Containers in policy "policy-0": 1

   Objects in policy "policy-0": 4

     Bytes in policy "policy-0": 0

    X-Account-Project-Domain-Id: 1b3296609d0b4f82a7734e5439033935

                    X-Timestamp: 1590102621.65325

                     X-Trans-Id: txe6c38a6ca5e342d09321e-005ec70c3e

                   Content-Type: text/plain; charset=utf-8

                  Accept-Ranges: bytes

建構LNMP+WordPress

使用建立的雲主機進行操作

安裝LNMP環境

修改主機名

# hostnamectl set-hostname lnmp

上傳軟體包

将提供的lnmp1.6-full.tar.gz軟體包,上傳到虛拟機的/root目錄下,并解壓

# tar -zxvf lnmp1.6-full.tar.gz

配置DNS

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DNS="114.114.114.114"

執行安裝腳本

# cd lnmp1.6-full

# ./install.sh

選擇預設(Default)的軟體安裝版本,設定資料庫密碼

安裝成功後按Ctrl+C退出 

使用浏覽器輸入ip檢視頁面

私有雲技術

部署WordPress應用 

資料庫基礎配置

登入資料庫

# mysql -uroot -p123456

建立資料庫

> create database wordpress;

賦予遠端權限

> grant all privileges on *.* to root@localhost identified by'123456' with grant option;

> grant all privileges on *.* to root@"%" identified by'123456' with grant option;

壓縮包基礎配置

将提供的wordpress-4.7.3-zh_CN.zip壓縮包上傳至/root目錄并解壓

# unzip wordpress-4.7.3-zh_CN.zip

删除nginx項目的預設頁面

# cd /home/wwwroot/default/

# rm -rf index.html

複制檔案

# cd /root/wordpress

# cp -rvf * /home/wwwroot/default/

賦予權限

# chmod 777 *

将模闆配置檔案複制并改名

# cp wp-config-sample.php wp-config.php

編輯模闆配置檔案

# vi wp-config.php

// ** MySQL 設定 - 具體資訊來自您正在使用的主機 ** //

/** WordPress資料庫的名稱 */

define('DB_NAME', 'wordpress');

/** MySQL資料庫使用者名 */

define('DB_USER', 'root');

/** MySQL資料庫密碼 */

define('DB_PASSWORD', '123456');

/** MySQL主機 */

define('DB_HOST', '127.0.0.1');

/** 建立資料表時預設的文字編碼 */

define('DB_CHARSET', 'utf8');

/** 資料庫整理類型。如不确定請勿更改 */

define('DB_COLLATE', '');

浏覽器配置

浏覽器輸入ip進入WordPress安裝頁面

私有雲技術

點選安裝之後重新整理頁面

私有雲技術

 點選登入,輸入使用者名密碼

私有雲技術

進入WordPress應用的背景儀表盤界面,點選左上角myblog

私有雲技術