Semakin sering Anda membuat playbook, pasti kerap bertemu kasus yang mengharuskan Anda repurpose playbook lama ke dalam playbook baru. Cara paling sederhana dan sering dilakukan dengan copy paste dari playbook yang sudah ada ke playbook baru untuk menyusun directory project.
Namun, ketika Anda melakukan copy paste, ada kemungkinan beberapa komponen terlewat dan tidak bisa berjalan dengan benar saat melakukan copy ke directory project ansible lama. Sehingga, playbook tidak sama dengan project ansible yang sedang dikerjakan.
Lalu apa solusi atas masalah tersebut? Lengkapnya simak artikel berikut.
Apa itu Ansible Playbook Roles?
Ansible menyediakan fungsi yang disebut roles. Dengan roles, secara tidak langsung membuat project ansible secara lebih terstruktur dan reuseable. Menggunakan kembali roles yang telah dibuat, bisa semudah membuat copy directory roles dari project lama ke project baru.
Setelah itu, Anda dapat menggunakan roles yang ingin gunakan di playbook. Semakin baik roles yang Anda buat, maka semakin reuseable roles tersebut dapat digunakan.
RHEL System Roles dari Red Hat Ansible
Jika Anda menggunakan operating system RHEL 7.4 atau yang lebih baru, Red Hat menyediakan packages yang disebut rhel-system-roles. Bila packages ini belum di-install secara default, dapat di-install dengan menggunakan perintah:
Tujuan dari system roles adalah melakukan standarisasi konfigurasi RHEL terlepas dari versi yang digunakan. Contoh penggunaan rhel-system-roles adalah untuk melakukan konfigurasi NTP pada environment untuk menjalankan RHEL 6 dan 7.
RHEL 6 menggunakan ntpd service sedangkan RHEL 7 menggunakan chronyd service. Apabila sysadmin ingin membuat playbook untuk melakukan time sync, akan menyulitkan apabila harus membuat playbook yang berbeda untuk satu tujuan yang sama.
Dengan menggunakan rhel-system-roles, Anda cukup menggunakan roles rhel-system-roles. Pada roles ini sudah terdapat fungsi untuk mengatur NTP bagi system yang menjalankan RHEL 6 dan 7. Dokumentasi dari rhel-system-roles yang Anda install dapat ditemukan pada directory: /usr/share/doc/rhel-system-roles/.
Contoh Penggunaan RHEL System Roles
Sebelum Anda menuliskan roles pada playbook, ada baiknya Anda membaca dokumentasi untuk melihat variable apa saja yang dapat Anda customize agar hasil akhir sesuai dengan dinginkan.
README.md rhel-system-roles.timesync. Sumber: redhat.com
Bila Anda sudah memahami cara kerja roles, selanjutnya Anda hanya perlu mengatur variable pada playbook dan menggunakan roles yang akan Anda pakai.
Contoh Playbook. Sumber: redhat.com
Kondisi Target Sebelum Run Playbook. Sumber: redhat.com
Sebelum Anda running playbook, ada baiknya Anda mengecek apakah playbook sudah ditulis dengan benar atau belum dengan melakukan:
Apabila diinginkan, Anda dapat melakukan dry run dengan cara:
Bila sudah yakin, ada dapat mengoperasikan playbook:
Run Playbook. Sumber: redhat.com
Bisa dilihat pada gambar Run Playbook, setelah melakukan running ansible playbook. NTP service pada server target sudah aktif dan syncronized dengan NTP server.
Kondisi Server Target Setelah Run Playbook. Sumber: redhat.com
Dengan menggunakan roles, Anda tidak perlu membuat playbook dari awal, Anda cukup menggunakan roles yang sudah ada. Dengan begitu proses pembuatan playbook bisa lebih cepat, efisien, dan lebih mudah untuk dioperasikan.
Apabila Anda ingin melakukan perubahan, tidak perlu mengubah playbook satu persatu. Anda cukup mengubah roles yang sudah ada. Karena semua playbook akan otomatis mengikuti dari roles yang Anda gunakan.
Kumpulan Roles di Ansible Galaxy
Ansible Galaxy merupakan library berisi kumpulan roles yang dibuat oleh komunitas ansible. Ansible galaxy dapat diakses pada tautan: https://galaxy.ansible.com/.
Halaman Awal Ansible Galaxy. Sumber: redhat.com
Ansible galaxy menyediakan ribuan koleksi roles yang dapat Anda gunakan dan Anda modifikasi sesuai dengan kebutuhan Anda. Pada laman pencarian ansible galaxy tersedia fitur scoring di mana Anda bisa melihat rating dari roles yang tersedia.
Scoring ini sangat membantu untuk menentukan apakah roles tersebut sudah siap dipakai environment production atau belum. Untuk cara penggunaan ansible galaxy dapat dilihat pada ilustrasi gambar diatas.
Baca Juga: Saatnya Ciptakan Infrastruktur Hybrid Cloud yang Optimal dengan Red Hat OpenStack
Dapatkan Red Hat Ansible Playbook di i3
Saatnya gunakan Red Hat Ansible Playbook untuk dapatkan kemudahan transfer roles secara otomatis dan tidak perlu mengubah playbook satu persatu sehingga lebih cepat, efisien, dan lebih mudah untuk dioperasikan.
Dapatkan Red Hat Ansible Playbook dari i3 partner Red Hat Ansible Playbook di Indonesia yang senantiasa memberikan support 24/7 dan membantu perusahaan Anda mulai dari tahap konsultasi, deployment, hingga dukungan after-sales. Tim IT i3 yang profesional dan tersertifikasi akan membantu Anda menghindari trial and error. Cari tahu lebih lanjut mengenai Red Hat Ansible Playbook dengan menghubungi kami melalui info@i-3.co.id.
Penulis: Ary Adianto
Content Writer