클라우드/OpenStack

OpenStack Manual Installation - Glance

쓱은감자 2022. 8. 17. 18:48

Glance Installation

참고 : https://it00.tistory.com/17?category=808035

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 데이터베이스에 접근 권한 부여
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

  • 이미지 서비스 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