DevOps Bootcamp · Ders

Orkestrasyon için delegate_to ve run_once

Birçok ana bilgisayar adına bir görevi tek ana bilgisayarda çalıştırın.

2. ders / 413 adım

Orkestrasyon için delegate_to ve run_once, CoddyKit'te ücretsiz bir DevOps Bootcamp 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp 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: lb01

Klasik 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: localhost

Değ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: true

run_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: app01

Sonuç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: ver

Devredilen 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. ✅

Başlamak ücretsiz

Yapay zeka eğitmeniyle DevOps Bootcamp öğ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
142
Dersler
568

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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp 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. DevOps Bootcamp 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.

DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?

Evet. Her DevOps Bootcamp 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

  1. cli_command ile Ağ Cihazlarını Otomatikleştirme
  2. Orkestrasyon için delegate_to ve run_once
  3. Web, Uygulama ve DB Katmanlarını Eşgüdümleme
  4. Yük Dengeleyiciden Çıkarma ve Yeniden Etkinleştirme
← DevOps Bootcamp Sayfasına Dön