Aracılığıyla paylaş


Alt kümelenmiş ölçümleri dengeleme

Alt kümeleme nedir?

Farklı yerleştirme kısıtlamaları olan hizmetlerin ortak bir ölçümü olduğunda ve her ikisi de bunun için yük bildirdiğinde alt kümeleme gerçekleşir. Hizmetler tarafından bildirilen yük önemli ölçüde farklılık gösteriyorsa, düğümlerdeki toplam yük büyük bir standart sapmaya sahip olur ve mümkün olan en iyi dengeye sahip olsa bile küme dengesiz gibi görünür.

Alt kümeleme yük dengelemeyi nasıl etkiler?

Farklı düğümlerdeki hizmetler tarafından bildirilen yük önemli ölçüde farklılık gösteriyorsa, büyük bir dengesizlik var gibi görünebilir ve bunların hiçbiri yoktur. Ayrıca, alt kümelemenin neden olduğu yanlış dengesizlik gerçek dengesizlik değerinden daha büyükse, Resource Manager dengeleme algoritmasının kafasını karıştırma ve kümede iyi durumda olmayan denge oluşturma potansiyeline sahiptir.

Örneğin, dört hizmetimiz olduğunu ve ölçüm1 için yük bildirdiklerini varsayalım:

  • Hizmet A – "NodeType==Frontend" yerleştirme kısıtlaması vardır, 10 yük bildirir
  • Hizmet B – "NodeType==Frontend" yerleştirme kısıtlaması var, 10 yük bildirir
  • Hizmet C – "NodeType==Backend" yerleştirme kısıtlaması var, 100 yük bildirir
  • Hizmet D – "NodeType==Backend" yerleştirme kısıtlaması var, 100 yük bildirir
  • Ve dört düğümümüz var. bunlardan ikisinde NodeType "Ön uç" olarak ayarlanmış ve diğer ikisi "Arka uç" olarak ayarlanmıştır

Ve aşağıdaki yerleştirmeye sahibiz:

Alt kümelenmiş yerleştirme örneği

Küme dengesiz görünebilir, 3 ve 4 düğümlerinde büyük bir yüke sahibiz, ancak bu yerleştirme bu durumda mümkün olan en iyi dengeyi oluşturur.

Resource Manager alt kümeleme durumlarını tanıyabilir ve neredeyse tüm durumlarda verilen durum için en uygun dengeyi sağlayabilir.

Resource Manager'ın alt kümelenmiş bir ölçümü en iyi şekilde dengeleyemediği bazı olağanüstü durumlarda alt kümelemesi algılar ve sorunu çözmenizi öneren bir sistem durumu raporu oluşturur.

Alt kümeleme türleri ve bunların nasıl işlenmeleri

Alt kümeleme durumları üç farklı kategoride sınıflandırılabilir. Belirli bir alt kümeleme durumunun kategorisi, Resource Manager tarafından nasıl işleneceğini belirler.

birinci kategori – kopuk düğüm gruplarıyla düz alt kümeleme

Bu kategori, düğümlerin farklı gruplara ayrılabildiği ve her hizmetin yalnızca bu gruplardan birindeki düğümlere yerleştirilebildiği en basit alt toplama biçimine sahiptir. Her düğüm yalnızca bir gruba ve bir gruba aittir. Yukarıda açıklanan durum, alt kümeleme durumlarının çoğunda olduğu gibi bu kategoriye aittir.

Bu kategorideki durumlar için Resource Manager en uygun dengeyi üretebilir ve başka müdahale gerekmez.

İkinci kategori – hiyerarşik düğüm gruplarıyla alt kümeleme

Bu durum, bir hizmet için izin verilen bir düğüm grubu, başka bir hizmet için izin verilen düğüm grubunun bir alt kümesi olduğunda ortaya çıkar. Bu durumun en yaygın örneği, bazı hizmetlerde bir yerleştirme kısıtlaması tanımlandığı ve başka bir hizmetin yerleştirme kısıtlaması olmadığı ve herhangi bir düğüme yerleştirilebildiği durumlardır.

Örnek:

  • Hizmet A: yerleştirme kısıtlaması yok
  • Hizmet B: yerleştirme kısıtlaması "NodeType==Frontend"
  • Hizmet C: yerleştirme kısıtlaması "NodeType==Backend"

Bu yapılandırma, farklı hizmetler için düğüm grupları arasında bir alt küme üst küme ilişkisi oluşturur.

Alt küme alt kümelerini alt küme

Bu durumda, bir suboptimal denge elde etme şansı vardır.

Resource Manager bu durumu tanıyacak ve Hizmet A'yi ön uç düğümlerine yerleştirilebilen hizmet A1 ve Arka uç düğümlerine yerleştirilebilen Hizmet A2 olmak üzere iki hizmete bölmenizi tavsiye eden bir sistem durumu raporu oluşturur. Bu, en iyi şekilde dengelenebilen ilk kategori durumuna geri dönmemizi sağlayacaktır.

Üçüncü kategori – düğüm kümeleri arasında kısmi çakışma ile alt kümeleme

Bu durum, bazı hizmetlerin yerleştirilebileceği düğüm kümeleri arasında kısmi bir çakışma olduğunda ortaya çıkar.

Örneğin NodeColor adlı bir düğüm özelliğimiz varsa ve üç düğüme sahipsek:

  • Düğüm 1: NodeColor=Kırmızı
  • Düğüm 2: NodeColor=Mavi
  • Düğüm 3: NodeColor=Yeşil

Ve iki hizmetimiz var:

  • Hizmet A: yerleştirme kısıtlaması "Color==Red || Renk==Mavi"
  • Hizmet B: yerleştirme kısıtlaması "Color==Blue || Renk==Yeşil"

Bu nedenle, Hizmet A 1 ve 2 düğümlerine, B Hizmeti ise 2. ve 3. düğümlere yerleştirilebilir.

Bu durumda, bir suboptimal denge elde etme şansı vardır.

Resource Manager bu durumu algılar ve hizmetlerden bazılarını bölmenizi tavsiye eden bir sistem durumu raporu oluşturur.

Bu durum için Resource Manager, birden çok bölme yapılabilmesi ve hizmetleri bölmek için en uygun yolun hangisi olacağını tahmin etmenin bir yolu olmadığından hizmetlerin nasıl bölüneceği konusunda bir teklif veremez.

Alt kümelemesi yapılandırma

Resource Manager'ın alt kümeleme davranışı, aşağıdaki yapılandırma parametreleri değiştirilerek değiştirilebilir:

  • SubclusteringEnabled - parametresi, yük dengeleme yapılırken Resource Manager'ın alt kümelemesi hesaba katıp almayacağını belirler. Bu parametre kapalıysa, Resource Manager alt kümelemesi yoksayar ve genel düzeyde en iyi dengeyi sağlamaya çalışır. Bu parametrenin varsayılan değeri false'tur.
  • SubclusteringReportingPolicy - Resource Manager'ın hiyerarşik ve kısmi örtüşen alt kümeleme için sistem durumu raporlarını nasıl yayacağını belirler. Sıfır değeri, alt kümelemeyle ilgili sistem durumu raporlarının kapatıldığı, "1" ise en iyi olmayan alt kümeleme durumları için uyarı sistem durumu raporlarının oluşturulacağı ve "2" değerinin "Tamam" sistem durumu raporları oluşturacağı anlamına gelir. Bu parametrenin varsayılan değeri "1"dir.

ClusterManifest.xml:

        <Section Name="PlacementAndLoadBalancing">
            <Parameter Name="SubclusteringEnabled" Value="true" />
            <Parameter Name="SubclusteringReportingPolicy" Value="1" />
        </Section>

Tek başına dağıtımlar için ClusterConfig.json veya Azure tarafından barındırılan kümeler için Template.json aracılığıyla:

"fabricSettings": [
  {
    "name": "PlacementAndLoadBalancing",
    "parameters": [
      {
          "name": "SubclusteringEnabled",
          "value": "true"
      },
      {
          "name": "SubclusteringReportingPolicy",
          "value": "1"
      },
    ]
  }
]

Sonraki adımlar

  • Küme Resource Manager'ın kümedeki yükü nasıl yönettiği ve dengelediğinden haberdar olmak için yükü dengeleme makalesine göz atın
  • Hizmetlerinizin yalnızca belirli düğümlere yerleştirilecek şekilde nasıl kısıtlanabileceğini öğrenmek için bkz. Düğüm özellikleri ve yerleştirme kısıtlamaları