OpenStack Image Service Kurulumu – Bölüm 6
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.