

OpenStack에서 이미지 서비스를 관리하는 구성 요소이다. "이미지"는 가상 머신(VM)이나 인스턴스를 시작할 때 사용되는 디스크 이미지를 의미한다. Glance를 통해 사용자는 다양한 형식의 가상 머신 이미지를 추가, 삭제, 검색, 등록할 수 있고, 이미지의 메타데이터 관리도 가능하다. 이를 통해 사용자는 클라우드 환경에서 필요에 따라 가상 머신을 빠르고 효율적으로 배포 및 관리할 수 있다.
아래는 Glance Component의 Workflow 예시이다.

[Con01에서 진행]
mysql -uroot -p
create database glance;
> glance database 생성
create user glance@localhost identified by '[Password]';
create user glance@localhost identified by 'glance';
> glance가 localhost에서 접근 가능하도록 생성
create user glance@'%' identified by '[Password]';
create user glance@'%' identified by 'glance';
> glance가 모든 host에서 접근 가능하도록 생성
grant all privileges on glance.* to glance@localhost;
> glance@localhost 사용자에게 glance Database에 대한 모든 권한 부여
grant all privileges on glance.* to glance@'%';
> glance@'%' 사용자에게 glance Database에 대한 모든 권한 부여
[Con01에서 진행]
openstack user create --domain default --passowrd-prompt glance
[Con01에서 진행]
openstack service create --name glance --description "Openstack Image" image
[Con01에서 진행]
openstack role add --project service --user glance admin
[Con01에서 진행]
openstack endpoint create --region <RegionName> <Service> <Endpoint Type> <Endpoint>:<Port>
openstack endpoint create --region RegionOne image public http://192.168.0.10:19292
openstack endpoint create --region RegionOne image internal http://192.168.0.10:19292
openstack endpoint create --region RegionOne image admin http://192.168.0.10:19292
[모든 node에서 진행]
apt install glance
vi /etc/glance/glance-api.conf
...
[database]
connection = mysql+pymysql://glance:glance@192.168.0.10:13306/glance
[keystone_authtoken]
www_authenticate_uri = http://192.168.0.10:15000
auth_url = http://192.168.0.10:15000
memcached_servers = 192.168.0.11:11211,192.168.0.12:11211,192.168.0.13:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance
[paste_deploy]
flavor = keystone
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[Con01에서 진행]
/bin/sh -c "glance-manage db_sync" glance
[모든 node에서 진행]
vi /etc/haproxy/haproxy.cfg
...
listen glance
bind 192.168.0.10:19292
balance source
option tcpka
option httpchk
server con01 192.168.0.11:9292 check inter 2000 rise 2 fall 5
server con02 192.168.0.12:9292 check inter 2000 rise 2 fall 5
server con03 192.168.0.13:9292 check inter 2000 rise 2 fall 5
[모든 node에서 진행]
systemctl restart haproxy
systemctl restart glance-api.service
[Con01에서 진행]
* Openstack Test를 위한 경량 OS인 CirrOS 업로드 테스트
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
openstack image create --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
[Con01에서 진행]
openstack image list
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| 422ec206-1a32-4a69-902c-d943e87dd20f | cirros | active |
+--------------------------------------+--------+--------+