Topology spread ve anti-affinity.
Zone dağılımını karşılaştır, zone kaybında kaç replica kaldığını gör.
Topology spread, eşleşen Pod’ların node veya zone gibi domain’ler arasında dengeli dağılmasını sınırlar. Anti-affinity ise eşleşen Pod’ların aynı domain’i paylaşmasını zorunlu veya tercihe bağlı olarak engeller. Üç replica ve iki zone için maxSkew=1, 2+1 dağılıma izin verir; zone düzeyinde required anti-affinity ise her zone’a en fazla bir eşleşen Pod yerleştirir. Bu yüzden üçüncü Pod Pending kalabilir.
İlgili komut / yapılandırma örneği
topologySpreadConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels: { app: api }Yapılandırma parçaları ilgili kavramı gösterir; tek başına tam uygulama manifesti olmayabilir.Her senaryoyu seçip adımları sonuna kadar ilerlet. Cluster durumunu ve kanıtları karşılaştır; ardından soruyu yanıtla.
Cluster’da ne oluyor?
worker-a
ReadyBoş CPU (başlangıç): 1000m
Uygun
worker-b
ReadyBoş CPU (başlangıç): 1000m
Uygun
worker-c
ReadyBoş CPU (başlangıç): 1000m
Uygun
- Özel dağılım kuralı yok · örnek yerleşim 3+0 · İncele
- Zone spread · maxSkew=1 · 2+1 · İncele
- Required zone anti-affinity · 1+1 ve Pending · İncele
Adım geçmişi · 0
Modelin kapsamı: worker-a/b zone-a, worker-c zone-b; her node üç Pod kapasitesinde. Üç Pod app=api label’ına sahiptir. Kural yokken gösterilen 3+0 dağılım olası bir başlangıç örneğidir, Kubernetes varsayılanı değildir. Son adım zone-a kaybının ilk etkisidir; eviction ve replacement bekleme süreci ilerletilmez. Gerçek cluster bağlantısı kurulmaz.
İki zone ve üç replica için required zone anti-affinity neden bir Pod’u Pending bırakabilir?
Laboratuvarın tamamlanması için deney hedefini gerçekleştir ve soruyu yanıtla.