CentOS7安裝OpenStack-03.安裝Glance鏡像服務組件


3.0.glance概述

1)glance作用和特性

  • 用戶使用鏡像服務 (glance) 允許來創建,查詢虛擬機鏡像。它提供了一個 REST API,允許查詢虛擬機鏡像的 metadata 並獲取一個現存的鏡像
  • 可以將虛擬機鏡像存儲到各種位置,如簡單的文件系統或者是對象存儲系統,例如 OpenStack 對象存儲, 並通過鏡像服務使用
  • 上傳指定的文件作為后端配置鏡像服務,默認目錄是 /var/lib/glance/images/

2)glance鏡像服務的組件

glance-api:

  • 用於接收鏡像REST API的調用,諸如鏡像查找,獲取,上傳,刪除

glance-registry:

  • 用於與mysql數據庫交互,監聽端口為9191,
  • 提供鏡像元數據相關的REST接口,用於存儲、處理和恢復鏡像的元數據(metadata),元數據包括項諸如大小和類型。
  • 通過glance-registry可以向數據庫中寫入或獲取鏡像的各種數據
  • 其中有兩張表,image表保存了鏡像格式大小等信息,image property表保存進行的定制化信息
  • 注意:glance-registry是私有內部服務,用於服務OpenStack Image服務。不能向用戶暴露

image:鏡像文件的存儲倉庫

  • 支持多種類型的倉庫,它們有普通文件系統、對象存儲、RADOS塊設備、HTTP、以及亞馬遜S3。另外,其中一些倉庫僅支持只讀方式使用。

image store:

  • 是一個存儲的接口層,通過這個接口glance可以獲取鏡像,支持的存儲有亞馬遜的S3,openstack本身的swift,還有ceph,sheepdog,GlusterFS等分布式存儲
  • image store是鏡像保存與獲取的接口,僅僅是一個接口層,具體的實現需要外部的存儲支持

數據庫:

  • 存放鏡像元數據,用戶是可以依據個人喜好選擇數據庫的,多數的部署使用MySQL或SQLite。

元數據定義服務:

  • 通用的API,是用於為廠商,管理員,服務,以及用戶自定義元數據。
  • 這種元數據可用於不同的資源,例如鏡像,工件,卷,配額以及集合。
  • 一個定義包括了新屬性的鍵,描述,約束以及可以與之關聯的資源的類型。

3.1.在控制端安裝鏡像服務glance

1)創建glance數據庫

# 用數據庫連接客戶端以 root 用戶連接到數據庫服務器
mysql -u root -p
# 創建 glance 數據庫
CREATE DATABASE glance;
# 對``glance``數據庫授予恰當的權限
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';

3.2.在keystone上面注冊glance

1)在keystone上創建glance用戶

# 以下命令在local_user表創建glance用戶

mkdir /server/tools && cd /server/tools
source keystone-admin-pass.sh
openstack user create --domain default --password=glance glance
openstack user list

2)在keystone上將glance用戶添加為service項目的admin角色(權限)

# 以下命令無輸出

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

3)創建glance鏡像服務的實體

# 以下命令在service表中增加glance項目

openstack service create --name glance --description "OpenStack Image" image
openstack service list

4)創建鏡像服務的 API 端點(endpoint)

openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292
openstack endpoint list

# 至此,glance在keystone上面注冊完成,可以進行安裝

3.3.安裝glance相關軟件 

1)安裝glance軟件

yum install openstack-glance python-glance python-glanceclient -y

3)執行以下命令可以快速配置glance-api.conf

openstack-config --set  /etc/glance/glance-api.conf database connection  mysql+pymysql://glance:glance@controller/glance
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://controller:5000
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken auth_url http://controller:5000
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken memcached_servers  controller:11211
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken auth_type password
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken project_name service 
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken username glance
openstack-config --set  /etc/glance/glance-api.conf keystone_authtoken password glance
openstack-config --set  /etc/glance/glance-api.conf paste_deploy flavor keystone
openstack-config --set  /etc/glance/glance-api.conf glance_store stores  file,http
openstack-config --set  /etc/glance/glance-api.conf glance_store default_store file
openstack-config --set  /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/

4)執行以下命令可以快速配置glance-registry.conf

openstack-config --set  /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:glance@controller/glance
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://controller:5000
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken auth_url http://controller:5000
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken memcached_servers controller:11211
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken auth_type password
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken project_name service
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken username glance
openstack-config --set  /etc/glance/glance-registry.conf keystone_authtoken password glance
openstack-config --set  /etc/glance/glance-registry.conf paste_deploy flavor keystone

# 查看生效的配置

grep '^[a-z]' /etc/glance/glance-api.conf 
grep '^[a-z]' /etc/glance/glance-registry.conf

# 至此,glance服務安裝完畢,該服務需要啟動

4.4.同步glance數據庫

1)為glance鏡像服務初始化同步數據庫

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

# 查看表
mysql glance -e 'show tables'

3.5.啟動glance鏡像服務

1)啟動glance鏡像服務、並配置開機自啟動

systemctl start  openstack-glance-api.service openstack-glance-registry.service
systemctl status openstack-glance-api.service openstack-glance-registry.service
systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl list-unit-files |grep openstack-glance*

3.6.檢查確認glance安裝正確 

1)下載鏡像

cd /server/tools
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

2)獲取管理員權限

source keystone-admin-pass.sh

3)上傳鏡像到glance

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

openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public

4)查看鏡像

openstack image list

~~~至此glance鏡像服務安裝完成,啟動成功~~~

 


免責聲明!

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



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