1. Saya telah sebut Ansible beberapa bulan lepas. Satu lagi yang menarik ialah ansible-playbok. Pendek cerita, kalau hendak jalankan beberapa arahan keatas sekumpulan hos komputer (atau inventory dalam bahasa ansible), pakai ansible-playbook

  2. Contohnya disini, saya hendak kemaskini semua komputer dan reboot selepas itu. Biasanya ada beberap langkah: a. ssh ke hos komputer b. sudo apt-get update c. sudo apt-get upgrade d. reboot

    Itu hanya untuk satu host. Jadi darab jumlah host yang ada.

  3. Mulakan dengan siapkan fail playbook. Kita namakan fail ini playbook_update.yaml . Sambungan yaml menunjukkan format yaml digunakan untuk fail konfigurasi ini.

- hosts: all
  become: true
  tasks: 
    - name: Update apt 
      apt: update_cache=yes force_apt_get=yes cache_valid_time=3600 

    - name: Upgrade all packages
      apt: upgrade=dist force_apt_get=yes 

    - name: Check if reboot is needed 
      register: reboot_required_file 
      stat: path=/var/run/reboot-required get_md5=no

    - name: Reboot the box if kernel updated 
      reboot: 
        msg: "reboot initiated by ansible" 
        connect_timeout: 5
        reboot_timeout: 300 
        pre_reboot_delay: 0 
        post_reboot_delay: 30 
        test_command: uptime 
      when: reboot_required_file.stat.exists   

  1. Jalankan ansible-playbook:

ansible-playbook -i inventory playbook_update.yaml -f 10  -K 

Parameter -K disini adalah untuk masukkan password sudo & dan inventory adalah nama fail yang mengandungi maklumat tentang hos (alamat IP atau nama host serta nombor port yang digunakan)

  1. Setelah ansible-playbook dijalankan, boleh lihat status arahan seperti yang dipaparkan. Jika lihat di bawah, ada satu hos yang tidak boleh dicapai dan satu lagi yang ada masalah.
Status

Status

Rujukan:

a. Belajar Ansible dengan Jeff Geerling di Youtbe https://www.youtube.com/watch?v=goclfp6a2IQ b. Laman Web Rasmi Ansible: https://www.ansible.com c. Buku Ansible for DevOps oleh Jeff Geerling

Selamat Mencuba!