0Pricing
Ansible Academy · Pelajaran

Menggunakan ansible_facts dalam Tugas

Buat percabangan berdasarkan fact OS, memori, dan IP.

Menggunakan ansible_facts dalam Tugas adalah pelajaran Ansible Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ansible Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ansible Academy mencakup 4 pelajaran total.

Dari Data Menjadi Keputusan

Fakta yang dikumpulkan hanya berguna jika Anda menindaklanjutinya. Sekarang Anda akan mengambil nilai dari ansible_facts langsung ke dalam tugas. 🌟

Rujuk Sebuah Fakta

Gunakan sintaks {{ }} yang sama seperti untuk variabel apa pun. Di dalam kurung kurawal, tuliskan nama fakta yang Anda inginkan, seperti distribution milik host.

- debug:
    msg: "OS is {{ ansible_distribution }}"

Akses Kamus Juga

Anda juga dapat membaca fakta melalui kamus ansible_facts dengan kunci dalam tanda kurung siku. Kedua gaya tersebut menunjuk ke data yang sama.

{{ ansible_facts['distribution'] }}

Buat Percabangan berdasarkan OS

Gabungkan fakta dengan when untuk menjalankan tugas hanya pada host yang sesuai, misalnya memasang paket hanya pada sistem Debian.

when: ansible_os_family == "Debian"

Pilih Paket yang Tepat

Fakta memungkinkan satu tugas melayani banyak distribusi. Pilih apache2 atau httpd berdasarkan keluarga OS, bukan menulis dua playbook.

name: "{{ 'apache2' if ansible_os_family == 'Debian' else 'httpd' }}"

Gunakan Fakta Numerik

Fakta seperti ansible_memtotal_mb berupa angka, sehingga Anda dapat membandingkannya dan melewati pekerjaan pada host yang terlalu kecil.

when: ansible_memtotal_mb > 2048

Akses Nilai Bertingkat

Untuk fakta bertingkat, rangkai kuncinya dengan titik. Alamat IPv4 default berada di bawah ansible_default_ipv4, lalu di bawah address.

{{ ansible_default_ipv4.address }}

Fakta dalam Templat

Nama fakta yang sama dapat digunakan di dalam templat Jinja2. Masukkan hostname atau IP host langsung ke dalam berkas konfigurasi yang dibuat.

server_name {{ ansible_hostname }};

Ulangi Fakta Berupa Daftar

Beberapa fakta berupa daftar, seperti ansible_interfaces. Anda dapat mengulanginya untuk bertindak pada setiap antarmuka jaringan yang dimiliki host.

loop: "{{ ansible_interfaces }}"

Pastikan Sebelum Mempercayai

Tidak yakin dengan nilai persis suatu fakta? Tampilkan terlebih dahulu dengan debug, lalu bangun logika yang bergantung padanya.

- debug:
    var: ansible_distribution_version

Satu Playbook, Banyak Host

Karena fakta berlaku untuk setiap host, tugas yang digerakkan oleh fakta membuat satu playbook berperilaku dengan benar di seluruh kumpulan mesin yang beragam.

Pemeriksaan Singkat

Bagaimana cara menjalankan tugas hanya pada host dari keluarga Debian?

Ringkasan

Anda membaca fakta dengan {{ }}, membuat percabangan menggunakan when, mengakses nilai bertingkat, dan mengulang fakta berupa daftar agar tugas menjadi adaptif. ✨

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menggunakan ansible_facts dalam Tugas” gratis?

Ya — teks lengkap “Menggunakan ansible_facts dalam Tugas” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ansible Academy, upgrade ke CoddyKit PRO. Kursus Ansible Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menggunakan ansible_facts dalam Tugas”?

Buat percabangan berdasarkan fact OS, memori, dan IP. Kamu berlatih Ansible Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Ansible Academy?

Tidak diperlukan pengalaman sebelumnya. Ansible Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menggunakan ansible_facts dalam Tugas” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Ansible Academy ini?

Ya. Setiap pelajaran Ansible Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Facts dan Mengapa Penting
  2. Menjelajahi Facts dengan Modul setup
  3. Menggunakan ansible_facts dalam Tugas
  4. Menonaktifkan Pengumpulan Fact demi Kecepatan
← Kembali ke Ansible Academy