perancangan dan implementasi playbook pada ansible
Arsitektur Perangkat Keras
Desain perangkat keras micro server dapat dilihat pada bagan, micro server dapat diakses dari luar jaringan. Agar micro server dapat diakses dari luar maka dibutukan bantuan router yang terhubung ke ISP dan mempunyai alamat IP statik yang unik. Koneksi dari user dapat menggunakan ansible playbook, dengan menggunakan koneksi SSH. Kelebihan dari ansible adalah penggunaan SSH untuk melakukan perintah terhadap sistem, dimana semua sistem operasi mendukung layanan SSH. Kelebihan dari SSH adalah selain ringan karena menggunakan mode text, dengan menggunakan SSH maka pesan yang dikirim akan di enkripsi. Enkripsi penting karena pesan yang dikirim dari pengguna akan melalui jaringan internet, sehingga siapapun dapat melihat pesan tersebut.
Pada sisi cluster, akan digunakan 4 buah Raspberry Pi 3B+ yang terhubung kepada 1 switch yang sama. Karena ansible adalah agentless maka tidak dibutuhkan server khusus yang mengatur kinerja dari semua node yang ada. Dengan hal itu maka penggunaan ansible menjadi sebuah keunggulan, dengan menggunakan 4 node maka ke empat node dapat digunakan untuk kluster.
Pengalamatan masing masing node menggunakan tabel dibawah, alamat IP dari masing masing host harus unik untuk mencegah alamat IP yang ganda.
Host | Interface | IP Address |
Router | eth0 | 192.168.0.1/24 |
Node 1 | eth0 | 192.168.0.2/24 |
Node 2 | eth0 | 192.168.0.3/24 |
Node 3 | eth0 | 192.168.0.4/24 |
Node 4 | eth0 | 192.168.0.5/24 |
Tabel 2. Pengalamatan perangkat keras
Arsitektur perangkat lunak
Raspberry Pi 3B+ adalah SBC dengan arsitektur ARM, dilengkapi dengan prosesor Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz. Karena menggunakan arsitektur ARM, maka tidak semua distro linux dapat berjalan pada raspberry pi. Dengan alasan tersebut maka dalam penelitian ini menggunakan rasbian, dimana rasbian sebagai distro resmi yang dioptimasi untuk raspberry pi.
Arsitektur pada ansible adalah agentless dimana tidak menggunakan sebuah server sebagai unit pengelola masing masing node. Untuk mengatur semua node yang terhubung maka digunakan Ansible Playbook, pengguna dapat mengakses Playbook menggunakan koneksi SSH, baik koneksi intranet maupun koneksi internet. Playbook tersusun menggunakan bahasa YAML (YAML Ain’t Markup Language), YAML adalah sebuah standar untuk serialisasi data, di dalam konteks Ansible maka data yang dimaksud adalah konfigurasi.
Playbook pada ansible dapat mengatur beberapa bagian, antara lain:
- Module
Ansible menggunakan 1 modul yang sama untuk beberapa node yang ada di bawah ansible, dengan hal ini maka mempermudah pengaturan menghindarkan duplikasi modul yang sama. Ada beberapa servis yang juga termasuk ke dalam modul, diantaranya : FTP dan Mail Exchange. Servis – servis tersebut akan digunakan untuk pembuatan micro server pada penelitian ini.
- Plugin
Plugin digunakan untuk menambah fitur yang telah ada di dalam core ansible, dengan adanya plugin pengguna dengan mudah dapat menambahkan fitur dan extension selain yang telah ada di dalam core.
- API
Ansible menyediakan beberapa API (Application Programming Interface) secara otomatis, untuk memudahkan pengguna jika ingin menggunakan fitur API.
- Inventory
Ansible secara otomatis akan mengelola semua konfigurasi node di dalam file (INI, YAML) sesuai dengan grup yang telah ditentukan. Apabila ada penambahan node maka node yang baru tidak perlu melakukan registrasi SSL ke dalam server. Dengan adanya pengaturan yang fleksibel maka pengguna dapat meminimalisir isu NTP maupun DNS yang bermasalah.
Comments :