Cara Install dan Manage System Packages di Ansible Playbooks

Cara Install dan Manage System Packages di Ansible Playbooks

Mengaktifkan hasil instalasi dari paket sistem (system packages) yang diperlukan Ansible Playbooks adalah kegiatan operasional yang umum dilakukan, mengingat aplikasi stack sejenis juga memerlukan software dari beberapa sumber berbeda. Agar kamu dapat memaksimalkan berjalannya fungsi Ansible, pelajari cara install dan manage system packages di Ansible Playbooks berikut.

Apa Itu Ansible?

logo ansible

Ansible adalah provisioning tool bersifat open source yang dikembangkan oleh Red Hat. Tool ini menjadi salah satu alat termudah untuk melakukan automation (otomatisasi) pada server.

Keberadaan arsitektur yang tidak memerlukan software khusus untuk diinstal pada server/node membuat Ansible bisa kamu gunakan sebagai alternatif yang bagus untuk otomatisasi server. Selain itu, Ansible juga menggunakan SSH untuk mengeksekusi automation task dan file YAML (Yet Another Markup Language) yang bisa dibaca manusia untuk menentukan provisioning details.

Instalasi task secara otomatis adalah suatu hal yang wajar dalam Ansible Playbooks, karena beberapa stack application memerlukan software dari source yang berbeda. Modul APT mengelola system packages pada OS yang debian-based, seperti Ubuntu. Tutorial Playbooks kali ini akan meng-update apt cache dan memastikan Vim sudah ter-install di Ansible Hosts.

Baca Juga: Rekomendasi 15+ Code Editor Gratis untuk Web Developer

Cara Install dan Manage System Packages di Ansible Playbooks

Ada beberapa hal yang perlu disiapkan untuk meng-install dan manage system packages di Ansible Playbooks, yaitu:

  1. Memiliki 2 VPS yang aktif dengan OS Ubuntu 20.04.
  2. Memiliki akses root.
  3. Satu VPS Ansible Control Node yang sudah ter-install Ansible.

Dua VPS yang perlu disiapkan untuk:

  • Satu Ansible Control Node: Ansible Control Node yang akan digunakan untuk connect dan control ke Ansible Host melalui SSH.
  • Satu Ansible Hosts: Ansible Host nantinya akan dikontrol oleh Ansible Control Node yang sudah dikonfigurasi untuk otomatisasi.

Selanjutnya, berikut ini adalah beberapa langkah utama yang akan kita lakukan untuk menginstal dan mengelola system packages di Ansible Playbooks.

  • Update Server
  • Create User
  • Create Directory
  • Create Inventory
  • Create Playbook File
  • Run Playbook

Simak penjelasan tutorial cara install dan manage system packages Ansible Hosts di bawah ini.

Update Server

Login sebagai root dan update package yang ada pada server agar up-to-date.

$ apt-get update -y
$ apt-get upgrade -y
$ reboot

 

Create User

Kamu memerlukan user untuk meng-install dan manage system packages, gunakan instruksi di bawah ini. Jangan lupa untuk mengubah nama user “raka” sesuai yang ingin kamu gunakan. Jika sudah memiliki akun user, kamu bisa melewati langkah ini.

$ sudo adduser raka
Adding user `raka' ...
Adding new group `raka' (1000) ...
Adding new user `raka' (1000) with group `raka' ...
Creating home directory `/home/raka' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for raka
Enter the new value, or press ENTER for the default
Full Name []: Raka
Room Number []: 
Work Phone []: 
Home Phone []: 
Other []: 
Is the information correct? [Y/n] y

 

Lalu tambahkan user-nya ke Sudo Group.

$ usermod -aG sudo raka

 

Create Directory

Buat direktori ansible-practice.

$ cd ~
$ mkdir ansible-practice

 

Create Inventory

Inventory di sini adalah list dari IP server yang akan dijadikan sebagai Ansible Host atau remote Host.

$ cd ansible-practice
$ nano inventory

103.xxx.xxx.201

 

Simpan dan keluar. Ubah alamat IP di atas dengan IP server yang kamu gunakan.

Create Playbook File

Buat file Playbooks baru bernama playbook-im01.yml untuk keperluan update cache & mengecek apakah Vim sudah ter-install atau belum di dalam direktori ansible-practice.

$ cd ~/ansible-practice/
$ nano playbook-im01.yml

 

Salin dan tempelkan script di bawah ini.

---
- hosts: all
  become: yes
  tasks:
    - name: Update apt cache and make sure Vim is installed
      apt:
        name: vim
        update_cache: yes

 

Simpan lalu keluar. Kemudian buat kembali file Playbooks bernama playbook-im02.yml untuk keperluan update cache dan memastikan Vim, cURL, dan unzip sudah ter-install.

$ nano playbook-im02.yml

 

Kemudian salin dan tempel script di bawah ini.

---
- hosts: all
  become: yes
  tasks:
    - name: Update apt cache and make sure Vim, Curl and Unzip are installed
      apt:
        name: "{{ item }}"
        update_cache: yes
      loop:
        - vim
        - curl
        - unzip

 

Lalu simpan dan keluar.

Baca Juga: Mengenal cURL Command dan Cara Menggunakannya

Run Playbook

Jalankan perintah ansible-playbook untuk mengeksekusi file Playbooks yang sudah dibuat.

$ ansible-playbook -i inventory playbook-im01.yml -u raka -K

 

Output-nya akan keluar seperti di bawah ini.

BECOME password:

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
Enter passphrase for key '/root/.ssh/id_rsa': 
ok: [103.xxx.xxx.201]

TASK [Update apt cache and make sure Vim is installed] *************************
ok: [103.xxx.xxx.201]


PLAY RECAP *********************************************************************103.xxx.xxx.201            : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

 

Jalankan playbook-im02.yml juga.

$ ansible-playbook -i inventory playbook-im02.yml -u raka -K

 

Output-nya akan seperti di bawah ini.

BECOME password: 

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
Enter passphrase for key '/root/.ssh/id_rsa': 
ok: [103.xxx.xxx.201]

TASK [Update apt cache and make sure Vim, Curl and Unzip are installed] ********
ok: [103.xxx.xxx.201] => (item=vim)
ok: [103.xxx.xxx.201] => (item=curl)
ok: [103.xxx.xxx.201] => (item=unzip)

PLAY RECAP *********************************************************************
103.xxx.xxx.201            : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 

 

Output di atas artinya Vim, cURL, dan unzip sudah berhasil ter-install, maka dari itu return-nya adalah “ok”.

Baca Juga: Panduan Setting Firewall Ubuntu Server dengan UFW

Simpulan

Jika diikuti dengan tepat, berarti kamu sudah berhasil menjalankan cara install dan manage system package Ansible Playbooks. Kamu bisa mengubah item di script-nya dengan system packages lain. Ansible bisa kamu manfaatkan untuk menginstal atau mengonfigurasi Control Node agar dapat diterapkan secara otomatis ke Hosts tanpa repot melakukan instalasi dan konfigurasi manual di setiap server.

Jika saat ini kamu belum memiliki server atau ingin menambah server baru, pastikan kamu menggunakan cloud VPS dari Dewaweb agar website-mu aman, cepat, dan selalu bisa diandalkan. Demikian artikel cara install dan manage system packages Ansible Playbooks, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Salam sukses online!