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 > 2048Akses 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_versionSatu 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
- Apa Itu Facts dan Mengapa Penting
- Menjelajahi Facts dengan Modul setup
- Menggunakan ansible_facts dalam Tugas
- Menonaktifkan Pengumpulan Fact demi Kecepatan