Ücretsiz ders · CKA Hazırlık Programı · Modül 3: İş yükleri ve zamanlama
Leke, Tolerans ve Benzeşimle Yerleşimi Yönetmek
Zamanlama kurallı eşleştirmedir: lekeler kimin reddedildiğini, toleranslar kimin muaf olduğunu, benzeşim kimin istendiğini söyler. Birlikte iş yüklerini tam yerine koyarlar.
13 dk okuma
Kazanımlar
- Lekelerle podları düğümlerden kovmak, toleranslarla geri kabul etmek
- Benzeşim kurallarıyla podları düğümlere veya birbirlerine çekmek
- Yayılma artı uyum için düğüm benzeşimiyle pod anti-benzeşimini birleştirmek
- Bekleyen podu okuyup yerleşim arızasını kaynak darlığından ayırmak
Neden önemli
Özel GPU düğümleri web podlarıyla dolmamalı. Bir servisin kopyaları tek rafta kalmamalı. Sistem podları lekeli görünen düğümler dahil her yere inmeli. Etiket artı kurallar hepsini bildirimsel anlatır, zamanlayıcı her yerleşimde uygular. Sınav bunları Bekleyen pod bulmacasına çevirir: olayları okursan başarısız koşul adını söyler.
Kavramlar
Düğümdeki leke, toleransı olmayan podları kovar; üç etki vardır: NoSchedule yeni yerleşimi engeller, PreferNoSchedule caydırır, NoExecute mevcut podları da çıkarır (isteğe bağlı tolerationSeconds sonrası). Kontrol düzlemi düğümleri varsayılan NoSchedule lekesi taşır; kullanıcı podları ek yapılandırma olmadan uzak durur.
Toleranslar podları anahtar, işlem ve etkiye göre lekelerden muaf tutar. Asla çekmez: muaf pod yine her yere inebilir. Sistem DaemonSetleri her şeyi tolere eder; lekeli düğümleri de kapsar.
Benzeşim çeker. Düğüm benzeşimi hangi düğümlerin uygun olduğunu kısıtlar (gerekli kurallar katı, tercihli kurallar ağırlık verir). Pod benzeşimi seçilen podlarla aynı yere koyar; pod anti-benzeşimi ayırır: kopyaları aynı düğümden veya aynı bölgeden uzak tutar, topologyKey ile. Birleştir: uyum için düğüm benzeşimi (GPU, SSD, bölge), yayılma için anti-benzeşim.
Uygulamalı örnek
Yalnız GPU düğümlerinde GPU işi, kopyalar asla aynı düğümü paylaşmaz:
# GPU havuzunu bir kez lekele, düğüm başına
kubectl taint nodes gpu-1 gpu=true:NoSchedule
# iş yükü lekeyi tolere eder, etiketi ister, kendini yayar
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- { key: gpu, operator: In, values: ["true"] }
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels: { app: trainer }
topologyKey: kubernetes.io/hostname
tolerations:
- { key: gpu, operator: Exists, effect: NoSchedule }Toleranssız web podları gpu-1e hiç dokunmaz. Eğitici kopyalar yalnız GPU düğümlerine iner, aynı makinede iki tane olmaz. Toleransı kaldır, Pending olmalarını leke olayıyla izle: hata iletisi dersin kendisidir.
Sınav notları
Benzeşimsiz tolerans her yere iner: kabul etmek çekmek değildir, sorular karıştırmadan beslenir. topologyKey: kubernetes.io/hostname düğüm başına yayar; bölge anahtarı bölge başına. Ve NoExecute çalışan podları çıkarır; canlı lekelere dokunmadan önce tolerationSeconds denetle.
Mini kontrol
4 soruluk öz kontrol. Yanıtların cihazında kalır, saklanmaz ve gönderilmez. Yalnızca geçen skor (ör. 4 soruda 3) kaydedilir ve yalnızca ders ilerlemesinin kilidini açmak için: bir dersin tamamlanmış sayılması için en az 3 doğru gerekir. Hiçbir sertifika değerlendirmesine sayılmaz.
Ders geri bildirimi
Henüz yayında geri bildirim yok.
Geri bildirim yazmak için giriş yap ve dersi tamamla.
Kaynaklar
Alıştırma
Laboratuvar düğümünü lekele, sonra o düğüme girmesine izin verilen tek iş yükü olan, üç kopyası asla düğüm paylaşmayan deployment yaz. Leke komutunu, toleransı, iki benzeşim bloğunu ve yerleşimi kanıtlayan describe çıktısını göster.
Geçme kriterleri
Leke artı tolerans eşleşir; düğüm benzeşimi etiketi ister; anti-benzeşim makine adında yayar; describe düğüm başına bir podu ve lekeli düğümde yalnız bu iş yükünü gösterir.