1. 程式人生 > 實用技巧 >三,openstack之glance服務的安裝

三,openstack之glance服務的安裝

三,openstack之glance服務的安裝

目錄

openstack之映象服務glance的安裝

一,glance服務簡介

Glance是Openstack映象服務元件,監聽在9292埠,接收REST API請求,通過其它模組來完成映象的獲取,上傳,刪除等。

在建立虛擬機器的時候,先把映象上傳到glace,

glance-api接收映象的刪除、上傳和讀取;
glance-registry(port:9191)與mysql互動,儲存獲取映象的元資料。

glance資料庫有兩張表,一張image表,一張image property表:儲存了映象格式、大小等資訊

image store是一個儲存的介面層,通過這個介面glance可以獲取映象

二,glance的安裝

1,openstack安裝服務的通用步驟

1,創庫授權

2,在keystone建立使用者,關聯角色

3,在keystone上建立服務,註冊api

4,安裝服務相關的軟體包

5,修改配置

  • 資料庫的連線
  • keystone的認證授權資訊
  • rabbitmq的連線資訊
  • 其他服務的連線配置

6,同步資料庫,建立表

7,啟動服務

2,安裝配置glance

1,建立glance庫並授權

[root@controller ~]# mysql -uroot -p***

MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';

2,匯入admin使用者的環境變數,建立glance使用者並授權

source admin-openrc   #應用admin的環境變數
openstack user create --domain default --password GLANCE_PASS glance #建立glance使用者
openstack role add --project service --user glance admin #關聯角色,給glance使用者授權

[root@controller ~]# openstack role assignment list  #檢視授權的使用者
+----------------------------------+----------------------------------+-------+----------------------------------+--------+--------+-----------+
| Role                             | User                             | Group | Project                          | Domain | System | Inherited |
+----------------------------------+----------------------------------+-------+----------------------------------+--------+--------+-----------+
| 38f0eca02ff449ddb5645c03edf6ea95 | 6d5b2f95c05248e5b0534e22b71a1780 |       | 695024d064f84bcfa5a48170b4519fad |        |        | False     |
| 8ec87a64484944d88e93d2a59f55bfe0 | 84a0c3edd86a416a9c5bf0196e724843 |       | 695024d064f84bcfa5a48170b4519fad |        |        | False     |
| 38f0eca02ff449ddb5645c03edf6ea95 | c5d3016e0873403487102264a4ba09e4 |       | 4c0a56c8e5444a73a1eb0a4e3cb3d4a7 |        |        | False     |
| 38f0eca02ff449ddb5645c03edf6ea95 | c5d3016e0873403487102264a4ba09e4 |       |                                  |        | all    | False     |
+----------------------------------+----------------------------------+-------+----------------------------------+--------+--------+-----------+

3,建立glance服務並註冊API

openstack service create --name glance \
  --description "OpenStack Image" image
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Image                  |
| enabled     | True                             |
| id          | 29c34febca274d90a47bd23623267ca1 |
| name        | glance                           |
| type        | image                            |
+-------------+----------------------------------+

openstack endpoint create --region RegionOne \
  image public http://controller:9292                 #註冊公共API
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | bdeb1eb06bb94e80acbf2c41c40772da |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 29c34febca274d90a47bd23623267ca1 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
  
openstack endpoint create --region RegionOne \
  image internal http://controller:9292                # 註冊內部使用API
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | bc163af48a7342b393a66f37e2184b69 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 29c34febca274d90a47bd23623267ca1 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+

openstack endpoint create --region RegionOne \ 
  image admin http://controller:9292                      #註冊管理員API
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 9ca3abd29a754dd0ae646a3cf7d16da6 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 29c34febca274d90a47bd23623267ca1 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
  

4,安裝glance並配置

yum install openstack-glance -y

cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
grep -Ev '^$|#' /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf

vim /etc/glance/glance-api.conf  #配置glance-api.conf
[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

[keystone_authtoken]
# ...
www_authenticate_uri  = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
# ...
flavor = keystone

[glance_store]          #配置本地檔案系統儲存和映象檔案的位置
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

su -s /bin/sh -c "glance-manage db_sync" glance   #初始化生成glance資料庫

# 啟動映像服務,並將其配置為在系統引導時啟動:
systemctl enable openstack-glance-api.service
systemctl start openstack-glance-api.service

#檢視9292埠啟動,即說明glance安裝成功
ss -tnlp 
LISTEN     0      128     *:9292  *:*                   
users:(("glance-api",pid=2494,fd=4),("glance-api",pid=2482,fd=4))

3,通過實驗驗證glance服務

下載一個cirros映象(cirros是一個很小的Linux系統),驗證glance的安裝

source admin-openrc #在admin使用者下
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img  (如果下載慢,也可以在windows下使用迅雷等工具下載,然後上傳到控制節點的root目錄下)

openstack image create --file /root/cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros #(官方文件坑點之一,這裡不要使用官方文件裡面的glance image-create這樣的寫法,新版本的OpenStack已經不支援,儘量統一使用以openstack開頭的命令寫法)
# --disk-format qcow2 映象的格式為qcow2格式
# --container-format bare  容器型別,bare即為普通虛擬機器映象
# --public cirros 

執行結果如圖一,再檢視image list如圖二,檢視存放映象目錄如圖三,證明glance服務正常執行

至此,glance服務安裝完成