Tutorial Install dan Konfigurasi Openstack : Compute service kodename (Nova)

OpenStack Compute berinteraksi dengan OpenStack Identity untuk otentikasi; layanan OpenStack
halo sobat life4code, welcome back!, today kita akan belajar bagaimana caranya untuk install dan konfigurasi Compute Service dengan kode name Nova

Nova adalah salah satu komponen yang paling penting ( Inti ) pada environtment openstack, nova ini bahkan suda ada sejak versi OpenStack pertama di rilis, yakni versi Austin

nah karena itu, kita akan menjadikan OpenStack Compute menjadi host sendiri yang berfungsi untuk pengelola sistem komputasi cloud.
OpenStack Compute adalah bagian utama dari sistem Infrastructure-as-a-Service (IaaS). Modul utama yang diimplementasikan dalam bahasa pemrograman Python. nah OpenStack Compute ini memiliki komponen2 variasi, komponennya bisa kamu lihat disini

nah setelah kita mengerti apa itu Compute Service, sekarang kita sudah siap untuk menjadi bisa, sebelum itu kita harus membuat database untuk Nova.

#LAB 18 Membuat database Nova pada node Controller

Persyaratan
Sebelum Install dan konfigurasi Compute service, kamu harus membuat database, service credentials, dan API endpoints.

untuk membuat database, ikuti langkah ini:

1. gunakan database access client untuk connect ke database server sebagai root user:
$ mysql -u root -p
  • Membuat nova database:
CREATE DATABASE nova;
  • Berikan hak access ke nova database:
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
  • Ganti NOVA_DBPASS dengan password yang kamu inginkan.
  • Keluar database access client.
2. Source admin credentials untuk mendapatkan access admin-only CLI commands:
$ source admin-openrc.sh
3. untuk membuat service credentials, ikuti langkah berikut:
  • membuat nova user:
$ openstack user create --domain default --password-prompt nova 
Catatan
pada saat membuat user, kita dimintai password NOVA_PASS

  • tambahkan admin role ke user nova:
$ openstack role add --project service --user nova admin
buat nova service entity:
$ openstack service create --name nova \
--description "OpenStack Compute" compute
Buat compute API endpoints:
$ openstack endpoint create --region RegionOne \
compute public http://10.0.0.10:8774/v2/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
compute internal http://10.0.0.10:8774/v2/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
compute admin http://10.0.0.10:8774/v2/%\(tenant_id\)s

#LAB 19 Install dan Konfigurasi Komponen Nova
setelah kita membuat database untuk nova, it time to Installing a packages!
Install paket nova:
# apt-get install nova-api nova-cert nova-conductor \
nova-consoleauth nova-novncproxy nova-scheduler \
python-novaclient
Edit file /etc/nova/nova.conf dan ikuti langkah berikut:
nano /etc/nova/nova.conf
pada bagian [database], berikan database access:
[database]
...
connection = mysql://nova:NOVA_DBPASS@10.0.0.10/nova
Ganti NOVA_DBPASS dengan password yang telah kamu buat pada Compute database.

pada [DEFAULT] dan [oslo_messaging_rabbit] , konfigurasi RabbitMQ message queue access:
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = 10.0.0.10
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

Ganti RABBIT_PASS dengan password RabbitMQ.

pada [DEFAULT] dan [keystone_authtoken], konfigurasi Identity service access:
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://10.0.0.10:5000
auth_url = http://10.0.0.10:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = NOVA_PASS

Ganti NOVA_PASS dengan password yang telah kamu buat pada nova user di bagian Identity service.

Pada [DEFAULT] , setting my_ip untuk menggunakan management interface IP address pada controller node:
[DEFAULT]
...
my_ip = 10.0.0.10

Pada bagian [DEFAULT], enable support Networking service:
[DEFAULT]
...
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

Catatan
By default, Compute menggunakan internal firewall service. disaat Networking memiliki firewall service, kamu harus disable Compute firewall service dengan menggunakan nova.virt.firewall.NoopFirewallDriver firewall driver.

pada bagian [vnc], konfigurasi VNC proxy untuk menggunakan management interface IP address pada controller node:
[vnc]
...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip

pada [glance], konfigurasi lokasi dari Image service:
[glance]
...
host = controller

Pada bagian [oslo_concurrency], konfigurasi lock path:

[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

Pada bagian [DEFAULT], disable EC2 API:
[DEFAULT]
...
enabled_apis=osapi_compute,metadata

(Optional) untuk mempermudah troubleshooting, aktifkan verbose logging pada bagian [DEFAULT]

[DEFAULT]
...
verbose = True

sinkronisasi database nova:
# su -s /bin/sh -c "nova-manage db sync" nova
Final Instalasi

Restart Compute services:
# service nova-api restart
# service nova-cert restart
# service nova-consoleauth restart
# service nova-scheduler restart
# service nova-conductor restart
# service nova-novncproxy restart
By default, Ubuntu packages membuat SQLite database.
karena konfigurasi ini menggunakan SQL database server, kamu dapat menghapus SQLite database file dengan cara sebagai berikut:
# rm -f /var/lib/nova/nova.sqlite
kali ini kita akan belajar bagaimana install dan konfigurasi Compute service pada compute node. layanan ini mendukung beberapa hypervisors untuk deploy instances / VMs. pada tutorial kali ini kita menggunakan QEMU hypervisor dengan extension KVM pada compute nodes yang mendukung hardware acceleration untuk virtual machines. pada legacy hardware, menggunakan generic QEMU hypervisor. kamu dapat mengikuti intruksu ini dengan minor modifications untuk skala horizontal pada environmentmu dengan tambahan compute nodes.


Catatan :

kali ini kita asumsikan bahwa kamu mengikuti intruksi yang sudah saya buat step-by-step untuk konfigurasi compute node pertama. jika kamu ingin mendambah konfigurasi pada node compute, buatlah konfigurasi yang mirip pada step yang saya buat sebelumnya. setiap penambahan compute node membutuhkan unique IP address.

#LAB 20 Install dan Konfigurasi pada Compute Node

Install packages:
# apt-get install nova-compute sysfsutils
Edit file /etc/nova/nova.conf dan ikuti step ini:
nano /etc/nova/nova.conf
[DEFAULT] dan [oslo_messaging_rabbit], konfigurasi RabbitMQ message queue access:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS


Ganti RABBIT_PASS dengan password yang telah kamu buat pada openstack account di RabbitMQ.


pada [DEFAULT] dan [keystone_authtoken], konfigurasi Identity service access:
[DEFAULT]
...
auth_strategy = keystone
[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

Ganti NOVA_PASS dengan password yang kamu buat untuk nova user di Identity service.

Catatan
Jika ada command di [keystone_authtoken] selain command di atas, uncommand / hapus.

pada [DEFAULT], konfigurasi my_ip option:
[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

ganti MANAGEMENT_INTERFACE_IP_ADDRESS dengan IP address management network interface pada compute nodemu, typically 10.0.0.31 for the first node in the example architecture.


pada [DEFAULT], enable support Networking service:
[DEFAULT]
...
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

Catatan

secara default, Compute menggunakan internal firewall service. saat Networking memiliki sebuah firewall service, kamu harus disable Compute firewall service dengan menggunakan nova.virt.firewall.NoopFirewallDriver firewall driver.


pada [vnc], enable dan konfigurasi remote console access:
[vnc]
...
enabled = True vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

server component listens di semua IP addresses dan proxy component hanya listens di management interface IP address pada compute node. base URL menunjukan lokasi dimana kamu menggunakan web browser untuk access remote consoles dari instances pada compute node.


Catatan

jika web browser yang untuk access remote console terletak pada host yang tidak dapat resolve controller hostname, kamu harus ganti controller dengan management interface IP address pada controller node, itu sebabnya saya selalu menggunakan ip address.


pada [glance]. konfigurasi lokasi untuk Image service:
[glance]
 ...
 host = controller

pada [oslo_concurrency], konfigurasi lock path:
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp



(Optional) untuk mempermudah troubleshoting, enable verbose logging pada [DEFAULT]:
[DEFAULT]
...
verbose = True


Final Instalasi


menentukan apakah compute node kamu mendukung hardware acceleration untuk virtual machines:
$ egrep -c '(vmx|svm)' /proc/cpuinfo


jika nilai output lebih dari satu, compute node kamu mendukung hardware acceleration yang biasanya tidak membutuhakan konfigurasi tambahan.

tapi jika output yang keluar adalah kosong (0), compute node kamu tidak mendukung hardware acceleration dan kamu harus mengkonfigurasi libvirt untuk menggunakan QEMU bukan KVM.


Edit [libvirt] pada /etc/nova/nova-compute.conf file ikuti langkah berikut:

nano /etc/nova/nova-compute.conf 
[libvirt]
 ...
 virt_type = qemu


Restart the Compute service:
# service nova-compute restart
secara default, Ubuntu packages membuat sebuah SQLite database.

karena konfigurasi ini menggunakan sebuah SQL database server, kamu dapat menghapus SQLite database file:
# rm -f /var/lib/nova/nova.sqlite
#LAB 21 Verifikasi pada Controller Node
Verify operation

Source the admin credentials to gain access to admin-only CLI commands:

$ source admin-openrc.sh

List service components untuk  verify successful launch and registration of each process:
$ nova service-list

$ nova endpoints


Catatan
abaikan semua output warning, its okay.

List images pada Image service catalog untuk memverifikasi connectivity dengan Image service:

$ nova image-list
  

0 Response to "Tutorial Install dan Konfigurasi Openstack : Compute service kodename (Nova)"

Post a Comment