설치와 설정

설치와 설정

이 섹션에서는 컨트롤러 노드에 glance라는 코드 이름을 가진 이미지 서비스를 설치하고 구성하는 방법을 설명합니다. 간략화하여 해당 구성에서는 이미지를 로컬 파일 시스템에 저장합니다.

선행조건

이미지 서비스를 설치 및 구성하기 전에, 데이터베이스, 서비스 credential, 엔드포인트를 생성해야 합니다.

  1. 데이터베이스를 생성하기 위하여, 다음 과정을 완료해야 합니다:

    • 데이터베이스 액세스 클라이언트를 사용하여 데이터베이스 서버에 root 사용자로 연결합니다:

      $ mysql -u root -p
      
    • glance 데이터베이스를 생성합니다:

      mysql> CREATE DATABASE glance;
      
    • glance 데이터베이스에 대해 적합한 액세스를 부여합니다:

      mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
        IDENTIFIED BY 'GLANCE_DBPASS';
      mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
        IDENTIFIED BY 'GLANCE_DBPASS';
      

      GLANCE_DBPASS 를 적절한 암호로 변경합니다.

    • 데이터베이스 접속 클라이언트를 종료합니다.

  2. admin credential을 소스로 사용하여 관리자 전용 CLI 명령어에 대한 액세스를 갖습니다:

    $ . admin-openrc
    
  3. 서비스 credential을 생성하기 위해, 다음 스텝들을 완료합니다:

    • glance 사용자를 생성합니다:

      $ openstack user create --domain default --password-prompt glance
      
      User Password:
      Repeat User Password:
      +---------------------+----------------------------------+
      | Field               | Value                            |
      +---------------------+----------------------------------+
      | domain_id           | default                          |
      | enabled             | True                             |
      | id                  | 3f4e777c4062483ab8d9edd7dff829df |
      | name                | glance                           |
      | password_expires_at | None                             |
      +---------------------+----------------------------------+
      
    • admin 역할을 glance 사용자와 service 프로젝트에 추가합니다:

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

      주석

      이 명령어는 출력이 없습니다.

    • glance 서비스 엔티티를 생성합니다:

      $ openstack service create --name glance \
        --description "OpenStack Image" image
      
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Image                  |
      | enabled     | True                             |
      | id          | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
      | name        | glance                           |
      | type        | image                            |
      +-------------+----------------------------------+
      
  4. 이미지 서비스 API 엔드포인트를 생성합니다:

    $ openstack endpoint create --region RegionOne \
      image public http://controller:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 340be3625e9b4239a6415d034e98aace |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      image internal http://controller:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      image admin http://controller:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 0c37ed58103f4300a84ff125a539032d |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    

구성요소 설치 및 구성

주석

디폴트 구성 파일을 배포판에 따라 달라집니다. 기존 섹션 및 옵션을 변경하는 것 보다는 해당 섹션과 옵션을 추가해야 할 수도 있습니다. 또한 구성 내용 조각 중 생략 (...) 부분은 유지될 필요성이 있는 디폴트 구성 옵션을 가리킵니다.

  1. 패키지를 설치하십시오:

    # apt install glance
    
  1. /etc/glance/glance-api.conf 파일을 편집하여 다음 작업을 완료합니다:

    • [database] 섹션에서, 데이터베이스 액세스를 구성합니다:

      [database]
      ...
      connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
      

      GLANCE_DBPASS 를 이미지 서비스 데이터베이스를 위해 선택한 암호로 변경합니다.

    • [keystone_authtoken][paste_deploy] 섹션에 Identity 서비스 액세스를 구성합니다:

      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      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_PASS 를 Identity 서비스에서 glance 사용자에 대해 선택한 암호로 변경합니다.

      주석

      [keystone_authtoken] 섹션 내 다른 옵션들을 주석 처리 또는 제거합니다.

    • [glance_store] 섹션에 로컬 파일 시스템 저장소와 이미지 파일 위치를 구성합니다:

      [glance_store]
      ...
      stores = file,http
      default_store = file
      filesystem_store_datadir = /var/lib/glance/images/
      
  2. /etc/glance/glance-registry.conf 파일을 편집하여 다음 작업을 완료합니다:

    • [database] 섹션에서, 데이터베이스 액세스를 구성합니다:

      [database]
      ...
      connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
      

      GLANCE_DBPASS 를 이미지 서비스 데이터베이스를 위해 선택한 암호로 변경합니다.

    • [keystone_authtoken][paste_deploy] 섹션에 Identity 서비스 액세스를 구성합니다:

      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      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_PASS 를 Identity 서비스에서 glance 사용자에 대해 선택한 암호로 변경합니다.

      주석

      [keystone_authtoken] 섹션 내 다른 옵션들을 주석 처리 또는 제거합니다.

  1. 이미지 서비스 데이터베이스를 넣어줍니다:

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

    주석

    출력물 중 deprecation 메시지는 무시합니다.

설치 마무리

  1. 이미지 서비스 재시작

    # service glance-registry restart
    # service glance-api restart
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.