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 :
|
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 .....
Tidak ada komentar :
Posting Komentar