Orkestrasyon için delegate_to ve run_once
Birçok ana bilgisayar adına bir görevi tek ana bilgisayarda çalıştırın.
Orkestrasyon için delegate_to ve run_once, CoddyKit'te ücretsiz bir Ansible Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ansible Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ansible Academy kursu toplamda 4 dersten oluşur.
Görevler Her Zaman Düşündüğünüz Yerde Çalışmaz
Varsayılan olarak her görev, hedef ana makinesinde çalışır. Orkestrasyon için bazen bir görevi tamamen başka bir yerde çalıştırmanız gerekir. 🎯
delegate_to ile Tanışın
delegate_to anahtar sözcüğü, bir görevi mevcut ana makineden farklı bir ana makinede çalıştırırken yine o ana makinenin değişkenlerini kullanır.
- name: Add web node to load balancer
community.general.haproxy:
host: "{{ inventory_hostname }}"
state: enabled
delegate_to: lb01Klasik Bir Kullanım Durumu
Web düğümleri üzerinde döngü oluştururken, yük dengeleyici değişikliğini LB ana makinesine devredin. Play düğüm başına çalışmaya devam eder, ancak işlem LB üzerinde gerçekleşir.
localhost'a Devredin
Bir görevi localhost'a devrederek denetim düğümünüzde çalıştırın. Bir API çağırmak veya tek bir yerden bildirim göndermek için idealdir.
- name: Notify chat
ansible.builtin.uri:
url: "{{ webhook }}"
method: POST
delegate_to: localhostDeğişkenler Özgün Ana Makinede Kalır
Devir, görevin nerede çalışacağını değiştirir; gördüğü bilgilerin hangi ana makineye ait olduğunu değil. inventory_hostname hâlâ devredilen ana makineyi değil, özgün hedefi belirtir.
run_once ile Tanışın
run_once anahtar sözcüğü, bir görevi her ana makine için bir kez değil, tüm toplu çalışma için yalnızca bir kez çalıştırır. Ansible, görevi çalıştırmak için ilk ana makineyi seçer.
- name: Run database migration
ansible.builtin.command: ./migrate.sh
run_once: truerun_once Neden Önemlidir
Bir geçiş veya lider seçimi gibi bazı işlemler yalnızca bir kez gerçekleşmelidir. run_once, her ana makinenin aynı ortak adımı tekrarlamasını engeller.
İkisini Birlikte Kullanın
Tek bir uygulama düğümünden geçiş çalıştırmak gibi, bir işlemi seçilen tek bir ana makinede gerçekleştirmek için run_once ile delegate_to'yu birleştirin.
- name: Migrate db once
ansible.builtin.command: ./migrate.sh
run_once: true
delegate_to: app01Sonuçlar Paylaşılır
run_once kullanıldığında, kayıtlı bir sonuç toplu çalışmadaki tüm ana makineler arasında paylaşılır. Hepsi bu tek çalıştırmanın çıktısını görür.
- ansible.builtin.command: cat /etc/version
run_once: true
register: verDevredilen Ana Makineden Bilgi Toplayın
Toplanan bilgilerin mevcut ana makineye değil, devredilen ana makineye bağlanmasını istiyorsanız delegate_facts kullanın. Varsayılan olarak kapalıdır.
Yalnızca Yapılandırma Değil, Orkestrasyon
Bu anahtar sözcükler birlikte kullanıldığında, ana makine başına yapılandırmayı gerçek bir orkestrasyona dönüştürür: bir filodaki tek bir işlemi merkezi bir noktadan koordine eder.
Hızlı Kontrol
Bu orkestrasyon anahtar sözcüklerini kontrol edelim.
Özet
Bir görevi başka bir ana makinede çalıştırmak için delegate_to, toplu çalışma başına yalnızca bir kez çalıştırmak için de run_once kullanın; bunlar orkestrasyonun temelini oluşturur. ✅
Yapay zeka eğitmeniyle YAML öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Orkestrasyon için delegate_to ve run_once” dersi ücretsiz mi?
Evet — “Orkestrasyon için delegate_to ve run_once” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ansible Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ansible Academy kursu toplamda 4 dersten oluşur.
“Orkestrasyon için delegate_to ve run_once” dersinde ne öğreneceğim?
Birçok ana bilgisayar adına bir görevi tek ana bilgisayarda çalıştırın. Ansible Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ansible Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ansible Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Orkestrasyon için delegate_to ve run_once” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ansible Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ansible Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- cli_command ile Ağ Cihazlarını Otomatikleştirme
- Orkestrasyon için delegate_to ve run_once
- Web, Uygulama ve DB Katmanlarını Eşgüdümleme
- Yük Dengeleyiciden Çıkarma ve Yeniden Etkinleştirme