Tuesday, June 9, 2015

Instalasi OpenStack CentOS 7

Kali ini kita akan mencoba melakukan instalasi openstack di CentOS 7, buat agan yang belum tahu apa itu openstack dan apa aja sih komponen-komponen dari openstack bisa baca tulisan saya disini.
Sebelum melakukan instalasi alangkah lebih baiknya kita tahu requirement yang dibutuhkan agar proses instalasi berjalan mulus semringwing.

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 Mulus Semringwing)
    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 Mulus Semringwing)
    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 diinstall 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
    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.

    Untuk mengecek apakah openvswitch sudah terinstall atau belum gunakan command dibawah ini.
    [root@serverb ~]# ovs-vsctl -V
    Kalau outputnya "bash: ovs-vsctl: command not found...", maka openvswitch belum terinstall. Untuk instalasi openvswitch ikuti tutorial saya sebelumnya disini.

    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
    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.
......

- 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



Login ke horizon menggunakan Username: Admin, Password: arif. Apabila berhasil login ke horizon maka tampilannya harusnya seperti dibawah ini.



NOTES 
Kalo lupa credential akses, kita bisa lihat isi file keystonerc_admin untuk melihat credentials access kita. Caranya seperti dibawah ini :
[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)]\$ '

Semoga bermanfaat yah.

No comments:

Post a Comment