OpenStack Image Service Kurulumu – Bölüm 6

tarafından 26 Mayıs 2016 tarihinde Openstack kategorisine yazıldı.

Merhaba,

IAAS’ın en önemli servislerinden biride image servisidir. Kurulumunu yapacağımız veya kullanacağımız sunucuların imajları için API request’leri bu servis üzerinde gerçekleşir. Sunucu ve disk imajlarını depolamayı sağladığı için oldukça önemlidir. Bu servis’in kurulumu bu makalede controller üzerine yapılacaktır.


root@controller:/home/tayfun# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 29
Server version: 5.5.49-MariaDB-1ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE glance;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'Password1';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'controller' IDENTIFIED BY 'Password1';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'Password1';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> exit
Bye

Yukarıdaki gibi database oluşturma işlemlerini tamamlıyoruz. Bu aşamadan sonra artık user ve service ‘lerimizi create edebiliriz. Bunun için;

 source admin-openrc.sh 

Yukarıdaki komutu kullanarak daha önceden hazırlamış olduğumuz environment script’imizi yüklüyoruz.

 openstack user create --password-prompt glance 

Yukarıdaki komut ile glance isimli user’ımızı oluşturuyoruz.

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

glance user’ımıza admin rol’unu atıyoruz.

 openstack service create --name glance --description "OpenStack Image service" image 

glance için servis’imizi oluşturuyoruz.


openstack endpoint create \
--publicurl http://controller:9292 \
--internalurl http://controller:9292 \
--adminurl http://controller:9292 \
--region RegionOne \
image

Image servisi için API endpoint oluşturuyoruz.

Artık paketleri kurabiliriz.

 apt-get install glance python-glanceclient 

Yukarıdaki komut ile paketleri kuruyoruz.

 vi /etc/glance/glance-api.conf 

Yukarıdaki komut ile glance-api.conf’u editlemeye başlıyoruz.


[database]

connection = mysql://glance:GLANCE_DBPASS@controller/glance

GLANCE_DBPASS yazan bölüme glance database’ini oluştururken vermiş olduğunuz şifreyi yazmalısınız.


[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 = GLANCE_PASS

[paste_deploy]
flavor = keystone

GLANCE_DBPASS yazan bölüme glance database’ini oluştururken vermiş olduğunuz şifreyi yazmalısınız. Burada [keystone_authtoken] bölümünde yer alan başka parametreler var ise bunların başına # koyabilir veya silebilirsiniz.


[glance_store]
default_store = file
filesystem_store_datadir = /var/lib/glance/images/


[DEFAULT]

notification_driver = noop

verbose = True

Yukarıdaki verileride girdikten sonra :wq! ile dosyayı kayıt ediyoruz.

Şimdi glance-registry.conf’u editlememiz gerekiyor.

 vi /etc/glance/glance-registry.conf 

vi ile conf dosyasını açıyoruz.


[database]

connection = mysql://glance:GLANCE_DBPASS@controller/glance

GLANCE_DBPASS yazan bölüme glance database’ini oluştururken vermiş olduğunuz şifreyi yazmalısınız.


[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 = GLANCE_PASS

[paste_deploy]
...
flavor = keystone

GLANCE_DBPASS yazan bölüme glance database’ini oluştururken vermiş olduğunuz şifreyi yazmalısınız. Burada [keystone_authtoken] bölümünde yer alan başka parametreler var ise bunların başına # koyabilir veya silebilirsiniz.


[DEFAULT]
...
notification_driver = noop

İleride Telemetry service’ini kullanacağımızı düşünerek yukarıdaki parametreyi ekliyoruz.


[DEFAULT]
...
verbose = True

Troubleshooting işlemlerini kolaylaştırmak için yukarıdaki parametreyi ekliyoruz.

İşlemleri tamamladıktan sonra :wq! ile kayıt ediyoruz.

Son olarak artık database’i sync etmemiz gerekiyor.

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

Yukarıdaki komut ile Image Service database’ini sync ettikden sonra artık servislerimizi restart edebiliriz.


service glance-registry restart

service glance-api restart

Yukarıdaki komut ile servisleri restart ediyoruz.

Default olarak Ubuntu paketlerinde SQLite database gelmektedir. Ancak bunu kullanmadığımız için silebiliriz.

rm -f /var/lib/glance/glance.sqlite 

Yukarıdaki komut ile silme işlemini tamamlıyoruz.

Glance kurulumu tamamlandı. Şimdi yaptığımız işlemleri düzgün çalıştığını kontrol etmemiz gerekiyor.

İlk olarak Image service client’ının API version 2.0 kullanması için aşağıdaki komut ile gerekli konfigurasyonu enviroment script’imize ekliyoruz.

 echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh 

Yukarıdıdaki komut ile Enviroment script’imize konfigurasyonu ekledik.


source admin-openrc.sh

Yukarıdaki komut ile enviroment script’imizi yüklüyoruz.


mkdir /tmp/images

Yukarıdaki komut ile yeni bir temporary directory oluşturuyoruz.


wget -P /tmp/images http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

Yukarıdaki komut ile image download ediyoruz.


glance image-create --name "cirros-0.3.4-x86_64" --file /tmp/images/cirros-0.3.4-x86_64-disk.img \
--disk-format qcow2 --container-format bare --visibility public --progress

İndirmiş olduğumuz image’i artık image service’e ekleyebiliriz. Yukarıdaki komut ile bu img dosyasını image service’ine ekliyoruz.


glance image-list

Upload işleminin başarılı bir şekilde tamamlandığını görmek için yukarıdaki komut ile yüklü olan image’ları listeliyoruz.

Glance kurulumunu başarılı bir şekilde tamamladık. Bir sonraki bölümde Compute node’u üzerinde işlemler yapmaya başlayacağız.

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur.Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2015, VCP5, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.