Dünyanın en detaylı ücretsiz FDE + DevOps kütüphanesi: 140 üzeri ders, 70 üzeri lab ve 80 uzun yazı, İngilizce ve Türkçe. Öğrenmeye başla →

DevOps Practitioner · Modül 1: Kubernetes workload yönetimi

Zamanlama: İstekler, Limitler, Taint ve Affinity

Zamanlama bir kapasite pazarı artı yerleşim kurallarıdır. İstekler garantili koltuk alır, limitler ziyafeti keser, taint iter, affinity çeker; Pending hangi kuralın veya kıtlığın hayır dediğini aynen söyler.

10 dk okuma

Kazanımlar

  • İsteklerin kapasiteyi nasıl ayırdığını, limitlerin ani artışı nasıl kestiğini açıklamak
  • Pending pod okuyup kaynak kıtlığı ile taint ve affinity nedenlerini ayırmak
  • İş yükü sınıfına düğüm ayırmak için eşleşen tolerasyonlu taint uygulamak
  • Düğüm adı sabitlemeden yerleşim tercihini affinity ile ifade etmek

Neden önemli

Yeni podlar cuma Pendingde kalır ve ekip podlar Pendingde kalmaya devam ederken düğüm ekleyip faturayı ikiye katlar. Neden kapasite değildi: boşaltılmış havuzdan kalan düğüm tainti eşleşen tolerasyonsuz her podu itiyordu ve zamanlayıcı bunu ilk dakikadan pod olaylarına yazmıştı. Pending gerekçeli karardır, gizem değil. Para harcamadan önce zamanlayıcının gerekçesini okumak tüm beceridir ve tek komuttur.

Kavramlar

İstekler rezervasyondur: zamanlayıcı podu yalnızca ayrılmamış kapasitesi konteyner istekleri toplamını karşılayan düğüme koyar. Limitler çalışmada tavandır: bellek limitini aşan taşmada konteyner öldürülür, CPU limitini aşan kısılır. Limitsiz istekler bir konteynerin komşularını aç bırakır; ölçülmemiş isteksiz limitler koltuk israf eder veya çıkarmaya davet eder. Önce ölç (M05 alışkanlığı koydu), sonra istekleri ölçülen tipik kullanıma yakın, limitleri belirtilmiş payla koy.

Taint tolere edilmedikçe podları iter. Boşaltma, ayrılmış havuzlar ve kirli düğümler kendini taint ile ifade eder: NoSchedule yeni podları uzak tutar, NoExecute toleranssızları çıkarır. Affinity aynadır: düğüm affinity podları etiketli düğümlere çeker (tercih veya zorunluluk), pod affinity ve anti-affinity diğer podlara göre birlikte veya ayrı yerleştirir. Küçük kümelerde bölgelere yaymak için yumuşak kurallar (preferredDuringScheduling) kullan; sert kurallar podları zamanlanamaz bırakır.

Pending teşhisini sırayla yap: pod olaylarında FailedScheduling ve gerekçesi (Insufficient cpu/memory, düğüm taintleri, affinity uyuşmazlığı); düğüm kapasitesi ve mevcut rezervasyonlar; sonra taint ve affinity terimleri. Üç ayrı neden, üç ayrı düzeltme: istekleri doğru boyla, eşleşen tolerasyon ekle veya affinity terimini gevşet. L27 labı tam bu ayrımı sondajlar ki düzeltme nedene uysun.

Uygulamalı örnek

Yerel iki düğümlü küme üç pod alır: biri iki düğümden de büyük istekli (Insufficient memory), biri uyguladığın taintten itilen (Tolerasyon eksik), biri hiçbir yerde olmayan etikete sert düğüm affinityli (Eşleşen düğüm yok). Öğrenci her FailedScheduling gerekçesini okur, her nedeni farklı düzeltir ve üçünün de zamanlandığını izler. Aynı belirti, üç teşhis, satın alınan sıfır düğüm.

Yaygın yanlış hamle

Podlar her yere sığsın diye istekleri sıfırlamak, sonra düğümler kızışınca çekirdeğin süreçleri neden öldürdüğünü merak etmek. Sıfır istek bedava kapasite değil, zamanlayıcının göremediği ölçülmemiş rezervasyondur. Zamanlanamaz görünen kümeler genelde küçük değil, yanlış ölçülmüştür.

Mini kontrol

4 soruluk isteğe bağlı öz kontrol. Yanıtlar cihazından çıkmaz, saklanmaz ve hiçbir değerlendirmeye 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

Yerel kümede nedene göre birer Pending pod çıkar (büyük istek, eksik tolerasyon, imkânsız affinity), her zamanlayıcı gerekçesini alıntıla, her birini düzelt ve hepsinin çalıştığını göster.

Geçme kriterleri

Kayıtta olaylardan alıntılanmış üç zamanlayıcı gerekçesi, üç ayrı düzeltme ve ek düğüm olmadan çalışan tüm podlar vardır.

İlerlemeni kaydetmek için giriş yapÜcretsiz hesap: yalnızca ders ilerlemen ve quiz sonuçların saklanır.