Glance akzeptiert API-Anfragen für Disk- oder Server-Images und Image-Metadaten von Endbenutzern oder OpenStack Compute. Es unterstützt auch die Speicherung von Disk- oder Server-Images auf verschiedenen Repository-Typen, einschließlich OpenStack Object Storage.
Dieser Beitrag führt Sie durch die Konfiguration des OpenStack-Image-Dienstes (Glance) auf dem Controller-Knoten. Wir werden einen Blick konfigurieren, um Bilder lokal auf dem Controller-Knoten zu speichern. Bevor Sie fortfahren, vergewissern Sie sich, dass Sie den KeyStone-Dienst konfiguriert haben.
Wenn Sie KeyStone noch nicht konfiguriert haben, können Sie die folgenden beiden Posts durchgehen.
OpenStack Kilo auf Ubuntu 14.04.2 – KeyStone Nr. 1 konfigurieren
OpenStack Kilo auf Ubuntu 14.04.2 – KeyStone #2 konfigurieren
Erstellen Sie ein Client-Umgebungsskript für Administratoren und Demo-Benutzer. Diese Skripts helfen uns, geeignete Anmeldeinformationen für Client-Operationen zu laden.
Erstellen Sie die admin-openrc.sh Datei.
# nano admin-openrc.sh
Fügen Sie den folgenden Inhalt in die Datei ein.
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
Ersetzen Sie PASS_ADMIN mit dem Passwort, das Sie für den Admin-Benutzer in KeyStone #2
erstellt habenErstellen Sie die demo-openrc.sh Datei.
# nano demo-openrc.sh
Fügen Sie den folgenden Inhalt in die Datei ein.
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
Ersetzen Sie PASS_DEMO mit dem Passwort, das Sie für den Demo-Benutzer in KeyStone #2 erstellt haben.
Glance-Datenbank erstellen:
Melden Sie sich als root beim MySQL-Datenbankserver an.
# mysql -u root -p
Erstellen Sie die Datenbank für Blick.
CREATE DATABASE glance;
Stellen Sie den richtigen Zugriff auf die Glow-Datenbank ein.
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'password';
Ersetzen Sie Passwort mit passendem Passwort.
Beenden Sie die MySQL-Eingabeaufforderung.
Service-Anmeldeinformationen und API-Endpunkte erstellen:
Administratoranmeldeinformationen laden.
# source admin-openrc.sh
Erstellen Sie den Blickbenutzer.
# openstack user create --domain default --password-prompt glance User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | default | | enabled | True | | id | ca01105cf73945ce9e93dae68158a86e | | name | glance | +-----------+----------------------------------+
Fügen Sie die Administratorrolle zum Benutzer- und Dienstprojekt „Glick“ hinzu.
# openstack role add --project service --user glance admin
Erstellen Sie die Entität des Diensts „Glick“.
# openstack service create --name glance --description "OpenStack Image service" image +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Image service | | enabled | True | | id | 728c9fe5ae474c6dbd943aa8f1727a49 | | name | glance | | type | image | +-------------+----------------------------------+
Erstellen Sie den API-Endpunkt für Glow.
# 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 | +--------------+----------------------------------+
Glance installieren und konfigurieren:
Installieren Sie die Pakete.
# apt-get install glance python-glanceclient
Bearbeiten Sie die /etc/glance/glance-api.conf , ändern Sie die folgenden Einstellungen und stellen Sie sicher, dass Sie Einträge in den richtigen Abschnitten platzieren.
[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/
Bearbeiten Sie die /etc/glance/glance-registry.conf Datei, ändern Sie die folgenden Einstellungen und stellen Sie sicher, dass Sie Einträge in den richtigen Abschnitten platzieren.
[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
Füllen Sie die Blickdatenbank.
# su -s /bin/sh -c "glance-manage db_sync" glance
Starten Sie die Dienste neu.
# service glance-registry restart # service glance-api restart
Löschen Sie die SQLite-Datenbankdatei.
# rm -f /var/lib/glance/glance.sqlite
Betrieb überprüfen:
Dabei werden wir den Image-Service verifizieren, indem wir ein Cloud-Image von Fedora 22 in unsere OpenStack-Umgebung hochladen.
In unserem Client-Umgebungsskript konfigurieren wir den Image-Service-Client für die Verwendung der API-Version 2.0:
# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
Administratoranmeldeinformationen laden.
# source admin-openrc.sh
Laden Sie das Ubuntu-Cloud-Image im /tmp-Verzeichnis herunter.
# cd /tmp # wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
Laden Sie das Bild hoch.
# 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
Sie erhalten die folgende Ausgabe.
[=============================>] 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 | +------------------+--------------------------------------+
Listen Sie die hochgeladenen Bilder auf.
# glance image-list +--------------------------------------+----------------------------+ | ID | Name | +--------------------------------------+----------------------------+ | 489ece19-2ab3-4105-9a3a-befa974dff38 | Ubuntu_Trusty_Cloud_x86_64 | +--------------------------------------+----------------------------+
Das ist alles!!!, Sie haben Glance erfolgreich konfiguriert.