Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 4

Assalamuaikum rek, akhirnya berjumpa kembali dengan ane dipostingan ini. Kali ini masih dengan satu tulisan yang sama hehe yaitu Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS” hingga sekarang telah mencapai Part 4.

Bagi kalian yang belum mengikuti tulisan saya dan ingin ikut belajar silahkan kunjungin postingan sebelumnya terlebih dahulu

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 1

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 2

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 3

This is IT! kelanjutannya :

Jadi kali ini kita akan menginstall dan mengkonfigurasi service networking atau yang biasa dikenal dengan nama Neutron dalam Openstack. Nah Openstack Neutron memungkinkan kita untuk membuat dan memasang sebuah device interface yang dapat di manage sesuai kebutuhan dengan menggunakan service Openstack Neutron.

Neutron bertugas meng-implementasikan Virtual Networking Infrastructure (VNI) dan juga Physical Networking Infrastructure (PNI).

Jadi neutron dapat menangani hal tentang routing, load-balancer bahkan sampai firewall dan vpn.

Neutron mempunyai 3 komponen juga, yaitu :

  • neutron-server, menerima dan me-route permintaan API untuk neutron plug-in.
  • OpenStack Networking plug-ins dan agentsplug dan unplug ports, membuat networks atau subnets, dan menyediakan IP Address.
  • Messaging queue, bekerja dengan cara menggunakan installasi paling sering dipakai dari neutron untuk me-route informasi di antara neutron-server dan agent-agentnya. Dan bisa juga bekerja seperti sebagai database untuk menyimpan networking state.

Oke langsung saja, sebelum kita mengistall paket yang dibutuhkan mari kita buat terlebih dahulu database dan akses credentials untuk Neutron. Lakukan konfigurasi ini pada node controller.

LAB 25 – Konfigurasi Database Neutron

$ mysql -u root -p
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
  IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
  IDENTIFIED BY 'NEUTRON_DBPASS';

59

LAB 26 – Membuat User, dan Project Service, dan API endpoint Neutron

Jika sudah siahkan keluar dari akses database. Selanjutnya gunakan akses admin

$ source admin-openrc.sh

Kita buat akses credentials untuk service neutron

  • Buat dulu user neutron
    $ openstack user create --domain default --password-prompt neutron
  • Tambahkan admin role untuk user neutron
    $ openstack role add --project service --user neutron admin
  • Tambahkan entitas pada service neutron
    $ openstack service create --name neutron \
      --description "OpenStack Networking" network
  • Buat API endpoint untuk service neutron
    $ openstack endpoint create --region RegionOne \
      network public http://controller:9696
    $ openstack endpoint create --region RegionOne \
      network internal http://controller:9696
    $ openstack endpoint create --region RegionOne \
      network admin http://controller:9696

    6061626364

Pada neutron terdapat 2 arsitektur yang bisa kita deploy (hanya satu yg di pilih)

  1. Provider (External) Networks, yaitu arsitektur sangat simple yang hanya support untuk menghubungkan VMs ke external networks. Dan hanya admin atau user privileged yang bisa me-manage external networks.
  2. Self-Service Networks, yaitu arsitektur yang dapat menghubungkan VMs ke self-service networks. User demo dan user unprivileged  yang lain dapat me-manage self-service termasuk router yang menyediakan koneksi antara self-service dan external-networks.

Dilab ini saya akan menjelaskan untuk Opsi ke-2 yaitu Self Service Network. Mungkin kedepan akan saya berikan juga tutorial untuk yang opsi pertama. Bagi yang penasaran dan ingin mengetahui lebih lanjut pada opsi pertama bisa mengunjungi terlebih dahulu docs.openstack.org

LAB 27 – Instalasi dan Konfigurasi Neutron Pada Node Controller

Baiklah, kita mulai dengan menginstall paket-paket yang dibutuhkan

# apt-get install neutron-server neutron-plugin-ml2 \
  neutron-plugin-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent \
  neutron-metadata-agent python-neutronclient conntrack

Edit file /etc/neutron/neutron.conf dan tambahkan perintah dibawah ini

[DEFAULT]
service_plugins = router
allow_overlapping_ips = True
rpc_backend = rabbit
auth_strategy = keystone
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
core_plugins = ml2
[database]
#connection = sqlite:///var/lib/neutron/neutron.sqlite
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

[nova]
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS

65666768

Jangan lupa ubah RABBIT_PASS dengan password RabbitMQ anda, kemudian NEUTRON_PASS dengan password neutron anda, NEUTRON_DBPASS dengan password database neutron dan NOVA_PASS dengan password nova anda.

LAB 28 – Konfigurasi ML2 Pada Node Controller

  • Edit file /etc/neutron/l3_agent.ini dan tambahkan perintah dibawah ini
    [ml2]
    type_drivers = flat,vlan,vxlan
    tenant_network_types = vxlan
    mechanism_drivers = linuxbridge,l2population
    extension_drivers = port_security
    
    [ml2_type_flat]
    flat_networks = provider
    
    [ml2_type_vxlan]
    vni_ranges = 1:1000
    
    [securitygroup]
    enable_ipset = True

WTR2WTR4WTR5WTR6WTR7WTR8

Setelah selesai silahkan simpan dan keluar.

Kemudian kita akan melakukan konfigurasi linux bridge agent sebagai layer 2 (bridging dan switching) virtual networking infrastructure untuk instances termasuk tunnel untuk VXVLAN dan juga security.

LAB 29 – Konfigurasi Linux Bridge Agent

Buka dan edit file /etc/neutron/plugins/ml2/linuxbridge_agent.ini, kemudian tambahkan perintah dibawah ini

[linux_bridge]
physical_interface_mappings = public:INTERFACE_NAME

[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP
l2_population = True
[agent]
...
prevent_arp_spoofing = True
[securitygroup] 
enable_security_group = True 
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

7576

Jangan lupa ganti INTERFACE_NAME dengan physicaly interface mapping yaitu interface yang terkoneksi pada node controller yang berlaku sebagai management bukan akses internet dan juga untuk OVERLAY_INTERFACE_IP diganti dengan IP management yang ada pada node controller.

LAB 30 – Konfigurasi L3 Agent Pada Node Controller

Selanjutnya konfigurasi L3 AGENT, fungsi dari L3 AGENT adalah untuk menyediakan layanan routing dan NAT untuk virtual network. Langsung saja buka dan edit file /etc/neutron/l3_agent.ini dan ubah konfigurasi seperti dibawah ini :

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =
[DEFAULT]
...
verbose = True

WTR7

LAB 31 – Konfigurasi DHCP Agent Pada Node Controller

Kemudian konfigurasikan DHCP Agent, DHCP Agent menyediakan layanan DHCP untuk virtual network. Langsung saja silahkan edit file /etc/neutron/dhcp_agent.ini

[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
verbose = True
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf

WTR24

Dan pada opsi [DEFAULT] konfigurasi interface driver linux bridge, driver Dnsmasq DHCP dan aktifkan  isolated metada agar VMs pada external networks dapat meng-akses metadata dari network.

Terakhir buat dan ubah file /etc/neutron/dnsmasq-neutron.conf

dhcp-option-force=26,1450

WTR27

LAB 32 – Konfigurasi Metadata Agent Pada Node Controller

Metadata Agent menyediakan informasi seperti kredensial untuk instances. Berikut langkah-langkahnya :

Buka dan edit file /etc/neutron/metadata_agent.ini

Pada bagian [DEFAULT], editlah seperti ini

[DEFAULT]
nova_metadata_ip = controller
metadata_proxy_shared_secret = META_SECRET

auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_region = RegionOne
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS
verbose = True

WTR28

Ubahlah META_SECRET dengan secret yang anda inginkan untuk meta proxy kalian. Dan juga ubah NEUTRON_PASS dengan password neutron kalian.

LAB 33 – Konfigurasi Node Compute agar dapat menggunakan Networking

Kita juga harus mengatur untuk node compute agar nantinya dapat menggunakan Neutron. Silahkan edit /etc/nova/nova.conf

[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

service_metadata_proxy = True
metadata_proxy_shared_secret = META_SECRET

WTR29

Ubahlah NEUTRON_PASS dengan password neutron anda, dan META_SECRET dengan secret meta anda

Lakukan sinkronisasi database

# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
  --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

Restart Compute API service

# service nova-api restart

Restart Networking service

# service neutron-server restart
# service neutron-plugin-linuxbridge-agent restart
# service neutron-dhcp-agent restart
# service neutron-metadata-agent restart
# service neutron-l3-agent restart

Hapuslah neutron.sqlite karena itu tidak penting

# rm -f /var/lib/neutron/neutron.sqlite

Oke cukup sekian dulu dan nanti kita lanjutkan pada lab yang akan datang. Sekian dan terima kasih. Wassalamualaikum wr. wb.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s