Instalasi Openstack Menggunakan Packstack di CentOS 7
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)]$ '