Glance acepta solicitudes de API para imágenes de disco o servidor y metadatos de imágenes de usuarios finales o OpenStack Compute. También admite el almacenamiento de imágenes de disco o servidor en varios tipos de repositorios, incluido el almacenamiento de objetos OpenStack.
Esta publicación lo guía para configurar el servicio de imágenes OpenStack (Glance) en el nodo del controlador. Configuraremos un vistazo para almacenar imágenes localmente en el nodo del controlador. Antes de continuar, asegúrese de haber configurado el servicio KeyStone.
Si aún no ha configurado KeyStone, puede revisar las dos publicaciones a continuación.
OpenStack Kilo en Ubuntu 14.04.2- Configurar KeyStone #1
OpenStack Kilo en Ubuntu 14.04.2- Configurar KeyStone #2
Cree un script de entorno de cliente para el administrador y el usuario de demostración, estos scripts nos ayudarán a cargar las credenciales adecuadas para las operaciones del cliente.
Cree el admin-openrc.sh archivo.
# nano admin-openrc.sh
Pegue el siguiente contenido en el archivo.
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
Reemplazar PASS_ADMIN con la contraseña que creó para el usuario administrador en KeyStone #2
Cree el demo-openrc.sh archivo.
# nano demo-openrc.sh
Pegue el siguiente contenido en el archivo.
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
Reemplazar PASS_DEMO con la contraseña que creó para el usuario de demostración en KeyStone #2.
Crear base de datos de miradas:
Inicie sesión como root en el servidor de base de datos MySQL.
# mysql -u root -p
Cree la base de datos para vistazo.
CREATE DATABASE glance;
Configure el acceso adecuado a la base de datos de vistazo.
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'password';
Reemplazar contraseña con contraseña adecuada.
Salga del indicador de MySQL.
Cree credenciales de servicio y puntos finales de API:
Cargue las credenciales de administrador.
# source admin-openrc.sh
Cree el usuario de vistazo.
# openstack user create --domain default --password-prompt glance User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | default | | enabled | True | | id | ca01105cf73945ce9e93dae68158a86e | | name | glance | +-----------+----------------------------------+
Agregue la función de administrador al proyecto de servicio y usuario de vistazo.
# openstack role add --project service --user glance admin
Cree la entidad de servicio de vistazo.
# openstack service create --name glance --description "OpenStack Image service" image +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Image service | | enabled | True | | id | 728c9fe5ae474c6dbd943aa8f1727a49 | | name | glance | | type | image | +-------------+----------------------------------+
Cree el punto final de API para vistazo.
# 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 | +--------------+----------------------------------+
Instalar y configurar Vistazo:
Instale los paquetes.
# apt-get install glance python-glanceclient
Edite el /etc/glance/glance-api.conf , modifique la configuración a continuación y asegúrese de colocar las entradas en las secciones adecuadas.
[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/
Edite /etc/glance/glance-registry.conf archivo, modifique la configuración a continuación y asegúrese de colocar las entradas en las secciones adecuadas.
[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
Rellene la base de datos de vistazo.
# su -s /bin/sh -c "glance-manage db_sync" glance
Reinicie los servicios.
# service glance-registry restart # service glance-api restart
Elimine el archivo de la base de datos SQLite.
# rm -f /var/lib/glance/glance.sqlite
Verificar operación:
En esto, verificaremos el servicio de imágenes cargando una imagen en la nube de Fedora 22 en nuestro entorno OpenStack.
En nuestra secuencia de comandos del entorno del cliente, configuraremos el cliente del servicio de imágenes para usar la versión 2.0 de la API:
# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
Cargue las credenciales de administrador.
# source admin-openrc.sh
Descargue la imagen de la nube de Ubuntu en el directorio /tmp.
# cd /tmp # wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
Sube la imagen.
# 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
Obtendrá un resultado a continuación.
[=============================>] 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 | +------------------+--------------------------------------+
Muestra las imágenes cargadas.
# glance image-list +--------------------------------------+----------------------------+ | ID | Name | +--------------------------------------+----------------------------+ | 489ece19-2ab3-4105-9a3a-befa974dff38 | Ubuntu_Trusty_Cloud_x86_64 | +--------------------------------------+----------------------------+
¡Eso es todo! Has configurado Glance con éxito.