컨트롤러 노드에 glance-api 를 설치하고 파일 백엔드로 구성한다. 데이터베이스 설정과 자격 증명 생성을 먼저 끝낸다. GLANCE_DBPASS · GLANCE_PASS 는 미리 정한 값으로 바꾼다.
Ubuntu 24.04
apt install glance
CentOS Stream 9 · RHEL 9
dnf install openstack-glance
/etc/glance/glance-api.conf 의 다음 절에 값을 넣는다.
[DEFAULT]
enabled_backends = fs:file
[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]
default_backend = fs
[fs]
filesystem_store_datadir = /var/lib/glance/images/
[keystone_authtoken] 절의 다른 항목은 주석 처리하거나 지운다.
Keystone 의 unified limit 으로 프로젝트별 이미지 용량 · 개수를 제한할 수 있다. 쓰지 않으면 이 절은 건너뛴다.
등록 한도 생성
openstack --os-cloud devstack-system-admin registered limit create --service glance --default-limit 1000 --region RegionOne image_size_total
openstack --os-cloud devstack-system-admin registered limit create --service glance --default-limit 1000 --region RegionOne image_stage_total
openstack --os-cloud devstack-system-admin registered limit create --service glance --default-limit 100 --region RegionOne image_count_total
openstack --os-cloud devstack-system-admin registered limit create --service glance --default-limit 100 --region RegionOne image_count_uploading
glance 사용자에게 시스템 범위 reader 역할을 주고, public 엔드포인트 ID 를 확인한다.
openstack role add --user glance --user-domain Default --system all reader
openstack endpoint list --service glance --region RegionOne
/etc/glance/glance-api.conf 에 추가한다. ENDPOINT_ID 는 위에서 확인한 public 엔드포인트 ID 다.
[DEFAULT]
use_keystone_limits = True
[oslo_limit]
auth_url = http://controller:5000
auth_type = password
user_domain_id = default
username = glance
system_scope = all
password = GLANCE_PASS
endpoint_id = ENDPOINT_ID
region_name = RegionOne
su -s /bin/sh -c "glance-manage db_sync" glance
사용 중단(deprecation) 메시지는 무시한다.
Ubuntu 24.04
systemctl restart glance-api
CentOS Stream 9 · RHEL 9
systemctl enable openstack-glance-api.service
systemctl start openstack-glance-api.service
RHEL 계열에서 firewalld 를 쓰면 9292/tcp 를 연다.
firewall-cmd --permanent --add-port=9292/tcp
firewall-cmd --reload
CirrOS 이미지를 받아 등록한다.
. admin-openrc
wget http://download.cirros-cloud.net/0.6.3/cirros-0.6.3-x86_64-disk.img
openstack image create "cirros" --file cirros-0.6.3-x86_64-disk.img --disk-format qcow2 --container-format bare --public
openstack image list
cirros 가 active 상태로 보이면 된다. 공식 verify 페이지는 glance image-create 명령으로 같은 작업을 한다.
CentOS Stream 8 · Victoria 에서는 단일 백엔드 설정을 썼다. 현행 릴리스에서는 enabled_backends 방식으로 바뀌었다.
[DEFAULT]
user_storage_quota = 4398046511104
image_size_cap = 1099511627776
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
filesystem_store_file_perm = 0644
user_storage_quota · image_size_cap 은 사용자별 총 용량과 이미지 하나의 최대 크기(바이트)다.