Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 2

Hey rek, melanjutkan postingan sebelumnya yaitu pada part 1, bagi yang belum mengunjungi silahkan bisa mulai mengunjungi part 1 disini.

Nah jika sudah. dipostingan kali ini akan saya lanjutkan. Silahkan disimak.

LAB 15 – Konfigurasi Database Glance (Image Service)

Glance merupakan salah satu service central dan bagian yang sangat penting dari openstack sebagai IaaS. Cara kerja dari glance yaitu dengan menerima request/permintaan untuk server image berupa API. Komponen utama dari glance yaitu glance-api dan glance-registry. Glance-api berfungsi menerima permintaan API image untuk kebutuhan pelayanan image. Sedangkan Glance-registry menyimpan, memproses dan mendapatkan kembali metadata dari sebuah iamges. Metadata yang dimaksud memuat detail mengenai ukuran dan type dari sebuah images. Instalasi glance dilakukan pada node controller.

Pertama mari kita buat database untuk glance :

$ mysql -u root -p
CREATE DATABASE glance;

Berikan akses user glance untuk database glance, ubah GLANCE_DBPASS dengan password anda sendiri. Jika sudah silahkan keluar dari akses database.

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
  IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
  IDENTIFIED BY 'GLANCE_DBPASS';

26

LAB 16 – Menambahkan User, Role dan API endpoint Glance

Selanjutnya gunakan akses admin

$ source admin-openrc.sh

Buat kredensial service glance sebagai berikut :

  • Buat terlebih dahulu user glance
    $ openstack user create --domain default --password-prompt glance

    27

  • Kemudian tambahkan admin role kedalam user glance dan service projectnya
    $ openstack role add --project service --user glance admin
  • Dan buat pula service entity dari glance tersebut
    $ openstack service create --name glance \
      --description "OpenStack Image service" image

    28

  • Buat Service Image Endpoint API
    $ openstack endpoint create --region RegionOne \
      image public http://controller:9292
    $ openstack endpoint create --region RegionOne \
      image internal http://controller:9292
    $ openstack endpoint create --region RegionOne \
      image admin http://controller:9292

    29 31

LAB 17 – Instalasi dan Konfigurasi Glance

Pembuatan kredensial glance service telah selesai dan mari kita lanjutkan dengan instalasi paket yang dibutuhkan.

# apt-get install glance python-glanceclient

dan ubahlah konfigurasi file /etc/glance/glance-api.conf seperti dibawah ini :

[database]
...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

1

Ubah GLANCE_DBPASS dengan password database kalian masing-masing.

Ubah pula konfigurasi pada bagian [keystone_authtoken] dan [paste_deploy] menjadi seperti ini :

[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

33

Pada teks GLANCE_PASS ubahlah dengan password glance kalian masing-masing.

Pada bagian [glance_store], tambahkan penyimpanan lokal file system dan juga lokasi dari file image

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

35

Matikan noop notifikasi driver karena noop hanya digunakan secara optional itupun pada service Telemetry. Nah, caranya dengan tambahkan syntax seperti dibawah ini di bawah line [DEFAULT]. Untuk mempermudah bisa diaktifkan verbose pada konfigurasi file

[DEFAULT]
...
notification_driver = noop
verbose = true

Jika telah selesai silahkan disimpan dan keluar, kemudian buka dan editlah file /etc/glance/glance-registry.conf dan lakukan penambahan konfigurasi.

Pada bagian connection tambahkan seperti dibawah ini

[database]
...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

Ubah GLANCE_DBPASS dengan password database glance kalian

1

Abis itu tambahkan pada bagian [keystone_authtoken] dan [paste_deploy]

[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

Ubah kembali GLANCE_PASS dengan password glance kalian.

33

34

Matikan noop notifikasi driver karena noop hanya digunakan secara optional itupun pada service Telemetry. Nah, caranya dengan tambahkan syntax seperti dibawah ini di bawah line [DEFAULT]. Untuk mempermudah bisa diaktifkan verbose pada konfigurasi file

[DEFAULT]
...
notification_driver = noop
verbose = true

Jika telah selesai silahkan disimpan dan keluar dan kemudian sinkronisasikan database image service tersebut.

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

38

Terakhir silahkan restart image service :

# service glance-registry restart
# service glance-api restart

Secara default paket-paket dari ubuntu membuat SQLite database. Dikarenakan kita menggunakan SQL database, kita dapat menghapus file SQLite database tersebut.

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

LAB – 18 Verifikasi Service Glance

Pada masing-masing script client tambahkan syntax dibawah ini agar client menggunakan Image Service API versi 2 :

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

Jika sudah gunakan credensial admin source dan lakukan download file image CirrOS menggunakan wget. Jika pada OS anda belum ada wget, install terlebih dahulu wget.

$ source admin-openrc.sh
$ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

39

Sekarang mari kita upload image kedalam image service dengan format disk QCOW2, format bare container dan juga kita atur public visibility. Agar nantinya file image ini dapat digunakan secara public.

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

40

LAB 19 – Mengatur Image dengan Openstack Image Service

Konfirmasi hasil upload image kita untuk validasi

$ glance image-list

41

Image telah terupload dan konfigurasi glance telah selesai. Kita lanjutkan dengan lab yang baru.

Konfigurasi Compute Service Pada Node Controller

Service Compute dalam Openstack merupakan komponen inti yang menangani semua urusan virtualisasi dari hypervisor, atur hardware berupa alokasi CPU dan lain-lain. Service compute dalam openstack bernama Nova. Nova berinteraksi pula dengan keystone untuk autentikasi identitas kemudian image service dan juga openstack dashboard.

Dan berikut adalah bagian dari nova :

  • nova-api service, berguna untuk menerima/merespon panggilan API dari end user.
  • nova-api-metadata service, menerima request metadata dari instance
  • nova-compute service, sebuah daemon yang dapat membuat maupun mematikan virtual machine melalui API dari Hypervisor. Contoh, XenAPI, libvirt, VMwareAPI dan lain-lain.
  • nova-scheduler service,  merupakan bagian yang menentukan di mana virtual machines akan di tempatkan/dijalankan di server mana.
  • nova-conductor module, akan menjadi jembatan komunikasi antara nova-compute dengan databasenya.
  • nova-cert module, server daemon yang akan melayani Nova Cert service untuk X509 certificates.
  • nova-network worker daemon, hampir sama seperti nova-compute tetapi hanya menerima tugas bagian networking saja.
  • nova-consoleauth daemon, token resmi untuk user yang menggunakan proxy pada consolenya.
  • nova-novncproxy daemon, daemon yang menyediakan proxy untuk mengakses virtual machines yang sedang berjalan dengan memakai koneksi VNC. support novnc client.
  • nova-spicehtml5proxy daemon, daemon yang menyediakan proxy untuk mengakses virtual machines yang sedang berjalan dengan memakai koneksi SPICE.
  • nova-xvpvncproxy daemon, sama seperti nova-novncproxy, perbedaannya xvpvncproxy ini hanya support java client.
  • nova-cert daemon, X509 certificates
  • nova client, mengaktifkan users untuk men-submit perintah seperti administrator atau end-user.

LAB 20 – Membuat Database Openstack Compute

Sebelum menginstall Nova, kita buat terlebih dahulu database, service credentials dan API endpointnya.

Masuk ke dalam console database dulu dan buat database nova

$ mysql -u root -p
CREATE DATABASE nova;

Berikan akses nova kepada database

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
  IDENTIFIED BY 'NOVA_DBPASS';

42

Gunakan akses admin dan kita buat service credentials untuk nova :

$ source admin-openrc.sh
$ openstack user create --domain default --password-prompt nova

43

Tambahkan role admin pada user nova dan buat pula service entity nova

$ openstack role add --project service --user nova admin
$ openstack service create --name nova \
  --description "IDN OpenStack Compute" compute

44

LAB 21 – Konfigurasi API endpoint Service Nova

Buat API endpoint untuk Nova

$ openstack endpoint create --region RegionOne \
  compute public http://controller:8774/v2/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
  compute internal http://controller:8774/v2/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
  compute admin http://controller:8774/v2/%\(tenant_id\)s

4546

LAB 22 – Instalasi dan Konfigurasi Openstack Compute (Nova)

Setelah itu kita install paket-paket nova dan melakukan konfigurasinya

# apt-get install nova-api nova-cert nova-conductor \
  nova-consoleauth nova-novncproxy nova-scheduler \
  python-novaclient

Selanjutnya buka file /etc/nova/nova.conf dan ubah serta tambahkan seperti dibawah ini

  • Pada bagian [database] aturlah akses databasenya. Jangan lupa ubah NOVA_DBPASS dengan password database nova kalian
    [database]
    ...
    connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
  • Pada bagian [oslo_messaging_rabbit] tambahkan seperti ini :
    [oslo_messaging_rabbit]
    ...
    rabbit_host = controller
    rabbit_userid = openstack
    rabbit_password = RABBIT_PASS
  • Di bagian [keystone_authtoken] konfigurasikan akses identity nova dan jangan lupa ubah NOVA_PASS dengan password nova kalian.
    [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 = nova
    password = NOVA_PASS

    48

  • Ubah pula bagian default dan tambahkan seperti berikut :
    [DEFAULT]
    ...
    rpc_backend = rabbit
    auth_strategy = keystone
    my_ip = MANAGEMENT_IP
    network_api_class = nova.network.neutronv2.api.API
    security_group_api = neutron
    linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    enabled_apis=osapi_compute,metadata
    verbose = True

    47

  • Pada bagian [vnc] atur vnc proxy agar menggunakan ip address management pada node controller.
    [vnc]
    ...
    vncserver_listen = $my_ip
    vncserver_proxyclient_address = $my_ip
  • Dan pada bagian [glance] atur lokasi server image service
    [glance]
    ...
    host = controller
  • Terakhir atur pada bagian [oslo_concurrency]
    [oslo_concurrency]
    ...
    lock_path = /var/lib/nova/tmp

    49

Sinkronisasikan database Nova

# su -s /bin/sh -c "nova-manage db sync" nova

Kemudian restart service nova

# service nova-api restart
# service nova-cert restart
# service nova-consoleauth restart
# service nova-scheduler restart
# service nova-conductor restart
# service nova-novncproxy restart

Hapuslah file nova.sqlite karena kita tidak membutuhkannya

# rm -f /var/lib/nova/nova.sqlite

Baiklah itulah penjelasan konfigurasi openstack part 2, dan akan saya lanjutkan pada postingan part 3 mengingat jika ditaruh di post part 2 hasilnya terlalu panjang.

Terima kasih. Salam

Leave a Reply

Your email address will not be published. Required fields are marked *