Taint'ler ve Toleration'lar
Taint'leri kullanarak Pod'ların belirli düğümlerde zamanlanmasını önleyin ve belirli Pod'ların bunlara tolerans göstermesine izin verin.
Taint'ler ve Toleration'lar, CoddyKit'te ücretsiz bir Kubernetes Basics 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, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.
Kirletmeler Nedir?
Kubernetes kümenizde, belki GPU gibi özel donanımlara sahip veya belirli iş yükleri için ayrılmış özel düğümler olduğunu düşünün. Herhangi bir Pod'un oraya yerleşmesini istemezsiniz, değil mi?
İşte Kirletmeler burada devreye girer! Kirletme, bir düğüme uygulanan ve Pod'ların üzerinde zamanlanmasını engelleyen bir özelliktir; ancak Pod bu kirletmeyi açıkça "tolere ederse" zamanlanabilir.
Kirletmeleri Kullanma Nedenleri
Kirletmeler, Pod'ların nerede çalışacağını yönetmek için çok kullanışlıdır:
- Ayrılmış Düğümler: Düğümleri belirli ekipler veya uygulamalar için ayırın.
- Özel Donanım: GPU veya yüksek performanslı SSD içeren düğümleri, bunlara ihtiyaç duyan Pod'lar için yalıtın.
- Bakım: Bir düğümü bakım için işaretleyerek yeni Pod'ların geçici olarak orada zamanlanmasını engelleyin.
Kirletmeler Nasıl Çalışır?
Kirletmeyi bir düğümdeki "girilmez" tabelası gibi düşünün. Bir Pod, ancak Tolerans adı verilen eşleşen bir "izin"e sahipse bu tabelayı yok sayabilir.
Kirletme bir anahtar, bir değer ve bir etkiden oluşur. Örneğin: key=value:effect.
Kirletme Etkilerini Anlama
Kirletmenin "etki" bölümü, Kubernetes'e onu tolere etmeyen Pod'larla ne yapacağını söyler. Üç ana etki vardır:
NoSchedulePreferNoScheduleNoExecute
Şimdi her birine bakalım.
Kirletme Etkisi: NoSchedule
NoSchedule etkisi en katı etkidir. Bir düğümde NoSchedule kirletmesi varsa eşleşen toleransa sahip olmayan hiçbir Pod bu düğümde zamanlanmaz.
Düğümde hâlihazırda çalışan Pod'lar yeni bir NoSchedule kirletmesinden etkilenmez.
Kirletme Etkisi: PreferNoSchedule
PreferNoSchedule, NoSchedule'un "yumuşak" sürümüdür. Kubernetes, Pod'ları kirletilmiş bir düğümde zamanlamaktan mümkün olduğunca kaçınır; ancak bu kesin bir gereksinim değildir.
Başka uygun düğüm yoksa bir Pod, toleransı olmasa bile PreferNoSchedule kirletmesine sahip bir düğümde yine de zamanlanabilir.
Kirletme Etkisi: NoExecute
NoExecute etkisi, *zaten çalışmakta olan* Pod'ları da etkilemesi bakımından özeldir. Bir düğümde NoExecute kirletmesi varsa:
- Eşleşen toleransı olmayan Pod'lar *hemen tahliye edilir*.
- Eşleşen toleransı olmayan yeni Pod'lar zamanlanamaz.
Bu etki genellikle düğümleri boşaltmak veya düğüm arızalarını yönetmek için kullanılır.
Toleranslara Giriş
Kirletmeler düğümlere uygulanırken Toleranslar Pod'lara uygulanır. Bir Pod'un toleransı, eşleşen bir kirletmeye sahip düğümde zamanlanmasına izin verir.
Eşleşen bir tolerans olmadan Pod, kirletilmiş bir düğümde zamanlanamaz (veya zamanlanmayı tercih etmez).
Pod Bildirimlerinde Toleranslar
Toleransları bir Pod'un YAML bildiriminde, spec bölümünün altında tanımlarsınız. Bir Pod'un key=value:NoSchedule kirletmesini tolere etmesi şöyledir:
apiVersion: v1
kind: Pod
metadata:
name: my-tolerated-pod
spec:
containers:
- name: nginx
image: nginx
tolerations:
- key: "special-purpose"
operator: "Equal"
value: "gpu"
effect: "NoSchedule"Kirletmeler ve Toleranslar Nasıl Eşleşir?
Bir Pod'un kirletilmiş bir düğümde zamanlanabilmesi için toleransının düğümün kirletmesiyle eşleşmesi gerekir. Eşleşme şunları kapsar:
- Anahtar: Aynı olmalıdır.
- Değer:
operator: Equalkullanılıyorsa aynı olmalıdır. - Etki: Aynı olmalıdır.
- İşleç:
EqualveyaExistsolabilir (anahtar için herhangi bir değer anlamına gelir).
key: "" operator: Exists biçimindeki özel bir tolerans *herhangi bir* kirletmeyi tolere eder.
Hızlı Denetim: Kirletmeler
Bir düğümde env=production:NoSchedule kirletmesi vardır. Hangi Pod yapılandırması bu düğümde zamanlanmasına izin verir?
Özet: Kirletmeler ve Toleranslar
Kirletmeler ve toleranslar hakkında bilgi edindiniz!
- Kirletmeler, Pod'ları uzaklaştırmak için düğümlere uygulanır.
- Toleranslar, Pod'ların kirletilmiş düğümlerde zamanlanmasına izin vermek için Pod'lara uygulanır.
- Temel kirletme etkileri
NoSchedule,PreferNoScheduleveNoExecutedeğerleridir. - Bir Pod'un zamanlanabilmesi için toleransların kirletmenin anahtarıyla, değeriyle ve etkisiyle eşleşmesi gerekir.
Bu araçlar, Pod yerleşimi üzerinde ayrıntılı denetim sağlar!
Sıkça Sorulan Sorular
“Taint'ler ve Toleration'lar” dersi ücretsiz mi?
Evet — “Taint'ler ve Toleration'lar” 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 Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.
“Taint'ler ve Toleration'lar” dersinde ne öğreneceğim?
Taint'leri kullanarak Pod'ların belirli düğümlerde zamanlanmasını önleyin ve belirli Pod'ların bunlara tolerans göstermesine izin verin. Kubernetes Basics 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.
Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, 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.
“Taint'ler ve Toleration'lar” 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 Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kubernetes Basics 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
- Kaynak İstekleri ve Sınırları
- Düğüm Seçicileri ve Yakınlık
- Taint'ler ve Toleration'lar
- Pod Önceliği ve Öncelik Geri Alma