Tutorial Install dan Konfigurasi Openstack : Networking kodename (Neutron)

halo sobat life4code, kembali lagi dengan saya. sekarang ini kita akan belajar mengenai service openstack yaitu Networking kodename (Neutron)

Neutron ini bertanggung jawab atas semua hal tentang “networking” pada OpenStack ini, untuk 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.

Fungsi utama Neutron adalah untuk menyediakan Network connectivity as a service i.e. Neutron merupakan sistem untuk melakukan provisioning jaringan yg melibatkan entitas virtual (VM). Termasuk kedalam fungsi ini, antara lain, mengatur jaringan/subnet, router, load-balacer, gateway, floating IP.

Neutron juga merupakan elemen yg (akan) banyak bersentuhan dengan konsep Software Defined Network (SDN) mantap bukan ? komponen neutron mencakup komponen-komponen berikut:

neutron-server
Menerima dan merute permintaan API untuk ‘OpenStack Networking plug-in’ yang tepat untuk bertindak.

Plugin dan agen OpenStack Networking
Port plug dan unplug, menciptakan jaringan atau subnet, dan menyediakan alamat IP. Plug-in dan agen-agen ini berbeda tergantung pada vendor dan teknologi yang digunakan di cloud tertentu. OpenStack Networking bermuatan dengan plug-in dan agen untuk virtual Cisco dan switch fisik, produk NEC OpenFlow, Open vSwitch, Linux bridging, dan produk VMware NSX.

Agen umum adalah L3 (layer 3), DHCP (dynamic host IP addressing), dan agen plug-in.

Messaging queue (Antrian pesan)

Digunakan oleh sebagian besar instalasi OpenStack Networking untuk merute informasi antara neutron-server dan berbagai agen. Juga bertindak sebagai database untuk menyimpan keberadaan jaringan untuk plug-in tertentu.

OpenStack Networking terutama berinteraksi dengan OpenStack Compute untuk menyediakan jaringan dan konektivitas untuk instancenya.

sekarang kita masuk ke konsep dari neutron itu sendiri, yuk simak!
Networking (neutron) concepts

OpenStack Networking (neutron) mengelola semua aspek jaringan untuk Virtual Networking Infrastructure (VNI) dan aspek lapisan akses dari Physical Networking Infrastructure (PNI) di environtment OpenStack kamu. OpenStack Networking memungkinkan tenants untuk membuat topologi jaringan virtual yang dapat mencakup layanan seperti firewall, load balancer, dan virtual private network (VPN).

neutron menyediakan jaringan, subnet, dan router sebagai abstraksi objek. Setiap abstraksi memiliki fungsi yang meniru wujud fisiknya: jaringan mengandung subnet, dan router me-rute traffic antara berbagai subnet dan jaringan.

neutron setidaknya harus memiliki satu jaringan eksternal. Tidak seperti jaringan lainnya, jaringan eksternal bukan hanya jaringan yang didefinisikan secara virtual. Sebaliknya, itu merupakan  jaringan fisik, eksternal diakses di luar instalasi OpenStack. Alamat IP pada jaringan eksternal dapat diakses oleh siapa saja secara fisik pada jaringan luar.

Selain jaringan eksternal, setiap neutron memiliki satu atau lebih jaringan internal. Jaringan software-defined tersebut terhubung langsung ke VM. Hanya VM pada jaringan internal yang diberikan, atau pada subnet terhubung melalui interface ke router yang sama, dan dapat mengakses VM terhubung ke jaringan tersebut secara langsung.

Setiap router memiliki satu gateway yang terhubung ke jaringan eksternal dan satu atau lebih interface yang terhubung ke jaringan internal. Seperti router fisik, subnet dapat mengakses mesin pada subnet lain yang terhubung ke router yang sama, dan mesin dapat mengakses jaringan luar melalui gateway untuk router.

Selain itu, kamu dapat mengalokasikan alamat IP pada jaringan eksternal untuk port pada jaringan internal. Setiap kali sesuatu terhubung ke subnet, koneksi yang disebut port. kamu dapat mengaitkan alamat jaringan IP eksternal dengan port untuk VM. Dengan cara ini, entitas di jaringan luar dapat mengakses VM.

Neutron juga mendukung security groups. Security groups memungkinkan administrator untuk menentukan aturan firewall dalam kelompok. Sebuah VM dapat menjadi satu atau lebih security group, dan Neutron menerapkan setting dalam security groups untuk memblokir atau membuka blokir port, port range, atau traffic types untuk itu VM.

Setiap plug-in dimana neutron digunakan, beberapa memiliki konsep sendiri. Meskipun tidak terlalu penting untuk operasi lingkungan VNI dan OpenStack, memahami konsep-konsep ini dapat membantu kamu mengatur neutron. Semua instalasi Jaringan menggunakan core plug-in dan security group plug-in (atau hanya No-Op security group plug-in). Selain itu, plug-in Firewall-as-a-Service (FWaaS) dan Load-Balancer-as-a-Service (LBaaS) juga tersedia pada service ini.

nah setelah kita tau konsepnya, semoga konsep tersebut dapat membantu pada saat install dan Konfigurasi  dengan men-konsep, konfigurasi ini dilakukan di Controller node


#LAB 22 Membuat database untuk Networking ( Neutron )
Sebelum kamu mengkonfigurasi layanan OpenStack Networking (neutron), kamu harus membuat database, kredensial layanan, dan endpoints API.

Untuk membuat database, lakukan langkah-langkah berikut:

Gunakan klien akses database untuk terhubung ke server database sebagai root user:
$ mysql -u root -p
Buat database neutron:

CREATE DATABASE neutron;
Memberikan akses untuk database neutron, gantikan NEUTRON_DBPASS dengan password yang sesuai:
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
  IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
  IDENTIFIED BY 'NEUTRON_DBPASS';
Keluarlah dari client untuk mengakses database.

Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:
$ sources admin-openrc
Untuk membuat kredensial layanan, selesaikanlah langkah-langkah ini:

Buat user neutron:

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

Tambahkan peran admin ke user neutron:

$ openstack role add --project service --user neutron admin
Buat entitas layanan neutron:

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

Buat endpoint API ada layanan Networking:

$ 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

Konfigurasikan opsi jaringan

kamu dapat mengerahkan layanan Networking menggunakan salah satu dari dua arsitektur diwakili oleh opsi 1 dan 2.

Opsi 1 menggunakan arsitektur yang paling sederhana yang hanya mendukung ‘attaching instance’ untuk jaringan provider (eksternal). Tidak ada jaringan self-service (private), router, atau floating IP addresses. Hanya admin atau user istimewa lainnya dapat mengelola jaringan provider.

Opsi 2 menambah opsi 1 dengan layanan layer-3 yang mendukung ‘attaching instance’ untuk jaringan self-service. Demo atau user biasa lainnya dapat mengelola jaringan self-service termasuk router yang menyediakan konektivitas antara jaringan self-service dan jaringan provider. Selain itu, floating IP addresses menyediakan konektivitas ke instances menggunakan jaringan self-service dari jaringan eksternal seperti Internet.

Jaringan self-service biasanya menggunakan jaringan overlay. Protokol jaringan overlay seperti VXLAN termasuk header tambahan yang meningkatkan overhead dan menurunkan ruang yang tersedia untuk payload atau pengguna data. Tanpa pengetahuan tentang infrastruktur jaringan virtual, instance mencoba untuk mengirim paket menggunakan Ethernet default maximum transmission unit (MTU) 1500 bytes. Layanan Networking secara otomatis memberikan nilai MTU yang benar untuk instance melalui DHCP. Namun, beberapa cloud images tidak menggunakan DHCP atau mengabaikan opsi DHCP MTU dan memerlukan konfigurasi penggunaan metadata atau script.

Networking Option 1: Provider networks 
Networking Option 2: Self-service networks

Mengkonfigurasi agen metadata

metadata agent memberikan informasi konfigurasi untuk instance.

Edit file /etc/neutron/metadata_agent.ini dan ikuti langkah dibawah ini:
nano /etc/neutron/metada_agent.ini
pada bagian [DEFAULT] , konfigurasi ‘metadata host’ and ‘shared secret’:
[DEFAULT]
...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET

Ganti METADATA_SECRET dengan password yang kamu buat proxy metadata.

Konfigurasi Compute untuk menggunakan Networking

Edit file /etc/nova/nova.conf dan melakukan tindakan berikut:
nano /etc/nova/nova.conf
pada bagian [neutron] , konfigurasi parameter akses, aktifkan proxy metadata, dan secret konfigurasi:
[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET

Ganti NEUTRON_PASS dengan password yang kamu buat untuk user neutron dalam pelayanan Identity.

Ganti METADATA_SECRET dengan password yang kamu buat untuk proxy metadata.

Finalisasi instalasi

Mengisi 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 layanan Compute API:
# service nova-api restart
Restart layanan Networking.

Untuk opsi jaringan ( 1 & 2):
# service neutron-server restart
# service neutron-linuxbridge-agent restart
# service neutron-dhcp-agent restart
# service neutron-metadata-agent restart 
Untuk opsi 2 jaringan, juga restart layanan layer-3:
# service neutron-l3-agent restart




#LAB 25 Install dan Konfigurasi Neutron ( Networking ) pada Compute Node


Compute node menangani dan security groups for instances.

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

Configure the common component
Konfigurasi komponen umum Networking termasuk authentication mechanism, message queue, dan plug-in.

Edit file /etc /neutron/neutron.conf dan ikuti langkah dibawah ini:
nano /etc /neutron/neutron.conf
pada bagian [Database], komentar apapun pilihan connection karena compute node tidak secara langsung mengakses database.

pada bagian [DEFAULT]  dan [oslo_messaging_rabbit], mengkonfigurasi akses antrian pesan RabbitMQ:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

Ganti RABBIT_PASS dengan password yang kamu buat untuk account openstack di RabbitMQ.

pada bagian [DEFAULT]  dan [keystone_authtoken] , konfigur akses layanan Identity:
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS

Ganti NEUTRON_PASS dengan password yang kamu buat untuk user neutron dalam pelayanan Identity.

(Optional) untuk mempermudah troubleshooting, enable verbose logging pada bagian [DEFAULT]:

[DEFAULT]
...
verbose = True

 Catatan

Hilangkan komentar atau bahkan hapus opsi lain dalam bagian [keystone_authtoken].

Konfigurasikan opsi jaringan

Pilih opsi jaringan yang sama yang kamu memilih untuk controller node untuk mengkonfigurasi layanan khusus untuk itu. Setelah itu, kembali ke sini dan melanjutkan ke Configure Compute to use Networking.

Networking Option 1: Provider networks
Networking Option 2: Self-service networks

Configure Compute to use Networking

Edit file /etc/nova/nova.conf dan ikuti langkah dibawah ini:
nano /etc/nova/nova.conf

pada bagian [neutron], mengkonfigurasi parameter akses:
[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


Ganti NEUTRON_PASS dengan password yang kamu buat untuk user neutron dalam pelayanan Identity.

Finalisasi instalasi

Restart Compute service

# service nova-compute restart

Restart Linux bridge agent:

# service neutron-plugin-linuxbridge-agent restart

#LAB 26 Verifikasi Instalasi pada Controller Node 
berikan hak akses admin untuk mendapatkan akses ke command CLI ‘admin-only’:
$ source admin-openrc
Daftar ekstensi yang dimuat untuk memverifikasi kesuksean peluncuran dari proses neutron-server:
$ neutron ext-list

$neutron agent-list

0 Response to "Tutorial Install dan Konfigurasi Openstack : Networking kodename (Neutron)"

Post a Comment