구축/Openstack

openstack 구축 3 glance

KidAnt 2023. 12. 28. 14:39

  • glance는 인스턴스의 이미지(인스턴스 데이터 저장 파일)을 관리하는 서비스다
  • 여기서부터 오타가 발생시 인증서 오류로 인하여 정상적인 서비스가 불가능 할 수 있으니 유심하여 입력할 것
  • openstack의 특성상 kvm을 주로 사용하니 qcow2 파일을 자주 이용하게 될 것이니 알아두면 좋다.

DB, 서비스 사용자 등록 및 API 엔드포인트 생성

sudo su root
#루트 권한 접속

#DB 등록
mysql
#mariadb 접속

MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
#DB생성

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

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

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';
#액세스 권한 설정,설정한 NOVA_DBPASS 기입

. admin-openrc
#어드민 권한 접속

#서비스 사용자 등록
openstack user create --domain default --password-prompt nova
#nova 사용자 등록

User Password: #NOVA_PASS
Repeat User Password: #NOVA_PASS
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 8a7dbf5279404537b1c7b86c033620fe |
| name                | nova                             |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
#생성 결과(예시)

openstack role add --project service --user nova admin
#admin 역활 추가

openstack service create --name nova \
--description "OpenStack Compute" compute
#서비스 엔터티 생성

#API 엔드포인트 추가
openstack endpoint create --region RegionOne \
compute public http://controller:8774/v2.1
#public

+--------------+-------------------------------------------+
| Field        | Value                                     |
+--------------+-------------------------------------------+
| enabled      | True                                      |
| id           | 3c1caa473bfe4390a11e7177894bcc7b          |
| interface    | public                                    |
| region       | RegionOne                                 |
| region_id    | RegionOne                                 |
| service_id   | 060d59eac51b4594815603d75a00aba2          |
| service_name | nova                                      |
| service_type | compute                                   |
| url          | http://controller:8774/v2.1               |
+--------------+-------------------------------------------+
#생성 결과(예시)

openstack endpoint create --region RegionOne \
compute internal http://controller:8774/v2.1
#internal

+--------------+-------------------------------------------+
| Field        | Value                                     |
+--------------+-------------------------------------------+
| enabled      | True                                      |
| id           | e3c918de680746a586eac1f2d9bc10ab          |
| interface    | internal                                  |
| region       | RegionOne                                 |
| region_id    | RegionOne                                 |
| service_id   | 060d59eac51b4594815603d75a00aba2          |
| service_name | nova                                      |
| service_type | compute                                   |
| url          | http://controller:8774/v2.1               |
+--------------+-------------------------------------------+
#생성 결과(예시)

openstack endpoint create --region RegionOne \
compute admin http://controller:8774/v2.1
#admin

+--------------+-------------------------------------------+
| Field        | Value                                     |
+--------------+-------------------------------------------+
| enabled      | True                                      |
| id           | 38f7af91666a47cfb97b4dc790b94424          |
| interface    | admin                                     |
| region       | RegionOne                                 |
| region_id    | RegionOne                                 |
| service_id   | 060d59eac51b4594815603d75a00aba2          |
| service_name | nova                                      |
| service_type | compute                                   |
| url          | http://controller:8774/v2.1               |
+--------------+-------------------------------------------+
#생성 결과(예시)

구성 요소 설치 및 설정

apt-get update
#최신화

apt install glance
#설치

vi /etc/glance/glance-api.conf

[database]
....(생략)
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
#설정한 GLANCE_DBPASS 입력

[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
#설정한 GLANCE_DBPASS 입력

[paste_deploy]
....(생략)
flavor = keystone

[glance_store]


stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
#filesystem_store_datadir = 이미지(인스턴스 데이터 저장 파일)를 저장할 위치

su -s /bin/sh -c "glance-manage db_sync" glance
#DB에 설정 등록

service glance-api restart
#서비스 재시작

설치 확인

. admin-openrc
#어드민 권한 접속

wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
#centOS 7 이미지 받기

glance image-create --name "cirros" \
--file cirros-0.4.0-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--visibility=public
#public 형태로 이미지 등록

+------------------+------------------------------------------------------+
| Field            | Value                                                |
+------------------+------------------------------------------------------+
| checksum         | 133eae9fb1c98f45894a4e60d8736619                     |
| container_format | bare                                                 |
| created_at       | 2015-03-26T16:52:10Z                                 |
| disk_format      | qcow2                                                |
| file             | /v2/images/cc5c6982-4910-471e-b864-1098015901b5/file |
| id               | cc5c6982-4910-471e-b864-1098015901b5                 |
| min_disk         | 0                                                    |
| min_ram          | 0                                                    |
| name             | cirros                                               |
| owner            | ae7a98326b9c455588edd2656d723b9d                     |
| protected        | False                                                |
| schema           | /v2/schemas/image                                    |
| size             | 13200896                                             |
| status           | active                                               |
| tags             |                                                      |
| updated_at       | 2015-03-26T16:52:10Z                                 |
| virtual_size     | None                                                 |
| visibility       | public                                               |
+------------------+------------------------------------------------------+
#생성 결과(예시)

 glance image-list
 #이미지 업로드 확인
 
 +--------------------------------------+--------+--------+
| ID                                   | Name   | Status |
+--------------------------------------+--------+--------+
| 38047887-61a7-41ea-9b49-27987d5e8bb9 | cirros | active |
+--------------------------------------+--------+--------+
#생성 결과(예시)

'구축 > Openstack' 카테고리의 다른 글

openstack 구축 5 nova  (2) 2024.01.03
openstack 구축 4 placement  (0) 2023.12.28
openstack 구축 2 keystone  (1) 2023.12.27
openstack 구축 1 사전 환경 구축  (1) 2023.12.26
openstack 구축 0 들어가기 앞서  (1) 2023.12.26