Glance accetta richieste API per immagini disco o server e metadati di immagini da utenti finali o OpenStack Compute. Supporta anche l'archiviazione di immagini del disco o del server su vari tipi di repository, incluso OpenStack Object Storage.
Questo post ti guida a configurare il servizio immagine OpenStack (Glance) sul nodo controller. Configureremo uno sguardo per archiviare le immagini localmente sul nodo del controller. Prima di procedere assicurati di aver configurato il servizio KeyStone.
Se non hai ancora configurato KeyStone, puoi leggere i due post seguenti.
OpenStack Kilo su Ubuntu 14.04.2- Configura KeyStone #1
OpenStack Kilo su Ubuntu 14.04.2- Configura KeyStone #2
Crea uno script dell'ambiente client per l'amministratore e l'utente demo, questi script ci aiuteranno a caricare le credenziali appropriate per le operazioni del client.
Crea admin-openrc.sh file.
# nano admin-openrc.sh
Incolla il seguente contenuto nel file.
export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_NAME=admin export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=PASS_ADMIN export OS_AUTH_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3
Sostituisci PASS_ADMIN con la password che hai creato per l'utente amministratore in KeyStone #2
Crea il demo-openrc.sh file.
# nano demo-openrc.sh
Incolla il contenuto seguente nel file.
export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_NAME=demo export OS_TENANT_NAME=demo export OS_USERNAME=demo export OS_PASSWORD=PASS_DEMO export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3
Sostituisci PASS_DEMO con la password che hai creato per l'utente demo in KeyStone #2.
Crea database Sguardo:
Accedi come root al server di database MySQL.
# mysql -u root -p
Crea il database per uno sguardo.
CREATE DATABASE glance;
Imposta l'accesso corretto al database di colpo d'occhio.
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'password';
Sostituisci password con password adeguata.
Esci dal prompt di MySQL.
Crea credenziali del servizio ed endpoint API:
Carica le credenziali di amministratore.
# source admin-openrc.sh
Crea l'utente sguardo.
# openstack user create --domain default --password-prompt glance User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | default | | enabled | True | | id | ca01105cf73945ce9e93dae68158a86e | | name | glance | +-----------+----------------------------------+
Aggiungi il ruolo di amministratore all'utente e al progetto di servizio di colpo d'occhio.
# openstack role add --project service --user glance admin
Crea l'entità del servizio di colpo d'occhio.
# openstack service create --name glance --description "OpenStack Image service" image +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Image service | | enabled | True | | id | 728c9fe5ae474c6dbd943aa8f1727a49 | | name | glance | | type | image | +-------------+----------------------------------+
Crea l'endpoint API per uno sguardo.
# openstack endpoint create --region RegionOne image public http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 5125e46d88f047f7944c86224576b3a3 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 728c9fe5ae474c6dbd943aa8f1727a49 | | 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 | 7ade8b978fc2498eabf6d5ca62f1cdb7 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 728c9fe5ae474c6dbd943aa8f1727a49 | | 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 | d9933de493c44e8c9d3b2a515b400cb3 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 728c9fe5ae474c6dbd943aa8f1727a49 | | service_name | glance | | service_type | image | | url | http://controller:9292 | +--------------+----------------------------------+
Installa e configura Glance:
Installa i pacchetti.
# apt-get install glance python-glanceclient
Modifica /etc/glance/glance-api.conf , modifica le impostazioni seguenti e assicurati di inserire le voci nelle sezioni appropriate.
[DEFAULT] ... notification_driver = noop verbose = True [database] ... ## Comment out below sqlite_db #sqlite_db = /var/lib/glance/glance.sqlite connection = mysql+pymysql://glance:password@controller/glance ## Replace with the password you chose for glance database [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = glance password = password ## Replace this with the password you chose for glance user in the identity service. [paste_deploy] ... flavor = keystone [glance_store] ... default_store = file filesystem_store_datadir = /var/lib/glance/images/
Modifica il /etc/glance/glance-registry.conf file, modifica le impostazioni seguenti e assicurati di inserire una voce nelle sezioni appropriate.
[DEFAULT] ... notification_driver = noop verbose = True [database] ... ## Comment out below sqlite_db #sqlite_db = /var/lib/glance/glance.sqlite connection = mysql+pymysql://glance:password@controller/glance ## Replace with the password you chose for glance database [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = glance password = password ## Replace this with the password you chose for glance user in the identity service [paste_deploy] ... flavor = keystone
Popolare il database di colpo d'occhio.
# su -s /bin/sh -c "glance-manage db_sync" glance
Riavvia i servizi.
# service glance-registry restart # service glance-api restart
Elimina il file del database SQLite.
# rm -f /var/lib/glance/glance.sqlite
Verifica operazione:
In questo, verificheremo il servizio di immagine caricando l'immagine cloud di Fedora 22 nel nostro ambiente OpenStack.
Nello script dell'ambiente client, configureremo il client del servizio di immagine per l'utilizzo dell'API versione 2.0:
# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
Carica le credenziali di amministratore.
# source admin-openrc.sh
Scarica l'immagine cloud di Ubuntu nella directory /tmp.
# cd /tmp # wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
Carica l'immagine.
# glance image-create --name "Ubuntu_Trusty_Cloud_x86_64" --file /tmp/trusty-server-cloudimg-amd64-disk1.img --disk-format qcow2 --container-format bare --visibility public --progress
Otterrai un output di seguito.
[=============================>] 100% +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | fefdbde09433b879198e58ef69471fab | | container_format | bare | | created_at | 2015-11-02T16:27:39Z | | disk_format | qcow2 | | id | 489ece19-2ab3-4105-9a3a-befa974dff38 | | min_disk | 0 | | min_ram | 0 | | name | Ubuntu_Trusty_Cloud_x86_64 | | owner | fe858f6a43f84c26b994f0be74c928e6 | | protected | False | | size | 258540032 | | status | active | | tags | [] | | updated_at | 2015-11-02T16:27:47Z | | virtual_size | None | | visibility | public | +------------------+--------------------------------------+
Elenca le immagini caricate.
# glance image-list +--------------------------------------+----------------------------+ | ID | Name | +--------------------------------------+----------------------------+ | 489ece19-2ab3-4105-9a3a-befa974dff38 | Ubuntu_Trusty_Cloud_x86_64 | +--------------------------------------+----------------------------+
Questo è tutto!!!, hai configurato Glance con successo.