Senin, 09 Juli 2018

Run Ansible Playbook dari Ansible Tower


Run Ansible Playbook dari Ansible Tower

yoo.. balik lagi bersama saya , setelah sekian lama tidak posting dikarenakan UN dan lagi nyari kerja , akhirnya saya bisa posting lagi nih.... tutor kali ini , adalah run ansible playbook dari ansible tower , apasih ansible ? , apasih playbook ? , apasih maksudnya ? apasih ?!!!

oke untuk penjelasannya tunggu postingan selanjutnya ya :3 .. langsung aja kita ke tutorialnya...



bahan bahan yang perlu disiapkan :


-  os ( saya menggunakan os linux centos 7 )

-  ansible-core versi 2.5.5 dan ansible tower versi 3.1.5
-  akun github

minimum requirement untuk menginstall ansible-tower adalah :


-  4 GB RAM

-  20 GB HDD

langkah - langkah :


1. Install Sistem operasi


ya.. itu mah udah pasti , pasti harus install sistem operasinya dulu :3



2. Install epel repository



yang kedua adalah menginstall repositori epel , kenapa sih harus pake repositori epel ? ya karena paket ansible ini gaada di repositori centos-base. Untuk install repositori epel bisa dengan menggunakan perintah :

yum install epel* -y

gambar1(RPAT-SB2-DM)

3. Install ansible-core



Selanjutnya install ansible-core , apa itu ansible core ? dan apa perbedaanya dengan ansible tower ? ansible-core atau biasa disebut ansible ( saja ) dia menggunakan prinsip CLI , jadi semua konfigurasinya dilakukan via command line. Mulai dari membuat playbooknya sampai proses deploynya. Bedanya dengan ansible-tower adalah pada cara penggunaannya dan pada tampilan tentunya.  Untuk menginstallnya gunakan perintah :

yum install ansible -y

gambar2(RPAT-SB2-DM)

4. Install ansible-tower



Setelah itu , download bundle file ansible tower dengan menggunakan command:



wget http://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-x.tar.gz


gambar3(RPAT-SB2-DM)

Sesuaikan versi ansible-towernya dengan yang ingin agan pasang. Disini saya memakai versi 3.1.5



5. Ekstrak file


Selanjutnya , ekstrak file tersebut menggunakan perintah : 



tar -xzvf ansible-tower-setup-x.tar.gz


gambar4(RPAT-SB2-DM)


6. Edit file Inventory


Langkah selanjutnya adalah mengedit file konfigurasi inventory yang digunakan untuk menginstall ansible-towernya nanti , pertama , pindah ke direktori ansiblenya , oh iya direktorinya yaitu hasil ekstrak dari file bundle ansible sebelumnya. Untuk pindah direktori , gunakan perintah



cd ansible-tower-x


gambar5(RPAT-SB2-DM)

Sesuaikan juga dengan versinya. 

Lalu edit file konfigurasi inventory ansible tower , menggunakan perintah :


nano inventory


gambar6(RPAT-SB2-DM)

Edit sesuai dengan kebutuhan agan dan simpan perubahannya.



7. Jalankan ./setup.sh

Kemudian jalankan setup dengan menggunakan perintah ./setup.sh pada direktori ansible tersebut. Lalu prosesnya akan berjalan dengan otomatis , tunggu saja beberapa saat , maka tower akan terinstall.



gambar7(RPAT-SB2-DM)

Gambar diatas adalah ansible-tower yang berhasil diinstall.



8. Akses Tower


Langkah selanjutnya adalah akses ip host / server ansible towernya pada browser kemudian login menggunakan user admin dan password yang sudah di set sebelumnya pada file konfigurasi inventory ansible tower. 



gambar8(RPAT-SB2-DM)



gambar9(RPAT-SB2-DM)


Selanjutnya agan akan diarahkan untuk melengkapi licensenya , license trialnya bisa direquest dari ansible tower agan langsung, dan nanti pihak ansible akan mengirim license filenya ke email agan. setelah mendapat licensenya , maka agan bisa langsung melengkapi licensenya pada halaman ansible tower sebelumnya.




gambar10(RPAT-SB2-DM)


Setelah itu klik submit. maka agan akan langsung diarahkan ke dashboard ansible-towernya.



gambar11(RPAT-SB2-DM)

10. Buat playbook


Setelah selesai menginstall tower , maka langkah selanjutnya adalah membuat playbook yang nanti akan diupload ke github. Ansible Tower ini bisa membaca playbook dari beberapa metode , nah disini saya menggunakan metode github.

Pertama saya buat playbooknya di laptop saya , kemudian saya upload ke akun github , Berikut ini saya membuat playbooknya di direktori /home/dhikabajau/Documents/playbook/roles/konnichiwa-sekai.



gambar12(RPAT-SB2-DM)

Berikut ini adalah isi dari playbook tersebut , yang berfungsi untuk copy file ke remote server.




gambar13(RPAT-SB2-DM)

Lalu saya upload ke akun github :




gambar14(RPAT-SB2-DM)



gambar15(RPAT-SB2-DM)





gambar16(RPAT-SB2-DM)




gambar17(RPAT-SB2-DM)


11. Buat Credentials


Langkah selanjutnya adalah membuat credentials , fungsi dari credential disini adalah untuk password / autentikasi run playbook dan run repository github. Langsung saja untuk membuatnya pergi ke menu Settings->Credentials


gambar17(RPAT-SB2-DM)


Disini kita akan membuat 2 credentials , yang pertama merupakan credentials untunk login github dan yang kedua untuk run playbook.



gambar18(RPAT-SB2-DM)



gambar19(RPAT-SB2-DM)



gambar20(RPAT-SB2-DM)


12. Buat hosts / inventory


Langkah selanjutnya adalah membuat host / inventory yang berisi ip server target yang akan di run playbook oleh ansible tower. Cara membuatnya adalah dengan mengklik menu inventories  lalu pilih inventoriesnya , disini saya memakai inventory dengan nama  Demo Inventory , kemudian klik Add host ,  setelah itu tambahkan hostnya ( ip / dns server targetnya ).


gambar21(RPAT-SB2-DM)

gambar22(RPAT-SB2-DM)

jika sudah selesai menambahkan hostnya , klik save untuk menyimpan.



13. Buat Project


Nah selanjutnya adalah membuat projek baru atau , caranya klik menu Projects , kemudian buat project baru , nah untuk settnya bisa disesuaikan dengan keadaan , pilih SCM Type Git , karena kita akan mengambil source repo dari github , untuk source detail , masukkan URL Repository anda , pilih branchnya master  dan SCM credential pilih yang sebelumnya anda buat untuk credential github.


gambar23(RPAT-SB2-DM)

Setelah selesai dibuat , lalu save, kemudian update projectnya dengan mengklik logo awan 


gambar24(RPAT-SB2-DM)

Prosesnya bisa dilihat di menu Jobs


gambar25(RPAT-SB2-DM)


14. Buat Template


Setelah kita set project , maka secara otomatis tower akan mendapatkan data dari repo github kita , nah data tersebutlah yang akan dijadikan source / sumber untuk membuat template playbook kita nantinya. Nah pada langkah ini , kita akan menyetting template kita agar bisa dijalankan / run dengan baik pada target server. Untuk membuat template baru , caranya dengan mengklik menu template , kemudian buat baru , dan klik template baru tersebut , untuk settingannya bisa disesuaikan dengan kebutuhan.


gambar26(RPAT-SB2-DM)

Catatan : untuk machine credentialsnya , pilih credentials untuk run playbook. Jika sudah klik save untuk menyimpan settnya.



15. Setting Hosts pada Server Ansible


 Langkah selanjutnya adalah setting host pada server ansiblenya , jika tadi kita setting host pada tower , maka sekarang kita setting host pada ansible servernya ( ansible core ) , caranya dengan menggunakan perintah sebagai berikut :


nano /etc/ansible/host

setelah itu tambahkan ip / dns hostnya ,  kemudian gunakan user root.



gambar27(RPAT-SB2-DM)


16. Setting login ssh tanpa password


Langkah selanjutnya adalah menyetting login ssh tanpa menggunakan password , langkah ini digunakan untuk meremote koneksi target server tanpa adanya autentikasi password ssh. Untuk membuatnya kita harus menggunakan private key , nah untuk membuat private key , gunakan perintah :

ssh-keygen -t rsa


gambar28(RPAT-SB2-DM)


Kemudian kita akan copy file tersebut ke target server , caranya gunakan perintah :


ssh-copy-id root@ip-server-target


gambar29(RPAT-SB2-DM)


Kemudian lakukan test ping ansible untuk mengecek konektivitas server ansible dengan target server. Jika sudah sukses , maka kita bisa melanjutkan ke langkah selanjutnya.



gambar30(RPAT-SB2-DM)



17. Running Template


Setelah semua proses diatas , langkah selanjutnya adalah running template yang sudah agan buat tadi , caranya adalah dengan mengklik ikon roket pada template agan.


gambar31(RPAT-SB2-DM)

Maka akan muncul tampilan seperti ini yang menandakan proses run sedang berlangsung ,


gambar32(RPAT-SB2-DM)


Nah tampilan diatas adalah tampilan jika kita sudah sukses menjalankan playbooknya , untuk mengeceknya langsung saja kita lihat di server target , ( verifikasinya adalah file konnichiwa-sekai berhasil tercopy pada server target )


gambar33(RPAT-SB2-DM)


Yap , filenya sudah ada di server target , tandanya proses tadi sudah selesai....
Untuk sekarang itu saja dulu , nantikan postingan selanjutnya ya :v sayounara .....
Dhika Mahendra Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

Tidak ada komentar :

Posting Komentar