Instalasi Openstack Liberty - Ubuntu 14.04 LTS - Part 6.0

9:42:00 AM


Assalamualaikum, untuk yang sebelumnya kita sudah membahas, menginstall dan mengkonfigurasi nova. sekarang kita masuk ke bab cara menginstall dan mengkonfigurasi layanan Openstack Networking (Neutron) menggunakan jarigan opsi provider atau self-service.

untuk part yang sebelum nya, silakan klik link dibawah ini


NEUTRON
Openstack Networking ( Neutron ), adalah sebuah layanan NaaS (Networking as a Service). Neutron adalah salah satu komponen penting dalam openstack, neutron berfungsi untuk menghubungkan Instances(vm) ke dunia real. Singkatnya neutron adalah services yang menghandel dan memanage virtual networking infrastructure di dalam platform openstack cloud. Apa saja elemen-elemen tersebut? Elemen tersebut yaitu networks, subnets, dan routers. Beberapa advanced fitur seperti subnet, routerload-balancerfirewall dan VPN juga menggunakan services neutron. Neutron ini mengelola semua networking untuk VNI (Virtual Networking Infrastructure) dan PNI (Physical Networking Infrastructure)

komponen dari Neutron sebagai berikut :

  • neutron-server, menerima dan me-route (memilih jalur terbaik) permintaan API untuk membawa neutron plug-in.
  • OpenStack Networking plug-ins and agents, plug dan unplug ports, membuat networks atau subnets, dan menyediakan IP Address.
  • Messaging queue, komponen ini 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.

Neutron menyediakan networks dan connectivity untuk Compute.

okee sekarang kita lanjut nge-lab lagi :3

LAB 23 - Membuat Database Neutron - Node Controller

sebelum kita mengkonfigurasi Neutron, kita harus membuat database, service credentials, dan API endpoints nya

pertama kita buat databasenya terlebih dahulu, login sebagai user biasa:

$ mysql -u root -p

lalu buat neutron database nya:

CREATE DATABASE neutron;

kemudian kita beri akses untuk 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';


jika sudah, keluar dari database, dan load file admin-openrc.sh.


$ source admin-openrc.sh

lalu buat service credentialsnya, pertama kita buat user untuk neutron:

$ openstack user create --domain default --password-prompt neutron

masukan password untuk user neutron.


kemudian tambahkan role admin ke user neutron:

$ openstack role add --project service --user neutron admin

jika sudah, sekarang kita akan membuat service entity neutron:

$ openstack service create --name neutron \
  --description "Vschool OpenStack Networking" network



buat Networking Service API endpoint nya (Admin, Public, Internal):

$ openstack endpoint create --region RegionOne \
  network admin http://10.10.10.11:9696



$ openstack endpoint create --region RegionOne \
  network public http://10.10.10.11:9696



$ openstack endpoint create --region RegionOne \
  network internal http://10.10.10.11:9696


note: 10.10.10.11 adalah ip node controller

LAB 24 - Konfigurasi Opsi Networking Neutron - Node Controller

kita hanya bisa men-deploy satu dari 2 opsi arsitektur neutron ini.
  • Opsi 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.
  • Opsi 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.
kita akan menggunakan Opsi 2 untuk lab kali ini.

ingat! ini masih di node controller

STEP 1 - Install Package Neutron

pertama kita install paket nya dulu:

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


STEP 2 - Konfigurasi Server Komponen

kemudian kita konfigurasi file neutron.conf:

# nano /etc/neutron/neutron.conf

dan tambahkan konfigurasi berikut:

[DEFAULT]
core_plugin = ml2
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
nova_url = http://10.10.10.11:8774/v2
verbose = True



[keystone_authtoken]

auth_uri = http://10.10.10.11:5000
auth_url = http://10.10.10.11:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron

password = vschool

[database]
connection = mysql://neutron:vschool@10.10.10.11/neutron

[oslo_messaging_rabbit]
rabbit_host = 10.10.10.11
rabbit_userid = openstack
rabbit_password = vschool


[nova]
auth_url = http://10.10.10.11:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = nova
password = vschool



STEP 3 - Konfigurasi Modular Layer 2 (ML2) plug-in


kemudian kita buka file ml2_conf.ini:

# nano /etc/neutron/plugins/ml2/ml2_conf.ini

kemudian tambahkan konfigurasi berikut:

[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security



[ml2_type_flat]
flat_networks = public



[ml2_type_vxlan]
vni_ranges = 1:1000



[securitygroup]
enable_ipset = True


STEP 4 - Konfigurasi Linux bridge agent

lalu kita buka file linuxbridge_agent.ini:

# nano /etc/neutron/plugins/ml2/linuxbridge_agent.ini

dan tambahkan konfugurasi berikut:

[linux_bridge]
physical_interface_mappings = public:eth1

[vxlan]
enable_vxlan = True
local_ip = 10.10.10.11
l2_population = True



[agent]
prevent_arp_spoofing = True

[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver



STEP 5 - Konfigurasi layer-3 agent

buka file l3_agent.ini:

# nano /etc/neutron/l3_agent.ini

dan tambahkan konfigurasi berikut:

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



STEP 6 - Konfigurasi DHCP agent

buka file dhcp_agent.ini:

# nano /etc/neutron/dhcp_agent.ini

kemudian tambahkan konfigurasi berikut:

[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


setelah itu buat dan ubah file dnsmasq-neutron.conf untuk mengaktifkan DHCP MTU.

# nano /etc/neutron/dnsmasq-neutron.conf

dan tambahkan konfigurasi berikut

dhcp-option-force=26,1450


STEP 7 - Konfigurasi metadata agent

buka file metadata_agent.ini:

# nano /etc/neutron/metadata_agent.ini

dan tambahkan konfigurasi berikut:

[DEFAULT]
auth_uri = http://10.10.10.11:5000
auth_url = http://10.10.10.11:35357
auth_region = RegionOne
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = vschool
nova_metadata_ip = 10.10.10.11
metadata_proxy_shared_secret = metadata123
verbose = True



LAB 25 - Konfigurasi Neutron di Compute - Node Compute

note: sekarang kita pindah ke node compute (nova)

buka file nova.conf sebagai super user:

# nano /etc/nova/nova.conf

kemudian tambahkan konfigurasi berikut:

[neutron]
url = http://10.10.10.11:9696
auth_url = http://10.10.10.11:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = vschool
service_metadata_proxy = True
metadata_proxy_shared_secret = metadata123



LAB 26 - Sinkronisasi Neutron - Node Controller

sekarang kita pindah lagi ke node controller, sinkronisasi neutron dengan perintah berikut:

# 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


kemudian kita restart service compute nya:

# service nova-api restart

lalu restart juga service networking nya

# 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

kemudian kita hapus file glance.sqlite nya, karena secara default ubuntu membuat paket di SQLite database. berikut perintah untuk menghapus nya:

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

LAB 27 -  Install Paket Neutron - Node Compute

STEP 1 - Install Package Neutron

pertama kita install paket neutron nya:

# apt-get install neutron-plugin-linuxbridge-agent conntrack

lalu buka file neutron.conf dengan perintah:

# nano /etc/neutron/neutron.conf

dan tambahkan konfigurasi berikut

[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
verbose = True

[oslo_messaging_rabbit]
rabbit_host = 10.10.10.11
rabbit_userid = openstack
rabbit_password = vschool

[keystone_authtoken]
auth_uri = http://10.10.10.11:5000
auth_url = http://10.10.10.11:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = vschool

STEP 2 - Konfugurasi Linux bridge agent

konfigurasi linuxbridge_agent.ini dengan perintah:

# nano /etc/neutron/plugins/ml2/linuxbridge_agent.ini

lalu tambahkan konfigurasi dibawah ini:

[linux_bridge]
physical_interface_mappings = public:eth1

[vxlan]
enable_vxlan = True
local_ip = 10.10.10.22
l2_population = True

[agent]
prevent_arp_spoofing = True

[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

STEP 3 - Konfigurasi Compute agar menggunakan Neutron

kemudian buka file nova.conf:

# nano /etc/nova/nova.conf

dan tambahkan konfigurasi berikut:

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

STEP 4 - Restart Service-nya


kemudian restart nova-compute dan juga linux bridge agent nya:

# /etc/init.d/nova-compute restart
# /etc/init.d/neutron-plugin-linuxbridge-agent restart

LAB 28 - Verifikasi Neutron - Node Controller

login sebagai user biasa di node controller. kemudian load file admin-openrc.sh:

$ source admin-openrc.sh

lalu load extension neutron server-nya (cek proses neutron server)

$ neutron ext-list



kemudian cek agent list yang sedang berjalan

$ neutron agent-list


note: pastikan ada 4 host controller dan 1 host compute dan semuanya terdapat simbol :-)

fyuhhhh... kita lanjut ke part 7 tentang horizon yaa. untuk neutron sudahi dulu sampai disini. jika ada yang salah atau tidak mengerti silakan kontak saya atau komen aja juga tidak apa apa.

next to Horizon~




Nun walqalami wama yasthurun
Wassalamualaikum...

note: untuk gambarnya nyusul yaa

You Might Also Like

1 komentar

  1. Terimakasih mas ilmu nya,
    mau tanya sekalian, setelah saya coba semua step2 nya tapi di bagian neotron agent list tidak ada "linux brige agent"
    dan setelah saya cek ulang tidak ada yang salah dengan konfigurasi saya, mohon bantuannya

    ReplyDelete