클라우드/OpenStack
OpenStack Manual Installation - Glance
쓱은감자
2022. 8. 17. 18:48
Glance Installation
Image Service 개요
- 사용자는 Image Service(Glance)를 통해 가상 머신 이미지를 검색 및 등록할 수 있습니다.
- 가상 머신 이미지 메타 데이터를 쿼리하고 실제 이미지를 검색할 수 있는 REST API를 제공합니다.
- 가상 머신 이미지는 간단한 파일 시스템부터 객체 스토리지 시스템에 이르기 까지 다양한 위치에 저장할 수 있습니다.
- 오픈스택 이미지 서비스는 캐싱을 지우너하기 위해 여러 periodic processes를 실행합니다.
구성 요소
- glance-api
- 이미지 검색 및 저장을 위한 Image API를 호출
- glance-registry
- 이미지에 대한 메타 데이터를 저장, 처리 및 검색
- 메타 데이터에는 크기 및 유형과 같은 항목이 포함
- database
- 이미지 메타 데이터를 저장합니다.
- 기본 설정에 따라 데이터베이스를 선택할 수 있습니다.
- Storage repository for image files
- 일반 파일 시스템, Object Storage, RADOS 블록 장치, VMware 데이터 저장소 및 HTTP를 포함한 다양한 저장소 유형 지원
- 일부 저장소는 읽기 전용
- Metadata definition service
- 공급 업체, 관리자, 서비스 및 사용자가 고유한 사용자 지정 메타 데이터를 의미있게 정의하기 위한 공통 API
- 메타 데이터는 이미지, 아티팩트, 볼륨, 플레이버 및 집계와 같은 다양한 유형의 리소스에서 사용
설치 및 구성
- 단순화를 위해 로컬 파일 시스템에 이미지를 저장합니다.
- Controller Node에서 진행합니다.
전제 조건
- 데이터베이스 작성
- 데이터 베이스 액세스 클라이언트를 사용하여 root 사용자로 데이터베이스 서버에 연결
mysql -u root -p
- glance 데이터베이스 생성
MariaDB [(none)]> CREATE DATABASE glance;
- glance 데이터베이스에 접근 권한 부여
- 데이터 베이스 액세스 클라이언트를 사용하여 root 사용자로 데이터베이스 서버에 연결
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'GLACE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'GLANCE_DBPASS';
- 설정 종료
- admin 자격 증명 관리자 액세스
. admin-openrc
- Service credentials 생성
- glance 사용자 생성
openstack user create --domain default --password-prompt glance
- glance 서비스에 admin role 추가
openstack role add --project service --user glance admin
- glance service entity 생성
openstack service create --name glance --description "OpenStack Image" image
- glance 사용자 생성
- 이미지 서비스 API 엔드 포인트 생성
root@controller$ openstack endpoint create --region RegionOne image public http://controller:9292
root@controller$ openstack endpoint create --region RegionOne image internal http://controller:9292
root@controller$ openstack endpoint create --region RegionOne image admin http://controller:9292
구성 요소 설치 및 구성
- 패키지 설치
yum install openstack-glance
/etc/glance/glance-api.conf
수정- [database] 섹션에서 데이터베이스 액세스 구성
[database]
...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
와[paste_deploy]
섹션 구성
[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] 섹션에 이미지 파일의 로컬 파일 시스템 저장소 위치 구성
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
- 이미지 서비스 데이터베이스 채움
su -s /bin/sh -c "glance-manage db_sync" glance
설치 완료
- 이미지 서비스를 시작하고 시스템이 부팅될 때 시작되도록 구성합니다.
root@controller$ systemctl enable openstack-glance-api.service
root@controller$ systemctl start openstack-glance-api.service
작동 확인
- Linux 이미지인 CirrOS를 사용하여 이미지 서비스의 작동을 확인합니다.
- admin 자격 증명 관리자
. admin-openrc
- 소스 이미지 다운로드
root@controller$ yum install wget
root@controller$ wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
- 모든 프로젝트에서 접근할 수 있도록 QCOW2 디스크 형식, 베어 컨테이너 형식 및 공개 가시성을 사용하여 이미지 서비스에 이미지를 업로드
glance image-create --name "cirros" --file cirros-0.4.0-x86-64-disk.img --disk-format qcow2 --container-format bare --visibility public
- 업로드 이미지 확인
glance image-list