Yük Dengeleyici Arkasında Kademeli Dağıtım
Sıralı dağıtımla kesinti olmadan yayın yapın.
Yük Dengeleyici Arkasında Kademeli Dağıtım, CoddyKit'te ücretsiz bir Ansible Academy dersidir. Bu, 4 dersinin 3. 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.
Sıfır Kesinti Verdiğiniz Sözdür
Tek bir isteği bile düşürmeden tüm web düğümlerini güncelleyin. İşin püf noktası, birkaç ana makineyi aynı anda değiştiren ardışık dağıtımdır. 🔄
serial Toplu Çalışmayı Denetler
Ansible'ın ana makineleri aynı anda değil, küçük dalgalar hâlinde işlemesi için play'inize serial ekleyin.
- hosts: web
serial: 1
tasks:
- import_role:
name: webappYüzdeler de Kullanılabilir
serial bir yüzdeyi veya boyut listesini kabul eder; böylece önce bir canary, ardından daha büyük toplu çalışmalarla kademeli ilerleyebilirsiniz.
serial:
- 1
- 25%
- 50%Dokunmadan Önce Trafiği Boşaltın
Bir düğümü güncellemeden önce onu döngüden çıkarın. Yük dengeleyiciye düğüme trafik göndermeyi bırakmasını söylemek için delegate_to kullanın.
- name: Drain node
community.general.haproxy:
state: disabled
host: "{{ inventory_hostname }}"
delegate_to: lb1LB'ye Neden delegate_to Kullanılır
Web ana makinesi kendisini dengeleyicide devre dışı bırakamaz; bunu yük dengeleyici yapmalıdır. delegate_to, her web ana makinesi için bu görevi lb1 üzerinde çalıştırır.
Yeni Sürümü Dağıtın
Düğümün trafiği boşaltıldığında kodu dağıtın, yapılandırmayı oluşturun ve bir handler yalnızca o ana makineye ait uygulama hizmetini yeniden yüklesin.
- name: Pull release
ansible.builtin.git:
repo: "{{ app_repo }}"
version: "{{ app_version }}"
dest: /srv/app
notify: Reload appYeniden Etkinleştirmeden Önce Sağlık Denetimi
Kullanıcıları geri göndermeden önce uri ile düğümün sağlıklı olduğunu doğrulayın. Bozuk bir ana makineyi havuza asla yeniden eklemeyin.
- name: Wait for health
ansible.builtin.uri:
url: http://localhost:8080/health
status_code: 200
retries: 5
delay: 3Dengeleyicide Yeniden Etkinleştirin
Düğüm sağlıklı olduğunda, yine yük dengeleyiciye delegate_to aracılığıyla devrederek onu döngüye geri alın. Trafik yeni sürüme yönelir.
- name: Enable node
community.general.haproxy:
state: enabled
host: "{{ inventory_hostname }}"
delegate_to: lb1max_fail_percentage Sizi Korur
Çok fazla ana makine başarısız olursa dağıtımın durması ve hatalı bir sürümün daha fazla yayılmasının engellenmesi için max_fail_percentage ayarını yapın.
- hosts: web
serial: 1
max_fail_percentage: 20Paylaşılan Adımlar İçin run_once
Tek seferlik bir veritabanı geçişi gibi bazı adımlar yalnızca bir kez çalışmalıdır. Bunları yalnızca bir ana makinenin yürütmesi için run_once kullanın.
- name: Migrate db
ansible.builtin.command: /srv/app/migrate
run_once: trueTüm Döngü
Her ana makine için: trafiği boşaltın, dağıtın, sağlık denetimi yapın ve yeniden etkinleştirin. serial, tüm filo güncellenene kadar bu döngüyü güvenli dalgalar hâlinde tekrarlar. ✅
Hızlı Kontrol
Bir anahtar sözcük LB adımının çalışmasını sağlar.
Özet
Ardışık bir dağıtım oluşturdunuz: serial ile toplu çalışmalar, delegate_to aracılığıyla trafiği boşaltma ve yeniden etkinleştirme, sağlık denetimleri ve başarısızlık koruması. Sıfır kesinti. 🟢
Sıkça Sorulan Sorular
“Yük Dengeleyici Arkasında Kademeli Dağıtım” dersi ücretsiz mi?
Evet — “Yük Dengeleyici Arkasında Kademeli Dağıtım” 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.
“Yük Dengeleyici Arkasında Kademeli Dağıtım” dersinde ne öğreneceğim?
Sıralı dağıtımla kesinti olmadan yayın yapı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 3. dersidir.
“Yük Dengeleyici Arkasında Kademeli Dağıtım” 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
- Projeyi Tasarlama: Roller ve Envanter
- Ana Bilgisayarları Sağlama, Güçlendirme ve Başlatma
- Yük Dengeleyici Arkasında Kademeli Dağıtım
- Duman Testleri, Geri Alma ve Bildirimler