IT

[openstack] 3.3 이미지 서비스 설치(glance) - centos7 오픈스택 설치 및 구축 프로젝트 (rocky 버전) 본문

프로젝트/openstack

[openstack] 3.3 이미지 서비스 설치(glance) - centos7 오픈스택 설치 및 구축 프로젝트 (rocky 버전)

abcee 2019. 3. 28. 21:35

3. 구성 과정

3.3 이미지 서비스 설치

3.3.1 Controller Node

○ 전제조건

• DB 설정

- root계정으로 DB 연결

$ mysql -u root -p

- glance DB생성

MariaDB [(none)]> CREATE DATABASE glance;

- glance DB 액세스 권한 부여

/*
glance 데이터베이스의 모든 스키마에 대해 glance 계정의 로컬접근 권한 허용
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'glance 계정 비밀번호';
*/

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'It1';

/*
glance 데이터베이스의 모든 스키마에 대해 glance 계정의 외부접근 권한 허용
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@% \
IDENTIFIED BY 'glance 계정 비밀번호';
*/

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'It1';

• admin 권한으로 CLI 명령을 쓰기 위해 admin 인증

$ . admin-openrc

• 서비스 자격 증명 생성

- glance user 계정 생성

$ openstack user create --domain default --password-prompt glance

계정 생성

- glance 유저가 service 프로젝트에 대한 admin 권한을 부여 받도록 역할 할당

$ openstack role add --project service --user glance admin

- glance 라는 이름의 image 타입 service를 서비스 카탈로그에 등록

$ openstack service create --name glance \
--description "OpenStack Image" image

서비스 카탈로그 등록

 image service api endpoint 생성

- 외부 통신이 가능한 네트워크 인터페이스를 통해 image 서비스를 사용할 수 있도록 public endpoint를 서비스 카탈로그에 추가

$ openstack endpoint create --region RegionOne \
image public http://controller:9292

- 내부 네트워크 인터페이스를 통해 image 서비스를 사용할 수 있도록 internal endpoint를 서비스 카탈로그에 추가

$ openstack endpoint create --region RegionOne \
image internal http://controller:9292

- 관리용 네트워크 인터페이스를 통해 image 서비스를 사용할 수 있도록 admin endpoint를 서비스 카탈로그에 추가

$ openstack endpoint create --region RegionOne \
image admin http://controller:9292

○ 설치

• openstack-glance 패키지 설치

# yum install -y openstack-glance

• glance-api.conf 설정

# vi /etc/glance/glance-api.conf

• glance-api.conf

[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]
# 파일 시스템 저장소, 이미지 파일 위치 구성
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

• glance-registry.conf 설정

# vi /etc/glance/glance-registry.conf

• glance-registry.conf

[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-manage db_sync [DB이름] 명령을 통해 image service 데이터베이스 초기 구성

# su -s /bin/sh -c "glance-manage db_sync" glance

DB 동기화
DB 동기화 성공

○ 마무리

• openstack-glance-api 서비스가 부팅 시 시작되도록 등록하고 서비스를 시작한다.

# systemctl enable openstack-glance-api.service \
openstack-glance-registry.service

# systemctl start openstack-glance-api.service \
openstack-glance-registry.service

3.3.2 테스트 이미지 등록

• 관리자 인증

$ . admin-openrc

• 이미지 파일 다운로드

$ wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

• 이미지 등록

$ openstack image create "cirros" \
--file cirros-0.4.0-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public

• 등록된 이미지 리스트 확인

$ openstack image list

이미지 리스트 확인

Comments