Monday, April 3, 2017

Mudahnya Instalasi OpenStack Menggunakan Packstack

Beberapa hari yang lalu saya mendapat kesempatan untuk mengikuti bootcamp yang diadakan oleh Pak Utian di Btech. Selama 6 hari saya dan belasan peserta lainnya belajar mengenai hal-hal teknis tentang DevOps, seperti instalasi KVM, OpenStack, Docker, Ansible, RancherOS, Kubernetes, Jenkins. ELK (Elasticsearch, Logstash, and Kibana), serta cara menggunakan Travis maupun pengenalan tentang Software Defined Networking. Namun pada post ini saya hanya membahas cara mudah menginstal layanan-layanan OpenStack versi Mitaka menggunakan PackStack pada single-node (All-in-One)

Packstack
Packstack adalah utilitas yang menggunakan modul Puppet untuk menyebarkan berbagai layanan dari OpenStack pada beberapa server secara otomatis melalui SSH. Saat ini hanya CentOS, Red Hat Enterprise Linux (RHEL) dan turunannya yang kompatibel menggunakan Packstack. Pada post ini saya menggunakan CentOS versi 7 sebagai host untuk instalasi OpenStack versi Mitaka.

Mempersiapkan Environment
Saya menggunakan dua buah antarmuka (interface) jaringan, yaitu enp0s3 dan enp0s8. Pada enp0s3 saya atur sebagai antarmuka yang terhubung ke jaringan untuk memanajemen OpenStack. Sementara pada enp0s8 saya atur sebagai antarmuka yang terhubung ke jaringan eksternal. Berikut konfigurasi lengkap kedua antarmuka yang saya pakai.
INTERAFCE=enp0s3
IPADDR=10.99.99.10
PREFIX=24
GATEWAY=10.99.99.254
DNS1=8.8.8.8

INTERFACE=enp0s8
IPADDR=10.88.88.10
PREFIX=24
Sebelum memulai instalasi Packstack, persiakan dahulu environment dengan menambahkan repository EPEL dan centos-release-mitaka.
# yum -y install centos-release-openstack-mitaka epel-release
Selanjutnya instal lalu aktifkan chrony agar waktu pada host dapat tersinkronisasi dengan server NTP.
# yum -y install chrony
# systemctl enable chronyd.service
# systemctl restart chronyd.service
# systemctl status chronyd.service
# chronyc sources 
Agar tidak ruwet, non-aktifkan firewall pada host.
# systemctl stop firewalld.service
# systemctl disable firewalld.service
# systemctl status firewalld.service
Karena saya berencana menggunakan akses jaringan eksternal, maka saya non-aktifkan NetworkManager lalu mengaktifkan network.
# systemctl disable NetworkManager.service
# systemctl stop NetworkManager.service
# systemctl status NetworkManager.service
# systemctl enable network.service
# systemctl restart network.service
# systemctl status network.service

Instalasi OpenStack
Instal Packstack beserta utilitas yang dibutuhkan.
# yum -y install openstack-packstack vim wget screen crudini
Selanjutnya gunakan perintah "packstack" diikuti dengan parameter --get-answer=berkas.txt agar packstack meng-generate berkas instalasi. Di dalam berkas tersebut berisi opsi-opsi yang dibutuhkan tentang apa saja layanan yang akan diinstal.
# packstack --gen-answer-file=berkas.txt
Selanjutnya ubah berkas tersebut menggunakan vim dan sesuainz dengan yang ada di bawah ini (saya tidak menginstal layanan Cinder, Swift, Ceilometer, Aodh, Gnocchi, dan Nagios).
# vi berkas.txt
...
CONFIG_CINDER_INSTALL=n
CONFIG_SWIFT_INSTALL=n
CONFIG_CEILOMETER_INSTALL=n
CONFIG_AODH_INSTALL=n
CONFIG_GNOCCHI_INSTALL=n
CONFIG_NAGIOS_INSTALL=n
CONFIG_KEYSTONE_ADMIN_PW=rahasia
CONFIG_NEUTRON_METERING_AGENT_INSTALL=n
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,gre,vlan,flat,local
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=external
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=external:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:enp0s8
CONFIG_NEUTRON_OVS_BRIDGES_COMPUTE=br-ex
CONFIG_PROVISION_DEMO=n
Seperti yang terlihat di atas, saya menggunakan "rahasia" sebagai password admin dan melakukan bridge pada interface enp0s8 yang nanti akan digunakan sebagai penghubung ke jaringan eksternal. Simpan berkas tersebut lalu jalankan perintah "packstack" kembali diikuti parameter --answer-file.
# packstack --answer-file=berkas.txt
Tunggu sampai instalasi selesai, lamanya instalasi tergantung pada kecepatan internet host, resource CPU, RAM (iya, RAM anda), dan lain-lain. Meminjam kata-kata Pak Utian, "kalau dunia dalam keadaan baik-baik saja" maka akan tampil seperti ini.
Instalasi berhasil! OpenStack sudah dapat digunakan melalui terminal maupun Dashboard Horizon. Dashboard Horizon dapat diakses melalui http://<alamat ip>/dashboard. Lalu login menggunakan password yang sudah diatur sebelumnya (CONFIG_KEYSTONE_ADMIN_PW).

Sekian post kali ini. Semoga bermanfaat.

Referensi:
  • https://www.rdoproject.org/install/quickstart/
  • https://wiki.openstack.org/wiki/Packstack


5 comments:

  1. Wah wah .. ada blog sebagus ini kok diem diem bang

    ReplyDelete
    Replies
    1. malu pakaji, kontennya sedikit 🙈

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. blognya keren mas, jangan lupa mampir di pernahlihat.ga ya

    ReplyDelete
    Replies
    1. wogh, makasih mas. kayaknya saya pernah liat pernahlihat.ga di mana gitu. 😅

      Delete