一鹅心、安裝Glance前的準(zhǔn)備
1. 為Glance創(chuàng)建數(shù)據(jù)庫(kù)
- 使用數(shù)據(jù)庫(kù)客戶(hù)端,以root用戶(hù)身份連接到數(shù)據(jù)庫(kù)中:
mysql -u root -p
- 創(chuàng)建Glance數(shù)據(jù)庫(kù):
CREATE DATABASE glance;
- 為Glance用戶(hù)授予數(shù)據(jù)庫(kù)權(quán)限:
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
2. 創(chuàng)建Glance的身份認(rèn)證證書(shū)
- 加載admin用戶(hù)的客戶(hù)端腳本:
source admin-openrc.sh
- 創(chuàng)建glance用戶(hù):
openstack user create --password-prompt glance
- 將admin角色添加給glance用戶(hù)和service項(xiàng)目:
openstack role add --project service --user glance admin
- 創(chuàng)建glance的服務(wù)實(shí)體:
openstack service create --name glance --description "OpenStack Image service" image
- 創(chuàng)建鏡像服務(wù)的API endpoint:
openstack endpoint creat --publicurl http://controller:9292 --internalurl http://controller:9292 --adminurl http://controller:9292 --region RegionOne image
二、安裝和配置Glance
1. 安裝Glance
在Controller節(jié)點(diǎn)上進(jìn)行安裝
- 安裝Glance:
apt-get install -y glance python-glanceclient
2. 配置Glance-api
編輯文件/etc/glance/glance-api.conf
小助手:刪除#和空格的命令:cat file | grep -v '^#' | grep -v '^$' > newfile
connection = mysql://glance:GLANCE_DBPASS@controller/glance
修改[database]部分截型,配置數(shù)據(jù)庫(kù)的連接:
connection = mysql://glance:GLANCE_DBPASS@controller/glance
-
修改[keystone_authtoken]和[paste_deploy]兩部分, 配置身份認(rèn)證服務(wù)訪問(wèn):
auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = glance password = GLANCE_PASS
flavor = keystone
-
修改[keystone_store]部分,配置鏡像存儲(chǔ)采用文件的形式畦攘,并且指定存儲(chǔ)的路徑:
default_store = file filesystem_store_datadir = /var/lib/glance/images/
-
在[DEFAULT]部分届吁,配置noop禁用通知驅(qū)動(dòng)集绰,因?yàn)檫@是為telemetry測(cè)量服務(wù)保留的:
notification_driver = noop
-
在[DEFAULT]部分啟用日志詳細(xì)信息記錄:
verbose = True
3. 配置Glance-registry
編輯文件/etc/glance/glance-registry.conf
- 修改[database]部分规辱,配置數(shù)據(jù)庫(kù)的連接:
connection = mysql://glance:GLANCE_DBPASS@controller/glance
- 修改[keystone_authtoken]和[paste_deploy]兩部分, 配置身份認(rèn)證服務(wù)訪問(wèn):
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = GLANCE_PASS
- 在[DEFAULT]部分谆棺,配置noop禁用通知驅(qū)動(dòng)栽燕,因?yàn)檫@是為telemetry測(cè)量服務(wù)保留的:
notification_driver = noop
- 在[DEFAULT]部分啟用日志詳細(xì)信息記錄:
verbose = True
4. 配置Glance數(shù)據(jù)庫(kù)
- 為鏡像服務(wù)數(shù)據(jù)庫(kù)添加數(shù)據(jù):
su -s /bin/sh -c "glance-manage db_sync" glance
- 重啟鏡像服務(wù)Glance:
service glance-registry restart
service glance-api restart
- 刪除ubuntu默認(rèn)創(chuàng)建的SQLite數(shù)據(jù)庫(kù):
rm -f /var/lib/glance/glance.sqlite
三、校驗(yàn)Glance安裝
使用CirrOS鏡像做測(cè)試改淑,因?yàn)镃irrOS非常小碍岔,所以常被用來(lái)做測(cè)試
- 編輯admin和demo的腳本文件,添加新的操作系統(tǒng)環(huán)境變量:
echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
- 加載admin客戶(hù)端腳本:
source admin-openrc.sh
- 創(chuàng)建臨時(shí)目錄:
mkdir /tmp/images
- 下載測(cè)試鏡像到該目錄:
wget -P /tmp/images http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
- 使用QCOW2的磁盤(pán)格式和bare的容器格式將鏡像上傳到glance鏡像服務(wù)中朵夏,并且設(shè)置為對(duì)所有的項(xiàng)目可見(jiàn):
glance image-create --name "cirros-0.3.4-x86_64" --file /tmp/images/cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public --progress
- 驗(yàn)證鏡像是否上傳成功以及查看屬性:
glance image-list
- 可選:刪除測(cè)試鏡像目錄:
rm -r /tmp/images