delegate_to & run_once untuk Orkestrasi
Jalankan tugas di satu host untuk banyak host.
delegate_to & run_once untuk Orkestrasi adalah pelajaran Ansible Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Tugas Tidak Selalu Berjalan di Tempat yang Anda Kira
Secara default, setiap tugas berjalan di mesin targetnya. Untuk orkestrasi, terkadang Anda perlu menjalankan tugas sepenuhnya di tempat lain. 🎯
Kenali delegate_to
Kata kunci delegate_to menjalankan tugas di mesin yang berbeda dari mesin saat ini, sambil tetap menggunakan variabel mesin tersebut.
- name: Add web node to load balancer
community.general.haproxy:
host: "{{ inventory_hostname }}"
state: enabled
delegate_to: lb01Kasus Penggunaan Klasik
Saat melakukan loop pada node web, delegasikan perubahan penyeimbang beban ke mesin LB. Play tetap berjalan per node, tetapi aksinya diterapkan pada LB.
Delegasikan ke localhost
Jalankan tugas pada node kontrol dengan mendelegasikannya ke localhost. Cara ini cocok untuk memanggil API atau mengirim notifikasi dari satu tempat.
- name: Notify chat
ansible.builtin.uri:
url: "{{ webhook }}"
method: POST
delegate_to: localhostVariabel Tetap Bersama Mesin Asal
Delegasi memindahkan tempat tugas dijalankan, bukan fakta yang dilihatnya. inventory_hostname tetap menamai target asli, bukan mesin yang menerima delegasi.
Kenali run_once
Kata kunci run_once menjalankan tugas satu kali untuk seluruh kelompok, bukan satu kali per mesin. Ansible memilih mesin pertama untuk mengeksekusinya.
- name: Run database migration
ansible.builtin.command: ./migrate.sh
run_once: trueMengapa run_once Penting
Beberapa aksi harus dilakukan hanya satu kali, seperti migrasi atau pemilihan pemimpin. run_once mencegah setiap mesin mengulangi langkah bersama yang sama.
Gunakan Keduanya Bersama
Gabungkan run_once dengan delegate_to untuk melakukan satu aksi pada satu mesin yang dipilih, seperti menjalankan migrasi dari satu node aplikasi.
- name: Migrate db once
ansible.builtin.command: ./migrate.sh
run_once: true
delegate_to: app01Hasilnya Dibagikan
Dengan run_once, hasil yang terdaftar dibagikan ke semua mesin dalam kelompok. Semuanya melihat keluaran dari satu eksekusi tersebut.
- ansible.builtin.command: cat /etc/version
run_once: true
register: verKumpulkan Fakta dari Mesin Delegasi
Gunakan delegate_facts jika ingin fakta yang dikumpulkan dikaitkan dengan mesin delegasi, bukan mesin saat ini. Secara default, opsi ini tidak aktif.
Orkestrasi, Bukan Sekadar Konfigurasi
Bersama-sama, kata kunci ini mengubah konfigurasi per mesin menjadi orkestrasi yang sebenarnya: mengoordinasikan satu aksi di seluruh kumpulan mesin dari satu titik.
Pemeriksaan Singkat
Mari kita periksa kata kunci orkestrasi ini.
Rangkuman
Gunakan delegate_to untuk menjalankan tugas pada mesin lain dan run_once untuk menjalankannya satu kali per kelompok, yang merupakan inti orkestrasi. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “delegate_to & run_once untuk Orkestrasi” gratis?
Ya — teks lengkap “delegate_to & run_once untuk Orkestrasi” 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 “delegate_to & run_once untuk Orkestrasi”?
Jalankan tugas di satu host untuk banyak host. 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 2 dari 4.
Berapa lama pelajaran “delegate_to & run_once untuk Orkestrasi” 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
- Mengotomatiskan Perangkat Jaringan dengan cli_command
- delegate_to & run_once untuk Orkestrasi
- Mengoordinasikan Tingkatan Web, Aplikasi & DB
- Mengosongkan & Mengaktifkan Kembali Load Balancer