Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Tutorial Ansible: Menambahkan Variabel Ekstra dan Hosts

Posted on July 5, 2024

Ansible dikenal sebagai tool automation powerful untuk infrastruktur IT. Salah satu fiturnya yang berguna adalah manajemen inventory. Inventory berisi daftar host yang akan dikonfigurasi oleh Ansible playbook. Namun, bagaimana jika daftar host tersebut bersifat dinamis dan tidak bisa ditentukan secara manual di awal? Tenang, Ansible menawarkan solusi! Artikel ini akan membahas dua metode ampuh untuk mengelola inventory dinamis di Ansible.

Metode 1: Memanfaatkan Variabel Ekstra dan hostvars

Metode pertama ini menggunakan kombinasi variabel ekstra dan fitur hostvars untuk mengakses informasi host secara dinamis.

Langkah 1: Siapkan Inventory File

Buat sebuah inventory file sederhana (misalnya: hosts) dengan grup bernama all. Grup ini akan menampung host-host yang ingin Anda target secara dinamis.

[all]

Langkah 2: Rancang Playbook

Selanjutnya, buat playbook Anda (misalnya: playbook.yml) dengan task yang memanfaatkan variabel ekstra dan hostvars.

YAML

---
- hosts: all
  tasks:
    - name: Task menggunakan hostvars
      debug:
        msg: "Hostname: {{ hostvars[inventory_hostname].name }}"

Penjelasan Playbook:

  • hosts: all: Baris ini menentukan target playbook, yaitu grup all yang didefinisikan di inventory file.
  • tasks: Blok ini berisi task-task yang akan dijalankan pada host-host target.
  • name: Task menggunakan hostvars: Baris ini memberi nama pada task untuk memudahkan identifikasi.
  • debug: Modul ini digunakan untuk menampilkan informasi pada saat playbook dijalankan.
    • msg: Opsi ini menentukan pesan yang akan ditampilkan. Perhatikan penggunaan {{ hostvars[inventory_hostname].name }}.
      • hostvars: Fitur ini memungkinkan Anda mengakses variabel spesifik untuk setiap host.
      • inventory_hostname: Variabel ekstra yang akan kita tentukan nanti.
      • .name: Operator titik digunakan untuk mengakses atribut spesifik dari variabel host, dalam hal ini nama host.

Langkah 3: Tentukan Variabel Ekstra

Variabel ekstra inventory_hostname belum didefinisikan. Anda bisa menetapkannya dengan beberapa cara, misalnya:

  • Melalui Command Line:
ansible-playbook playbook.yml -e inventory_hostname=server1,server2

Di sini, inventory_hostname diset menjadi string berisi nama host yang dipisahkan koma. Ansible akan secara otomatis membaginya menjadi list dan menggunakannya untuk menjalankan playbook pada masing-masing host.

  • Melalui Group Vars:

Buat file bernama group_vars/all dan tambahkan baris berikut:

YAML

inventory_hostname: ["server1", "server2"]

Metode 2: Menggunakan Inventory Plugin

Metode kedua melibatkan penggunaan inventory plugin khusus untuk Ansible. Plugin ini bertugas secara mandiri untuk mengambil dan menyediakan daftar host dinamis.

Langkah 1: Instal Inventory Plugin

Beberapa inventory plugin populer yang bisa digunakan antara lain:

  • community.kubernetes.yaml: untuk mengelola host Kubernetes.
  • cloud.aws.ec2: untuk mengelola host Amazon EC2.
  • community.azure.azure_rm: untuk mengelola host Microsoft Azure.

Cara instalasi plugin bervariasi tergantung pada plugin yang dipilih. Umumnya, Anda bisa menggunakan package manager sistem operasi Anda.

Langkah 2: Konfigurasi Inventory File

Sesuaikan inventory file Anda untuk merujuk ke plugin yang digunakan. Konsultasikan dokumentasi plugin terkait untuk mengetahui format konfigurasi yang tepat.

Langkah 3: Jalankan Playbook

Jalankan playbook Anda seperti biasa tanpa perlu menentukan host secara eksplisit. Plugin yang terinstal akan mengambil daftar host dinamis dan menyediakannya ke Ansible.

Tips Keamanan

  • Gunakan metode ini dengan hati-hati, terutama saat menjalankan task yang berpotensi mengubah konfigurasi host.
  • Pastikan Anda memiliki kontrol dan akses terhadap host-host yang terdaftar secara dinamis.

Kesimpulan

Dengan memanfaatkan variabel ekstra dan hostvars atau menggunakan inventory plugin, Anda dapat mengelola inventory secara dinamis di Ansible. Metode ini memudahkan Anda dalam mengotomatisasi pengelolaan infrastruktur yang skalabel dan fleksibel.

Pelajari Lebih Lanjut

  • Dokumentasi Ansible: https://docs.ansible.com/
  • Koleksi Plugin Ansible: https://galaxy.ansible.com/

Yuk, maksimalkan otomatisasi infrastruktur Anda dengan Ansible!

Terbaru

  • Apa itu Badan Otorita Pengelola Pantai Utara Jawa (BOP Pantura)?
  • Contoh Makalah K3: Apa itu Sertifikasi K3?
  • Cara Cek Bansos September 2025
  • Ini Jadwal Kereta Bandara Adi Soemarmo Agustus 2025
  • Apa itu Jabatan Fungsional Penggerak Swadaya Masyarakat Ahli Pertama?
  • Cagongjok: Budaya Memalukan Korea, Ketika Kafe Jadi Kantor dan Ruang Belajar
  • Pengertian Anomali Brainrot
  • Penemuan DNA Denisovan Manusia Purba Amerika
  • SpaceX Akan Luncurkan Pesawat Rahasia X-37B Space Force Amerika
  • Biawak: Antara Hama dan Penjaga Ekosistem
  • Ini Profil Komjend Dedi Prasetyo Wakapolri Baru
  • Fraksi PKB DPRD Pati Tetap Selidiki Dugaan Pelanggaran Kasus RSUD Pati
  • Fraksi PKB Kritik Penggunaan Anggaran Prabowo, Fokus pada Fasilitas Publik
  • Inilah Syarat Nilai Minimal Raport Pendaftar SNBP 2026
  • Kemendikdasmen Sangkal Isu PPG Guru Tertentu Tidak Ada Lagi
  • Ini Struktur Kurikulum Kelas 5 SD/MI Sederajat Menurut Permendikdasmen No 13 Tahun 2025
  • Ini Struktur Kurikulum Kelas 3 dan 4 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Inilah Struktur Kurikulum Kelas 3 dan 4 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Ilmuwan Colorado University Bikin Particle Collider Mini, Bisa Atasi Kanker
  • Inilah Susunan Upacara Hari Kemerdekaan RI 17 Agustus di Istana Negara
  • FAKTA: Soeharto Masih Komandan PETA Saat Proklamasi Kemerdekaan RI 17 Agustus 1945
  • Materi Tes CPNS 2025: Fungsi dan Wewenang DPR/DPD
  • Cara Menjadi Siswa Eligible Daftar SNBP 2026 Terbaru!
  • Pendaftaran PPG Guru Tertentu 2025 Diperpanjang, Ini Syarat dan Caranya!
  • Struktur Kurikulum Kelas 2 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Ini Struktur Kurikulum Kelas 1 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Ini Struktur Kurikulum PAUD & TK Sederajat Menurut Permendikdasmen No 13 Tahun 2025
  • Butuh Beasiswa? Ini Beasiswa Alternatif KIP Kuliah Tahun 2025 untuk Jenjang S1
  • Butuh Bantuan SPP? Ini 5 Beasiswa SMA/SMK 2025 Yang Bisa Kamu Coba
  • Apa itu Beasiswa Mutual+ 2025, Syarat, Ketentuan dan Cara Daftarnya
  • Apa itu Badan Otorita Pengelola Pantai Utara Jawa (BOP Pantura)?
  • Contoh Makalah K3: Apa itu Sertifikasi K3?
  • Cara Cek Bansos September 2025

©2025 emka.web.id | Design: Newspaperly WordPress Theme