雲計算之openstack(N版)glance鏡像服務最佳實踐

2.4鏡像服務

2.4.1Glance概述

Glance由API和registry

Glanc-api:接受雲系統鏡像的創建、刪除、讀取請求

Glance-regisry:雲系統的鏡像註冊服務

架構圖如下:

wKiom1htsZbQ4R7IAAB1fdW5Ak0890.png-wh_50

說明:

Glance-api接收rest API的請求,類似Nova-API

Glance-API在功能上與Nova-API十分類似,都是被接收rest API請求,然後通過其他模塊(glance-registry及image store)來完成諸如鏡像的查找、獲取、上傳、刪除等操作,API默認監聽端口9292

Glance-registry用於MySQL數據庫交互,用於存儲或獲取鏡像的元數據(metadata);提供鏡像元數據相關的rest接口,通過glance-registry,可以向數據庫中寫入或獲取鏡像的各種數據,glance-registry監聽端口9191,glance的數據庫中有兩張表,一張是image表,一張是image property表,image表保存了鏡像格式、大小等信息;image property表則主要保存鏡像的定製化信息。

Image store是一個存儲的接口層,通過這個接口,glance可以獲取鏡像,image store支持的存儲有Amazon的S3、openstack本身swift,還有諸如ceph,sheepdog,glusterFS等分佈式存儲,image store是鏡像保存與獲取的接口,它僅僅是一個接口層,具體的實現需要外部的存儲支持

 

2.4.2glance的配置與安裝

a數據庫的創建與授權

create databaseglance;

grant all onglance.* to 'glance'@'localhost' identified by 'glance';

grant all onglance.* to 'glance'@'%' identified by 'glance';

 

b創建服務憑證

獲取admin憑證來後去只有管理員能執行的命令的訪問權限

sourceadmin-openstack

創建服務證書

創建 glance 用戶:

openstack usercreate --domain default --password-prompt glance

添加 admin 角色到glance 用戶和 service 項目上。

openstack role add--project service --user glance admin

 

創建``glance``服務實體

openstack servicecreate --name glance --description "OpenStack Image" image

 

創建鏡像服務的 API 端點

openstack endpointcreate --region RegionOne image public http://192.168.56.11:9292

openstack endpointcreate --region RegionOne image internal http://192.168.56.11:9292

openstack endpointcreate --region RegionOne image admin http://192.168.56.11:9292

 

2.4.3.glance的配置與安裝

a.軟件包的安裝

yum install -yopenstack-glance

 

b編輯文件 /etc/glance/glance-api.con

[database]#配置數據庫訪問

connection =mysql+pymysql://glance:[email protected]/glance

[glance_store]#配置本地文件系統存儲和鏡像文件位置

stores = file,http

default_store =file

filesystem_store_datadir= /var/lib/glance/images

[keystone_authtoken]#配置認證服務訪問

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = glance

password = glance

[paste_deploy]

flavor = keystone

 

c編輯文件 ``/etc/glance/glance-registry.conf``

[database]#配置數據庫訪問

connection =mysql+pymysql://glance:[email protected]/glance

[keystone_authtoken]#配置認證服務訪問

auth_uri =http://192.168.56.11:5000

auth_url =http://192.168.56.11:35357

memcached_servers =192.168.56.11:11211

auth_type =password

project_domain_name= default

user_domain_name =default

project_name =service

username = glance

password = glance

[paste_deploy]

flavor = keystone

 

d寫入鏡像服務數據庫

su -s /bin/sh -c"glance-manage db_sync" glance

檢驗

mysql -uglance-pglance -h localhost -e "use glance;show tables;"

 

e啓動鏡像服務並將其配置爲隨機啓動

systemctl enableopenstack-glance-api.service \

openstack-glance-registry.service

systemctl startopenstack-glance-api.service \

openstack-glance-registry.service

 

 

2.4.4驗證操作

獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

sourceadmin-openstack

下載源鏡像:

wgethttp://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

使用 QCOW2 磁盤格式, bare 容器格式上傳鏡像到鏡像服務並設置公共可見,這樣所有的項目都可以訪問它:

openstack imagecreate "cirros" \

--filecirros-0.3.4-x86_64-disk.img \

--disk-format qcow2--container-format bare \

--public

確認鏡像的上傳並驗證屬性:

openstack imagelist

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

| ID | Name |Status |

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

|9fe07794-9fb9-4e34-aa23-0fdfe4804bad | cirros | active |

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章