Instalasi Openstack Menggunakan Packstack di CentOS 7

Instalasi Openstack Menggunakan Packstack di CentOS 7

  • 29 January 2021
  • Virtualization
  • Ditulis oleh Arif Zulfikar Pelian
  • 889 Views

Kali ini saya akan mencoba sharing tutorial langkah-langkah instalasi openstack di CentOS 7, sebelum melakukan instalasi openstack ada baiknya kamu mengetahui dulu komponen-komponen dari openstack itu sendiri. Sebelum melakukan instalasi alangkah lebih baiknya kita tahu requirement yang dibutuhkan agar proses instalasi berjalan mulus.

Hardware Requirements

Controller Node

  • Processor, 64-bit x86 dan support AMD-V atau Intel VT hardware virtualization.
  • Memory, Minimum 2GB RAM. (Kalo dari pengalaman 8GB Minimum)
  • Disk Space, Recommended 100GB.
  • Network, Minimum 2 x 1 Gbps NIC, 3 NIC recommended.

 Compute Node

  • Processor, 64-bit x86 dan support AMD-V atau Intel VT hardware virtualization.
  • Memory, Minimum 2GB RAM. (Kalo dari pengalaman 8GB Minimum)
  • Disk Space, Recommended 50GB.
  • Network, Minimum 2 x 1 Gbps NIC, 3 NIC recommended.

Software Requirements

  • Sebenarnya untuk mendeploy openstack dibutuhkan sedikitnya 2 machine dengan OS CentOS7. Machine pertama berfungsi sebagai Cloud Controller dan Machine kedua bertindak sebagai Nova Compute Node. Sedangkan dalam dunia persilatan sangat direkomendasikan menggunakan 2 Nova Compute Node dan 1 Cloud Controller.
  • Pastikan setiap machine terhubung ke satu NTP Server (Network Time Protocol) yang sama agar clock-nya tersinkronisasi.

Notes

Karna tutorial ini hanya untuk proses instalasi, jadi node yang akan di install nanti akan berjalan sebagai controller node dan juga compute node.

Pre-Instalation

Agar instalasi berjalan mulus ada beberapa hal yang harus diperhatikan dan di cek terlebih dahulu.

Disabled Selinux

[root@serverb ~]# vi /etc/selinux/config

##Lalu ubah parameter##

SELINUX=disabled

Cek Hostname, lalu pastikan hostname sudah terconfigure secara static.

[root@serverb ~]# hostname

serverb.pod1.example.com

[root@serverb ~]# hostnamectl set-hostname serverb.pod1.example.com

Cek IP Address, pastikan IP Address yang digunakan adalah IP Address Static.

[root@serverb ~]# ip addr show

Update Package OS Server, lalu reboot

[root@serverb ~]# yum update -y

[root@serverb ~]# reboot

Instalasi & Konfigurasi Openvswitch

Instalasi dan konfigurasi openvswitch penting karna inilah yang akan membentuk neutron atau network yang akan berfungsi sebagai bridge yang menghubungkan instances (virtual machine) keluar/internet. Tahapan instalasi OVS bisa kamu cari di Internet karena saya tidak akan membahasnya disini.

Untuk mengecek apakah openvswitch sudah terinstall atau belum gunakan command dibawah ini.

[root@serverb ~]# ovs-vsctl -V

Notes :

Kalau outputnya "bash: ovs-vsctl: command not found...", maka openvswitch belum terinstall. Maka lakukan dahulu instalasi openvswitch di OS kamu.

Apabila openvswitch sudah diinstall ketika ketik command diatas harusnya outputnya seperti dibawah ini.

[root@serverb ~]# ovs-vsctl -V

ovs-vsctl (Open vSwitch) 2.3.1

Compiled Jun  9 2015 12:15:53

DB Schema 7.6.2

Konfigurasi Network

Setelah openvswith di-install, kita akan membuat 2 interface yang akan berfungsi sebagai bridge yaitu :

  • eth0, menjadi port dari br-ex bridge karna eth0 mempunyai connectivity external.
  • br-ex, menjadi switch dimana eth0 akan diattach ke switch(br-ex) tersebut.

Buat interface baru yaitu br-ex di /etc/sysconfig/network-scripts/ifcfg-br-ex dengan informasi dibawah ini.

DEVICE=br-ex

DEVICETYPE=ovs

TYPE=OVSBridge

BOOTPROTO=static

IPADDR=192.168.99.50 ##IP Address yang kita gunakan##

NETMASK=255.255.255.0

GATEWAY=192.168.99.5

 Edit file /etc/sysconfig/network-scripts/ifcfg-eth0 dengan informasi dibawah ini.

DEVICE=eth0

ONBOOT=yes

TYPE=OVSPort

DEVICETYPE=ovs

OVS_BRIDGE=br-ex

Matikan service Network Manager karna apabila digunakan akan menyebabkan error.

[root@serverb ~]# systemctl stop NetworkManager.service

[root@serverb ~]# systemctl disable NetworkManager.service

 Lalu nyalakan service network dan restart agar konfigurasi openvswitch tadi berjalan.

[root@serverb ~]# systemctl start network.service

[root@serverb ~]# systemctl enable network.service 

atau

[root@serverb ~]# chkconfig network on

[root@serverb ~]# reboot

INSTALASI OPENSTACK MENGGUNAKAN PACKSTACK

Setelah proses pre-installation selesai selanjutnya kita akan melakukan instalasi openstack menggunakan packstack. Packstack adalah package utility yang dikembangkan oleh redhat dan digunakan untuk mendeploy Redhat OpenStack, namun dapat juga digunakan di beberapa distro linux dan di OS CentOS kita dapat juga menggunakan packstack untuk mendeploy openstack.

Install openstack-packstack dan openstack-dashboard dari repository RDO

[root@serverb ~]# yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-juno/rdo-release-juno-1.noarch.rpm

[root@serverb ~]# yum install -y openstack-packstack

Generate answer-file lalu edit answer-file untuk memilih paket openstack yang akan di install

[root@serverb ~]# packstack --gen-answer-file /root/answers.txt

Lalu edit parameter di dalam file answers.txt dibawah ini.

....

CONFIG_DEFAULT_PASSWORD=arif

CONFIG_SWIFT_INSTALL=n

CONFIG_HEAT_INSTALL=y

CONFIG_NTP_SERVERS=id.pool.ntp.org

CONFIG_KEYSTONE_ADMIN_PW=arif

CONFIG_CINDER_VOLUMES_CREATE=y

CONFIG_LBAAS_INSTALL=y

CONFIG_NEUTRON_METERING_AGENT_INSTALL=y

CONFIG_NEUTRON_FWAAS=y

CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan

CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan

CONFIG_NEUTRON_ML2_VLAN_RANGES=physnet1:1:1000

CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-eth1

CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-eth1:eth1

CONFIG_HORIZON_SSL=y

CONFIG_HEAT_CFN_INSTALL=y

CONFIG_PROVISION_DEMO=n

Setelah selesai save lalu quit.

Deploy OpenStack Menggunakan answer-file yg disiapkan dari langkah sebelumnya

[root@serverb ~]# packstack --answer-file /root/answers.txt

......

Proses instalasi harus menunggu sekitar 20-30 menit.

......

Setelah Instalasi Selesai, Verifikasi OpenStack Services

[root@serverb ~]# openstack-status

== Nova services ==

openstack-nova-api:                     active

openstack-nova-cert:                    active

openstack-nova-compute:                 active

openstack-nova-network:                 inactive  (disabled on boot)

openstack-nova-scheduler:               active

openstack-nova-conductor:               active

== Glance services ==

openstack-glance-api:                   active

openstack-glance-registry:              active

== Keystone service ==

openstack-keystone:                     inactive  (disabled on boot)

== Horizon service ==

openstack-dashboard:                    301

== neutron services ==

neutron-server:                         active

neutron-dhcp-agent:                     active

neutron-l3-agent:                       active

neutron-metadata-agent:                 active

neutron-lbaas-agent:                    active

neutron-openvswitch-agent:              active

neutron-metering-agent:                 active

== Cinder services ==

openstack-cinder-api:                   active

openstack-cinder-scheduler:             active

openstack-cinder-volume:                active

openstack-cinder-backup:                inactive  (disabled on boot)

== Ceilometer services ==

openstack-ceilometer-api:               active

openstack-ceilometer-central:           active

openstack-ceilometer-compute:           active

openstack-ceilometer-collector:         active

openstack-ceilometer-alarm-notifier:    active

openstack-ceilometer-alarm-evaluator:   active

openstack-ceilometer-notification:      active

== Heat services ==

openstack-heat-api:                     active

openstack-heat-api-cfn:                 active

openstack-heat-api-cloudwatch:          inactive  (disabled on boot)

openstack-heat-engine:                  active

== Support services ==

libvirtd:                               active

openvswitch:                            active

dbus:                                   active

target:                                 active

rabbitmq-server:                        active

memcached:                              active

== Keystone users ==

Warning keystonerc not sourced

Apabila output seperti diatas maka artinya instalasi berhasil dan service berjalan dengan baik.

Akses Cloud Controller (Horizon) Melalui Web-Browser

Setelah proses instalasi selesai ada informasi bahwa untuk mengakses horizon melalui browser bisa melalui url ini https://192.168.99.50/dashboard.  IP Address tersebut adalah IP yang kita setting di interfaces br-ex (bridge external), apabila akses url tersebut berhasil maka akan muncul tampilan dashboard openstack seperti dibawah ini.


Lalu login ke horizon dashboard menggunakan username: admin, password: arif. Apabila berhasil login maka akan muncul dashboard utama openstack seperti dibawah ini.


Catatan Penting

Kalo lupa credential akses maka kita bisa lihat di keystonerc_admin untuk melihat credential akses kita.

[root@servera ~]# cat keystonerc_admin

export OS_USERNAME=admin

export OS_TENANT_NAME=admin

export OS_PASSWORD=arif

export OS_AUTH_URL=http://192.168.99.50:5000/v2.0/

export OS_REGION_NAME=RegionOne

export PS1='[u@h W(keystone_admin)]$ '