三,openstack之glance服務的安裝
阿新 • • 發佈:2020-10-09
三,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服務安裝完成