Mengenal Ansible : Cara automasi system dan server dalam jaringan

0

Ansible adalah sebuah platform open-source yang digunakan untuk otomatisasi tugas-tugas IT, manajemen konfigurasi, dan penyampaian aplikasi. Dikembangkan oleh Ansible, Inc. (sekarang dimiliki oleh Red Hat), Ansible memberikan cara yang sederhana dan efisien untuk mengotomatisasi berbagai aspek pengelolaan sistem dan infrastruktur.


Konsep Ansible

Berikut beberapa konsep kunci dalam Ansible:

  1. Playbook: Ansible menggunakan konsep "playbook" untuk mendefinisikan serangkaian langkah-langkah yang harus diambil pada satu atau lebih host. Playbook ditulis dalam format YAML (YAML Ain't Markup Language) yang mudah dibaca dan ditulis.

    Contoh sederhana playbook Ansible:

  2. ---------------------------------------------------------------------------------

  3. - name: Contoh Playbook hosts: target_host tasks: - name: Install Apache apt: name: apache2 state: present - name: Start Apache Service service: name: apache2 state: started

  4. ---------------------------------------------------------------------------------
  5. Inventory: Inventory adalah file yang berisi daftar host yang akan dielola oleh Ansible. Ini bisa berupa alamat IP atau nama host. Inventory memungkinkan Anda mengelompokkan host dan memberikan variabel konfigurasi khusus untuk setiap grup host.

    Contoh file inventory:

  6. ----------------------------------------------------------------------------------

  7. [web_servers] server1.example.com server2.example.com [database_servers] db1.example.com

  8. ----------------------------------------------------------------------------------
  9. Modul: Modul adalah unit eksekusi Ansible yang melakukan tugas tertentu pada host yang ditentukan. Modul dapat mencakup tugas seperti instalasi perangkat lunak, pengelolaan pengguna, pengaturan file konfigurasi, dan lainnya. Ansible menyediakan berbagai modul yang dapat digunakan secara bawaan atau pengguna dapat menulis modul kustom mereka sendiri.

    Contoh modul Ansible:

  10. -----------------------------------------------------------------------------------

  11. - name: Ensure Nginx is installed apt: name: nginx state: present

  12. -----------------------------------------------------------------------------------
  13. Roles: Roles adalah cara untuk mengorganisir dan mendekomposisi playbook menjadi bagian yang lebih kecil dan mudah dikelola. Roles memungkinkan pemisahan tugas dan pengelolaan konfigurasi yang lebih modular.

    Struktur dasar roles:

  14. -------------------------------------------------------------------------------------

  15. roles/ ├── common/ │ ├── tasks/ │ │ └── main.yml │ └── handlers/ │ └── main.yml └── webserver/ ├── tasks/ │ └── main.yml └── handlers/ └── main.yml

  16. -------------------------------------------------------------------------------------
  17. Faktor (Facts): Ansible mengumpulkan informasi tentang sistem yang dikelola, seperti spesifikasi perangkat keras, sistem operasi, dan variabel lingkungan lainnya. Informasi ini disebut "fakta" (facts) dan dapat digunakan dalam playbook untuk membuat keputusan berdasarkan kondisi sistem yang sedang dielola.

    Ansible menggunakan SSH untuk berkomunikasi dengan host, tidak memerlukan pemasangan agen di host yang dikelola, dan berusaha untuk membuat otomatisasi infrastruktur menjadi sederhana dan mudah dipahami. Kelebihan ini membuat Ansible menjadi pilihan populer dalam otomatisasi IT dan manajemen konfigurasi.
Step by step penerapan "ansible"

Berikut adalah langkah-langkah umum untuk menerapkan Ansible dalam pengelolaan konfigurasi dan otomatisasi tugas-tugas IT. Penerapan ini melibatkan instalasi Ansible, penyusunan playbook sederhana, dan eksekusi playbook tersebut pada host yang ditargetkan.

Langkah 1: Instalasi Ansible

  1. Instal Ansible pada Mesin Pengendali:

    Ansible dapat diinstal pada mesin pengendali, yang akan digunakan untuk mengelola host lainnya. Install Ansible sesuai dengan sistem operasi yang Anda gunakan. Contoh untuk Ubuntu:

  2. -----------------------------------------------------------------------------------------

  3. sudo apt update sudo apt install ansible

  4. -----------------------------------------------------------------------------------------
  5. Verifikasi Instalasi:

    Pastikan Ansible terinstal dengan menjalankan perintah:

  6. -----------------------------------------------------------------------------------------

    1. ansible --version

    2. ----------------------------------------------------------------------------------------
    3. Langkah 2: Penyiapan File Inventory

      Buat file inventory untuk menyimpan daftar host yang akan dikelola oleh Ansible. File ini dapat berupa file teks biasa atau file YAML. Contoh file inventory:

      1. ---------------------------------------------------------------------------------------

        1. [web_servers] server1.example.com server2.example.com

        2. --------------------------------------------------------------------------------------
        3. Langkah 3: Membuat Playbook Ansible

          Buat playbook Ansible dalam format YAML. Misalkan kita ingin menginstal dan mengonfigurasi Nginx pada host yang ditentukan. Buat file webserver.yml:

          1. -------------------------------------------------------------------------------------

            1. - name: Install and Configure Nginx hosts: web_servers become: true # Menjalankan tugas sebagai superuser (sudo) tasks: - name: Install Nginx apt: name: nginx state: present - name: Start Nginx Service service: name: nginx state: started

            2. -----------------------------------------------------------------------------------
            3. Langkah 4: Menjalankan Playbook Ansible

              Jalankan playbook Ansible menggunakan perintah ansible-playbook:

              1. ------------------------------------------------------------------------------------

                1. ansible-playbook -i inventory webserver.yml

                2. -----------------------------------------------------------------------------------
                3. Perintah di atas akan membaca file inventory dan menjalankan tugas yang didefinisikan dalam playbook webserver.yml pada host yang termasuk dalam grup web_servers.

                  Langkah 5: Verifikasi Hasil

                  Setelah playbook dijalankan, periksa host yang ditargetkan untuk memastikan bahwa Nginx telah diinstal dan diaktifkan. Anda juga dapat memeriksa output playbook untuk mengetahui apakah tugas-tugas telah berhasil dijalankan.

                  Ini adalah langkah-langkah dasar untuk menerapkan Ansible. Untuk proyek yang lebih besar, Anda mungkin ingin membagi playbook menjadi roles, menyusun playbook yang lebih kompleks, dan menangani variabel-variabel dengan lebih rinci. Ansible menyediakan dokumentasi yang kaya dan komunitas yang aktif untuk membantu Anda mengeksplorasi lebih banyak fitur dan konsep yang diberikan oleh platform ini.

            4. Referensi :
            5. https://www.freecodecamp.org/news/what-is-ansible/
            6. https://medium.com/@wintonjkt/ansible-101-getting-started-1daaff872b64
            7. https://www.ansible.com/blog/edge-automation-with-netgitops-on-red-hat-ansible-automation-platform-2
            8. https://docs.ansible.com/ansible/latest/getting_started/index.html



Posting Komentar

0 Komentar
Posting Komentar (0)
To Top