Pada halaman kali ini kita akan membuat ansible playbook pertama kita. ansible playbook akan diberi tugas untuk menginstall service webserver(apache2, httpd).
Sebelum kita lebih lanjut ke playbook kita akan membagi hosts di inventory ke beberapa group yaitu Debian Based dan Red Hat based. Ini sangat penting karena kedua keluarga distro itu menggunakan paket manager yang berbeda untuk menginstall paket.
Ubah hosts
pada halaman sebelumnya menjadi:
[debian_based]
pod0 ansible_host=pod0-ubuntu.yaslab.my.id
pod1 ansible_host=pod1-debian.yaslab.my.id
[redhat_based]
pod2 ansible_host=pod2-fedora.yaslab.my.id
Sekarang kita sudah siap membuat automasi dengan playbook, Pertama buatlah file install_webserver.yaml
dan isikan:
---
- hosts: debian_based
become: true
tasks:
- name: Update repository. (sudo apt update)
apt:
update_cache: yes
- name : Install apache2 (sudo apt install apache2)
apt:
name: apache2
state: present
- hosts: redhat_based
become: true
tasks:
- name: Update repository dnf.
dnf:
update_cache: yes
- name: Install httpd (sudo dnf intall httpd)
dnf:
name: httpd
state: present
Lalu jalankan perintah dan masukkan sudo password
ansible-playbook -K install_webserver.yaml
Secara default pada fedora service httpd tidak di aktifkan mama kita akan aktifkan melalui ansible playbook.
Tambahkan task pada file ansible di atas. seperti berikut, lalu jalankan ansible-playbook
- name: Enable dan start httpd
systemd:
name: httpd
enabled: yes
state: started
Sekarang kita akan membuat ansible playbook untuk menghapus webserver yang telah kita install.
buatlah file remove_webserver.yaml
dan isikan:
---
- hosts: debian_based
become: true
tasks:
- name : Remove apache2 (sudo apt remove apache2)
apt:
name: apache2
state: absent
- hosts: redhat_based
become: true
tasks:
- name: remove httpd (sudo dnf remove httpd)
dnf:
name: httpd
state: absent
Lalu jalankan perintah
ansible-playbook -K remove_webserver.yaml
https://docs.ansible.com/ansible/2.9/modules/apt_module.html
https://docs.ansible.com/ansible/2.8/modules/dnf_module.html