Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Ansible and Ansible Galaxy ====== ===== Instalasi ===== ==== Dependencies ==== Install Python dan venv: <code bash> sudo apt install python3 python3-venv python3-pip </code> ==== Install Ansible ==== Buat virtual environment dan aktifkan: <code bash> python3 -m venv .venv source .venv/bin/activate </code> Buat file `requirements.txt`: <code text> ansible </code> Install Ansible: <code bash> pip install -r requirements.txt </code> ===== Verifikasi ===== Periksa instalasi Ansible dan Ansible Galaxy: <code bash> ansible --version ansible-galaxy --version </code> ===== Penggunaan Dasar ===== ==== 1. Membuat Inventory ==== Inventory digunakan untuk menentukan server yang dikelola Ansible. Buat file `inventory.ini`: <code ini> [servers] 192.168.1.10 192.168.1.11 </code> Ganti alamat IP sesuai server tujuan. ==== 2. Menguji Koneksi ==== Gunakan modul `ping` untuk menguji koneksi ke server: <code bash> ansible servers -i inventory.ini -m ansible.builtin.ping -u username </code> Ganti `username` dengan akun SSH pada server tujuan. ==== 3. Membuat Playbook ==== Playbook digunakan untuk menjalankan sekumpulan task secara berurutan. Buat file `playbook.yml`: <code yaml> --- - name: Basic Ansible Playbook hosts: servers become: true tasks: - name: Check server uptime ansible.builtin.command: uptime changed_when: false ``` - name: Display message ansible.builtin.debug: msg: "Ansible is working" ``` </code> ==== 4. Menjalankan Playbook ==== Periksa sintaks playbook: <code bash> ansible-playbook -i inventory.ini playbook.yml --syntax-check </code> Jalankan playbook: <code bash> ansible-playbook -i inventory.ini playbook.yml -u username </code> Gunakan `--ask-become-pass` jika diperlukan untuk memasukkan password sudo. ==== 5. Menjalankan Perintah Langsung ==== Ansible juga dapat menjalankan perintah tanpa membuat playbook: <code bash> ansible servers -i inventory.ini -m ansible.builtin.command -a "uptime" -u username </code> ==== Ansible Galaxy Roles ==== Roles digunakan untuk mengelompokkan task agar dapat digunakan kembali. Install role: <code bash> ansible-galaxy role install geerlingguy.docker </code> Buat role sendiri: <code bash> ansible-galaxy role init docker_setup </code> ==== Ansible Galaxy Collections ==== Collections berisi modules, plugins, dan roles. Buat file `requirements.yml`: <code yaml> --- collections: - name: community.general </code> Install collection: <code bash> ansible-galaxy collection install -r requirements.yml </code> ==== Menggunakan Kembali Dependencies ==== Ketika menggunakan proyek di environment baru: <code bash> python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ansible-galaxy role install -r requirements.yml </code> Agar roles dan collections sama-sama terinstal, tambahkan keduanya ke `requirements.yml` jika diperlukan. Contoh `.gitignore`: <code text> .venv/ </code> tools/ansible.txt Last modified: 2026/10/09 23:24by ilyasa