Service Fabric kümenizi kullanılabilirlik alanı desteğine geçirme

Bu kılavuzda, Service Fabric kümelerinin kullanılabilirlik dışı alan desteğinden kullanılabilirlik desteğine nasıl geçirıldığı açıklanmaktadır. Geçiş için farklı seçeneklere göz atacağız. Kullanılabilirlik Alanları arasında dağıtılmış bir Service Fabric kümesi, küme durumunun yüksek kullanılabilirliğini sağlar.

Hem yönetilen hem de yönetilmeyen kümeleri geçirebilirsiniz. Her ikisi de bu makalede ele alınmıştır.

Yönetilmeyen kümeler için iki farklı senaryo ele alınıyor:

  • Bir kümeyi Standart SKU yük dengeleyici ve IP kaynağıyla geçirme. Bu yapılandırma, yeni kaynaklar oluşturmaya gerek kalmadan kullanılabilirlik alanlarını destekler.
  • Temel SKU yük dengeleyici ve IP kaynağı ile küme geçirme. Bu yapılandırma kullanılabilirlik alanlarını desteklemez ve yeni kaynakların oluşturulmasını gerektirir.

Service Fabric küme senaryonuz için her üst bilgi altında uygun bölümlere bakın.

Not

Birincil düğüm türünü kullanılabilirlik alanları arasında yayma avantajı yalnızca iki bölge için değil yalnızca üç bölge için görülür. Bu, hem yönetilen hem de yönetilmeyen kümeler için geçerlidir.

Örnek şablonlar , Service Fabric çapraz kullanılabilirlik alanı şablonlarında kullanılabilir.

Ön koşullar

Service Fabric yönetilen kümeleri

Gerekli:

Önerilen:

  • Küme SKU'su Standart olmalıdır.
  • Birincil düğüm türünün en iyi dayanıklılık için en az dokuz düğümü olmalıdır, ancak en az altı düğüm sayısını destekler.
  • İkincil düğüm türleri en iyi dayanıklılık için en az altı düğüme sahip olmalıdır, ancak en az üç düğüm sayısını destekler.

Service Fabric yönetilmeyen kümeler

Gerekli: Yok.

Önerilen:

  • Küme güvenilirlik düzeyi olarak Platinumayarlanır.
  • Standart SKU kullanan tek bir genel IP kaynağı.
  • Standart SKU kullanan tek bir yük dengeleyici kaynağı.
  • Sanal Makine Ölçek Kümeleri dağıttığınız alt ağ tarafından başvurulan bir ağ güvenlik grubu (NSG).

Mevcut Standart SKU yük dengeleyici ve IP kaynağı

Mevcut gerekli kaynaklara sahip olduğunuz varsayılırsa, bu senaryo için önkoşul yoktur.

Temel SKU yük dengeleyici ve IP kaynağı

  • Mevcut Temel SKU yük dengeleyicinizden farklı olarak Standart SKU kullanan yeni bir yük dengeleyici.
  • Standart SKU kullanan, mevcut Temel SKU IP kaynağınızdan farklı yeni bir IP kaynağı.

Not

Mevcut kaynaklarınızı Temel SKU'dan Standart SKU'ya yükseltmek mümkün olmadığından yeni kaynaklar gereklidir.

Kapalı kalma süresi gereksinimleri

Service Fabric yönetilen kümesi

Bölge dayanıklı bir yapılandırmaya geçiş, yük dengeleyici aracılığıyla kısa bir dış bağlantı kaybına neden olabilir, ancak küme durumunu etkilemez. Dış bağlantı kaybı, ağın bölge hatalarına dayanıklı olması için yeni bir Genel IP oluşturulması gerektiğinde oluşur. Geçişi uygun şekilde planlayın.

Service Fabric yönetilmeyen küme

Service Fabric yönetilmeyen kümeleri geçirmek için kapalı kalma süresi, kümenizdeki VM'lerin ve Yükseltme Etki Alanlarının (UD) sayısına göre büyük ölçüde farklılık gösterir. UD'ler, yükseltmelerin kümenizdeki VM'lere gönderilme sırasını belirleyen VM'lerin mantıksal gruplandırmasıdır. Kapalı kalma süresi, kümenizdeki UD'ler için yükseltme görevlerinin nasıl işlendiğini işleyen kümenizin yükseltme modundan da etkilenir. sfZonalUpgradeMode Yükseltme modunu denetleyen özelliği, aşağıdaki bölümlerde daha ayrıntılı olarak ele alınmıştır.

Service Fabric yönetilen kümeleri için geçiş

Kullanılabilirlik alanlarına yayılan yeni birincil ve ikincil düğüm türleri oluşturma

Kullanılabilirlik alanı olmayan bir Service Fabric yönetilen kümesini kullanılabilirlik alanı etkin durumuna geçirmek için tek bir yöntem vardır.

Service Fabric yönetilen kümenizi geçirmek için:

  1. Yeni bir IP gerekip gerekmediğini ve hangi kaynakların bölge dayanıklılığına sahip olması için geçirilmesi gerektiğini belirleyin. Yönetilen kümenin kaynakları için geçerli kullanılabilirlik alanı dayanıklılık durumunu almak için aşağıdaki API çağrısını kullanın:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/getazresiliencystatus?api-version=2022-02-01-preview
    

    Veya Az Modülünü aşağıdaki gibi kullanabilirsiniz:

    Select-AzSubscription -SubscriptionId {subscriptionId}
    Invoke-AzResourceAction -ResourceId /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName} -Action getazresiliencystatus -ApiVersion 2022-02-01-preview
    

    Bu, aşağıdakine benzer bir yanıt sağlamalıdır:

    {
     "baseResourceStatus" :[
     {
      "resourceName": "sfmccluster1"
      "resourceType": "Microsoft.Storage/storageAccounts"
      "isZoneResilient": false
     },
     {
      "resourceName": "PublicIP-sfmccluster1"
      "resourceType": "Microsoft.Network/publicIPAddresses"
      "isZoneResilient": false
     },
     {
      "resourceName": "primary"
      "resourceType": "Microsoft.Compute/virutalmachinescalesets"
      "isZoneResilient": false
     },
     ],
     "isClusterZoneResilient": false
    }
    

    Genel IP kaynağı bölge dayanıklı değilse, kümenin geçişi kısa bir dış bağlantı kaybına neden olur. Bağlantı kaybı, geçişin yeni Genel IP'yi ayarlaması ve küme FQDN'sini yeni IP'ye güncelleştirmesi nedeniyle oluşur. Genel IP kaynağı bölge dayanıklılığına sahipse, geçiş Genel IP kaynağını veya FQDN'yi değiştirmez ve dış bağlantı etkisi olmaz.

  2. Müşteri tarafından başlatılan dönüştürmeyi kullanarak yönetilen küme için oluşturulan temel depolama hesabının LRS'den ZRS'ye dönüştürülmesi işlemini başlatın. Geçirilmesi gereken depolama hesabının kaynak grubu, yönetilen küme kaynağıyla aynı abonelik altında "SFC_ClusterId"(örneğin SFC_9240df2f-71ab-4733-a641-53a8464d992d) biçiminde olabilir.

  3. Kullanılabilirlik alanlarına yayılan yeni bir birincil düğüm türü ekleyin.

    Bu adım, birincil düğüm türünün ve Genel IP'nin geçişini gerçekleştirmek için kaynak sağlayıcısını tetikler ve gerekirse bir küme FQDN DNS güncelleştirmesi ile birlikte bölge dayanıklı hale gelir. Bu adımın etkilerini anlamak için yukarıdaki API'yi kullanın.

    • apiVersion 2022-02-01-preview veya üzerini kullanın.

    • Aşağıda gösterildiği gibi kümeye bölge parametresi ["1", "2", "3"] olarak ayarlanmış yeni bir birincil düğüm türü ekleyin:

      {
        "apiVersion": "2022-02-01-preview",
        "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
        "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
        "location": "[resourcegroup().location]",
        "dependsOn": [
          "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
        ],
        "properties": {
          ...
          "isPrimary": true,
          "zones": ["1", "2", "3"]
          ...
        }
      }
      
  4. Kullanılabilirlik alanlarına yayılan ikincil düğüm türü ekleyin. Bu adım, birincil düğüm türüne benzer şekilde kullanılabilirlik alanları arasında yayılan ikincil bir düğüm türü ekler. Müşteriler oluşturulduktan sonra , yerleştirme özelliklerini kullanarak mevcut hizmetleri eski düğüm türlerinden yenilerine geçirmeleri gerekir.

    • apiVersion 2022-02-01-preview veya üzerini kullanın.

    • Aşağıda gösterildiği gibi kümeye bölge parametresi ["1", "2", "3"] olarak ayarlanmış yeni bir ikincil düğüm türü ekleyin:

      {
        "apiVersion": "2022-02-01-preview",
        "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
        "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
        "location": "[resourcegroup().location]",
        "dependsOn": [
          "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
        ],
        "properties": {
          ...
          "isPrimary": false,
          "zones": ["1", "2", "3"]
          ...
        }
      }
      
  5. Kümeden az kapsayıcı olmayan eski düğüm türlerini kaldırmaya başlayın

    Tüm hizmetleriniz bölgeye yayılmış olmayan düğüm türlerinde mevcut değilse, eski düğüm türlerini kaldırmanız gerekir. Portal veya cmdlet kullanarak kümeden eski düğüm türlerini kaldırarak başlayın. Son adım olarak, eski düğüm türlerini şablonunuzdan kaldırın.

  6. Kümeyi bölge hatalarına dayanıklı olarak işaretleme

    Bu adım, gelecekte düğüm türlerinin tüm dağıtımlarının kullanılabilirlik alanlarına yayılmasını ve dolayısıyla kümenin bölge hatalarına dayanıklı kalmasını sağladığından, gelecekteki dağıtımlarda yardımcı olur. Küme ARM şablonunda ayarlayın zonalResiliency: true ve kümeyi bölge dayanıklı olarak işaretlemek ve tüm yeni düğüm türü dağıtımlarının kullanılabilirlik alanları arasında yayılımından emin olmak için bir dağıtım yapın.

    {
      "apiVersion": "2022-02-01-preview",
      "type": "Microsoft.ServiceFabric/managedclusters",
      "zonalResiliency": "true"
    }
    

    Tamamlandıktan sonra portalda güncelleştirilmiş durumu benzer Genel Bakış > ÖzellikleriZonal resiliency Truealtında da görebilirsiniz.

  7. Tüm kaynakların bölge dayanıklı olduğunu doğrulayın

    Yönetilen küme kaynaklarının kullanılabilirlik alanı dayanıklılık durumunu doğrulamak için aşağıdaki GET API çağrısını kullanın:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/getazresiliencystatus?api-version=2022-02-01-preview
    

    Bu, aşağıdakine benzer bir yanıt sağlamalıdır:

    {
     "baseResourceStatus" :[
     {
      "resourceName": "sfmccluster1"
      "resourceType": "Microsoft.Storage/storageAccounts"
      "isZoneResilient": true
     },
     {
      "resourceName": "PublicIP-sfmccluster1"
      "resourceType": "Microsoft.Network/publicIPAddresses"
      "isZoneResilient": true
     },
     {
      "resourceName": "primary"
      "resourceType": "Microsoft.Compute/virutalmachinescalesets"
      "isZoneResilient": true
     },
     ],
     "isClusterZoneResilient": true
    }
    

Herhangi bir sorunla karşılaşırsanız yardım için desteğe ulaşın.

Service Fabric yönetilmeyen kümeler için geçiş seçenekleri

Geçiş seçeneği 1: Tek bir Sanal Makine Ölçek Kümesinde birden çok Kullanılabilirlik Alanları etkinleştirme

Bu seçenek ne zaman kullanılır?

Bu çözüm, kullanıcıların aynı düğüm türünde üç Kullanılabilirlik Alanları yaymasını sağlar. Bu, tek bir Sanal Makine Ölçek Kümesini korurken kullanılabilirlik alanları arasında dağıtmanıza olanak sağladığından önerilen dağıtım topolojisidir.

GitHub'da tam bir örnek şablon mevcuttur.

Geçirmek istediğiniz Standart SKU yük dengeleyici ve IP Kaynakları ile mevcut bir Service Fabric yönetilmeyen kümeniz varsa bu seçeneği kullanmalısınız. Mevcut yönetilmeyen kümenizde Temel SKU kaynakları varsa, aşağıda Temel SKU geçişi seçeneğini görmeniz gerekir.

Service Fabric yönetilmeyen kümenizi mevcut Standart SKU yük dengeleyici ve IP kaynaklarıyla geçirme

Sanal Makine Ölçek Kümesinde bölgeleri etkinleştirmek için:

Sanal Makine Ölçek Kümesi kaynağına aşağıdaki üç değeri ekleyin:

  • İlk değerzones, Sanal Makine Ölçek Kümesindeki Kullanılabilirlik Alanları belirten özelliğidir.

  • İkinci değer, olarak ayarlanması truegereken özelliğidirsinglePlacementGroup. Üç Kullanılabilirlik Alanları yayılan ölçek kümesi ile singlePlacementGroup = truebile 300 VM'ye kadar ölçeklendirilebilir.

  • Üçüncü değer ise katı bölge dengelemesi sağlayan değeridir zoneBalance. Bu değer olmalıdır true. Bu, bölgeler arasındaki VM dağıtımlarının dengesiz olmamasını sağlar. Bu, bir bölge kapandığında diğer iki bölgenin kümeyi çalışır durumda tutmak için yeterli VM'ye sahip olduğu anlamına gelir.

    Dengesiz VM dağıtımına sahip bir küme, vm'lerin çoğunluğuna sahip olabileceğinden bölge azaltma senaryosunda hayatta kalamayabilir. Bölgeler arasında dengesiz VM dağıtımı, hizmet yerleştirme sorunlarına ve altyapı güncelleştirmelerinin takılmasına da yol açar. zoneBalancing hakkında daha fazla bilgi edinin.

ve UpgradeDomain geçersiz kılmalarını yapılandırmanız FaultDomain gerekmez.

{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "name": "[parameters('vmNodeType1Name')]",
  "location": "[parameters('computeLocation')]",
  "zones": [ "1", "2", "3" ],
  "properties": {
    "singlePlacementGroup": true,
    "zoneBalance": true
  }
}

Not

  • Service Fabric kümelerinin en az bir birincil düğüm türü olmalıdır. Birincil düğüm türlerinin dayanıklılık düzeyi Silver veya üzeri olmalıdır.
  • Sanal Makine Ölçek Kümesi'ni kapsayan bir kullanılabilirlik alanı, dayanıklılık düzeyi ne olursa olsun en az üç Kullanılabilirlik Alanları yapılandırılmalıdır.
  • Silver veya daha yüksek dayanıklılığa sahip Sanal Makine Ölçek Kümesi'ne yayılan bir kullanılabilirlik alanında en az 15 VM olmalıdır.
  • Bronz dayanıklılığa sahip Sanal Makine Ölçek Kümesi'ne yayılan bir kullanılabilirlik alanında en az altı VM olmalıdır.
Service Fabric düğüm türünde birden çok bölge için desteği etkinleştirme

Birden çok kullanılabilirlik alanını desteklemek için Service Fabric düğüm türünün etkinleştirilmesi gerekir.

  • İlk değer, düğüm türü için olarak ayarlanması true gereken değeridirmultipleAvailabilityZones.

  • İkinci değer ve sfZonalUpgradeMode isteğe bağlıdır. Kümede birden çok kullanılabilirlik alanına sahip bir düğüm türü zaten varsa bu özellik değiştirilemez. Bu özellik, VM'lerin UD'lerdeki mantıksal gruplandırmalarını denetler.

    • Bu değer olarak ayarlanırsa Parallel: Düğüm türü altındaki VM'ler UD'ler halinde gruplandırılır ve beş UD'deki bölge bilgilerini yoksayar. Bu ayar tüm bölgelerdeki UD'lerin aynı anda yükseltilmesine neden olur. Bu dağıtım modu yükseltmeler için daha hızlı olsa da, güncelleştirmelerin bir kerede bir bölgeye uygulanması gerektiğini belirten SDP yönergelerine aykırı olduğundan bunu önermiyoruz.

    • Bu değer atlanırsa veya olarak Hierarchicalayarlanırsa: VM'ler en fazla 15 UD'deki bölgesel dağılımı yansıtacak şekilde gruplandırılır. Üç bölgenin her birinde beş UD vardır. Bu, bölgelerin birer birer güncelleştirilmesini ve yalnızca ilk bölge içindeki beş UD'yi tamamladıktan sonra sonraki bölgeye geçmelerini sağlar. Güncelleştirme işlemi, küme ve kullanıcı uygulaması için daha güvenlidir.

    Bu özellik yalnızca Service Fabric uygulaması ve kod yükseltmeleri için yükseltme davranışını tanımlar. Temel alınan Sanal Makine Ölçek Kümesi yükseltmeleri hala tüm Kullanılabilirlik Alanları paraleldir. Bu özellik, birden çok bölgenin etkinleştirilmediği düğüm türleri için UD dağıtımını etkilemez.

  • Üçüncü değer isteğe vmssZonalUpgradeModebağlıdır ve herhangi bir zamanda güncelleştirilebilir. Bu özellik, Sanal Makine Ölçek Kümesi'nin Kullanılabilirlik Alanları arasında paralel veya sıralı olarak gerçekleşmesi için yükseltme şemasını tanımlar.

    • Bu değer olarak ayarlanırsa Parallel: Tüm ölçek kümesi güncelleştirmeleri tüm bölgelerde paralel olarak gerçekleşir. Bu dağıtım modu yükseltmeler için daha hızlıdır ve bu nedenle güncelleştirmelerin bir kerede bir bölgeye uygulanması gerektiğini belirten SDP yönergelerine aykırı olduğundan bunu önermiyoruz.
    • Bu değer atlanırsa veya olarak ayarlanırsa Hierarchical: Bu, bölgelerin birer birer güncelleştirilmesini ve sonraki bölgeye geçmenin yalnızca ilk bölge içindeki beş UD'yi tamamladıktan sonra gerçekleşmesini sağlar. Bu güncelleştirme işlemi, küme ve kullanıcı uygulaması için daha güvenlidir.

Önemli

Service Fabric kümesi kaynak API'sinin sürümü 2020-12-01-preview veya üzeri olmalıdır.

Küme kodu sürümü en az 8.1.321 veya üzeri olmalıdır.

{
  "apiVersion": "2020-12-01-preview",
  "type": "Microsoft.ServiceFabric/clusters",
  "name": "[parameters('clusterName')]",
  "location": "[parameters('clusterLocation')]",
  "dependsOn": [
    "[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]"
  ],
  "properties": {
    "reliabilityLevel": "Platinum",
    "sfZonalUpgradeMode": "Hierarchical",
    "vmssZonalUpgradeMode": "Parallel",
    "nodeTypes": [
      {
        "name": "[parameters('vmNodeType0Name')]",
        "multipleAvailabilityZones": true
      }
    ]
  }
}

Not

  • Genel IP ve yük dengeleyici kaynakları, makalenin önceki bölümlerinde açıklanan Standart SKU'yu kullanmalıdır.
  • multipleAvailabilityZones Düğüm türündeki özellik yalnızca düğüm türü oluşturulduğunda tanımlanabilir ve daha sonra değiştirilemez. Mevcut düğüm türleri bu özellik ile yapılandırılamaz.
  • atlandığında sfZonalUpgradeMode veya olarak Hierarchicalayarlandığında, kümede daha fazla yükseltme etki alanı olduğundan küme ve uygulama dağıtımları daha yavaş olacaktır. Yükseltme ilkesi zaman aşımlarını 15 yükseltme etki alanı için gereken yükseltme süresini dikkate almak üzere doğru şekilde ayarlamak önemlidir. Hem uygulama hem de küme için yükseltme ilkesi, dağıtımın 12 saatlik Azure Resource Service dağıtım süresi sınırını aşmadığından emin olmak için güncelleştirilmelidir. Bu, dağıtımın 15 UD için 12 saatten uzun sürmemesi gerektiği anlamına gelir (diğer bir deyişle, her UD için 40 dakikadan uzun sürmemelidir).
  • Kümenin tek bir bölge aşağı senaryosunda hayatta kalmasını sağlamak için küme güvenilirlik düzeyini Platinum olarak ayarlayın.
  • multipleAvailabilityZones içeren bir düğüm türü için DurabilityLevel'in yükseltilmesi desteklenmez. Lütfen daha yüksek dayanıklılığa sahip yeni bir düğüm türü oluşturun.
  • SF yalnızca 3 AvailabilityZones'i destekler. Şu anda daha yüksek bir sayı desteklenmiyor.

İpucu

ayarının ayarlanmasını sfZonalUpgradeModeHierarchical veya atlanması önerilir. Dağıtım, VM'lerin bölgesel dağılımını izler ve daha az miktarda çoğaltmayı veya örneği etkileyerek daha güvenli hale getirir. sfZonalUpgradeMode Dağıtım hızı öncelikliyse veya yalnızca durum bilgisi olmayan iş yükleri birden çok Kullanılabilirlik Alanları düğüm türünde çalıştırılıyorsa olarak ayarlayınParallel. Bu, UD yürüyüşünü tüm Kullanılabilirlik Alanları paralel olarak gerçekleşmesine neden olur.

Birden çok Kullanılabilirlik Alanları ile düğüm türüne geçiş

Tüm geçiş senaryoları için, birden çok Kullanılabilirlik Alanları destekleyen yeni bir düğüm türü eklemeniz gerekir. Mevcut düğüm türü birden çok bölgeyi destekleyecek şekilde geçirilemiyor. Service Fabric kümesi birincil düğüm türünün ölçeğini artırma makalesi, yeni bir düğüm türü ve yeni düğüm türü için gereken IP ve yük dengeleyici kaynakları gibi diğer kaynakları eklemek için ayrıntılı adımlar içerir. Bu makalede, kümeye birden çok Kullanılabilirlik Alanları eklenmiş yeni bir düğüm türü eklendikten sonra mevcut düğüm türünün nasıl devre dışı bırakıldığı da açıklanır.

  • Temel yük dengeleyici ve IP kaynaklarını kullanan bir düğüm türünden geçiş: Bu işlem, Kullanılabilirlik Alanı başına bir düğüm türü olan çözüm için aşağıdaki bir alt bölümde zaten açıklanmıştır.

    Yeni düğüm türü için tek fark, Kullanılabilirlik Alanı başına bir tane yerine tüm Kullanılabilirlik Alanları için tek bir Sanal Makine Ölçek Kümesi ve bir düğüm türü olmasıdır.

  • Standart SKU yük dengeleyici ve IP kaynaklarını NSG ile kullanan bir düğüm türünden geçiş: Daha önce açıklanan yordamın aynısını izleyin. Ancak yeni yük dengeleyici, IP ve NSG kaynakları eklemeniz gerekmez. Aynı kaynaklar yeni düğüm türünde yeniden kullanılabilir.

Herhangi bir sorunla karşılaşırsanız yardım için desteğe ulaşın.

Geçiş seçeneği 2: Her bölgeye bir Sanal Makine Ölçek Kümesi sabitleyerek bölgeleri dağıtma

Bu seçenek ne zaman kullanılır?

Bu, şu anda genel kullanıma sunulan yapılandırmadır.

Service Fabric kümesini Kullanılabilirlik Alanları boyunca yaymak için, bölge tarafından desteklenen her Kullanılabilirlik Alanında bir birincil düğüm türü oluşturmanız gerekir. Bu, çekirdek düğümlerini birincil düğüm türlerinin her birine eşit olarak dağıtır.

Birincil düğüm türü için önerilen topoloji şunları gerektirir:

  • Birincil olarak işaretlenmiş üç düğüm türü
    • Her düğüm türü, farklı bir bölgede bulunan kendi Sanal Makine Ölçek Kümesi ile eşlenmelidir.
    • Her Sanal Makine Ölçek Kümesi en az beş düğüme (Gümüş Dayanıklılık) sahip olmalıdır.

Geçirmek istediğiniz Standart SKU yük dengeleyici ve IP Kaynakları ile mevcut bir Service Fabric yönetilmeyen kümeniz varsa bu seçeneği kullanmalısınız. Mevcut yönetilmeyen kümenizde Temel SKU kaynakları varsa, aşağıda Temel SKU geçişi seçeneğini görmeniz gerekir.

Service Fabric yönetilmeyen kümenizi mevcut Standart SKU yük dengeleyici ve IP kaynaklarıyla geçirme

Sanal Makine Ölçek Kümesinde bölgeleri etkinleştirme

Sanal Makine Ölçek Kümesinde bir bölgeyi etkinleştirmek için, Sanal Makine Ölçek Kümesi kaynağına aşağıdaki üç değeri ekleyin:

  • İlk değer, Sanal Makine Ölçek Kümesinin zones dağıtıldığı Kullanılabilirlik Alanı'nı belirten özelliğidir.
  • İkinci değer, olarak ayarlanması truegereken özelliğidirsinglePlacementGroup.
  • Üçüncü değer, Service Fabric Sanal Makine Ölçek Kümesi uzantısındaki özelliktir faultDomainOverride . Bu özellik yalnızca bu Sanal Makine Ölçek Kümesinin yerleştirileceği bölgeyi içermelidir. Örnek: "faultDomainOverride": "az1". Azure Service Fabric kümelerinde bölgeler arası destek olmadığından tüm Sanal Makine Ölçek Kümesi kaynakları aynı bölgeye yerleştirilmelidir.
{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "name": "[parameters('vmNodeType1Name')]",
  "location": "[parameters('computeLocation')]",
  "zones": [
    "1"
  ],
  "properties": {
    "singlePlacementGroup": true
  },
  "virtualMachineProfile": {
    "extensionProfile": {
      "extensions": [
        {
          "name": "[concat(parameters('vmNodeType1Name'),'_ServiceFabricNode')]",
          "properties": {
            "type": "ServiceFabricNode",
            "autoUpgradeMinorVersion": false,
            "publisher": "Microsoft.Azure.ServiceFabric",
            "settings": {
              "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
              "nodeTypeRef": "[parameters('vmNodeType1Name')]",
              "dataPath": "D:\\\\SvcFab",
              "durabilityLevel": "Silver",
              "certificate": {
                "thumbprint": "[parameters('certificateThumbprint')]",
                "x509StoreName": "[parameters('certificateStoreValue')]"
              },
              "systemLogUploadSettings": {
                "Enabled": true
              },
              "faultDomainOverride": "az1"
            },
            "typeHandlerVersion": "1.0"
          }
        }
      ]
    }
  }
}
Service Fabric küme kaynağında birden çok birincil düğüm türünü etkinleştirme

Küme kaynağında bir veya daha fazla düğüm türünü birincil olarak ayarlamak için özelliğini olarak trueayarlayınisPrimary. Bir Service Fabric kümesini Kullanılabilirlik Alanları arasında dağıttığınızda, farklı bölgelerde üç düğüm türüne sahip olmanız gerekir.

{
  "reliabilityLevel": "Platinum",
  "nodeTypes": [
    {
      "name": "[parameters('vmNodeType0Name')]",
      "applicationPorts": {
        "endPort": "[parameters('nt0applicationEndPort')]",
        "startPort": "[parameters('nt0applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt0fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
      "ephemeralPorts": {
        "endPort": "[parameters('nt0ephemeralEndPort')]",
        "startPort": "[parameters('nt0ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt0fabricHttpGatewayPort')]",
      "isPrimary": true,
      "vmInstanceCount": "[parameters('nt0InstanceCount')]"
    },
    {
      "name": "[parameters('vmNodeType1Name')]",
      "applicationPorts": {
        "endPort": "[parameters('nt1applicationEndPort')]",
        "startPort": "[parameters('nt1applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt1fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
      "ephemeralPorts": {
        "endPort": "[parameters('nt1ephemeralEndPort')]",
        "startPort": "[parameters('nt1ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt1fabricHttpGatewayPort')]",
      "isPrimary": true,
      "vmInstanceCount": "[parameters('nt1InstanceCount')]"
    },
    {
      "name": "[parameters('vmNodeType2Name')]",
      "applicationPorts": {
        "endPort": "[parameters('nt2applicationEndPort')]",
        "startPort": "[parameters('nt2applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt2fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
      "ephemeralPorts": {
        "endPort": "[parameters('nt2ephemeralEndPort')]",
        "startPort": "[parameters('nt2ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt2fabricHttpGatewayPort')]",
      "isPrimary": true,
      "vmInstanceCount": "[parameters('nt2InstanceCount')]"
    }
  ]
}

Herhangi bir sorunla karşılaşırsanız yardım için desteğe ulaşın.

Geçiş seçeneği: Temel SKU yük dengeleyici ve IP kaynaklarıyla Service Fabric yönetilmeyen küme

Bu seçenek ne zaman kullanılır?

Geçirmek istediğiniz Temel SKU yük dengeleyici ve IP Kaynaklarına sahip mevcut bir Service Fabric yönetilmeyen kümeniz varsa bu seçeneği kullanmalısınız. Mevcut yönetilmeyen kümenizde Standart SKU kaynakları varsa, yukarıdaki geçiş seçeneklerini görmeniz gerekir. Henüz yönetilmeyen kümenizi oluşturmadıysanız ancak AZ etkin olmasını istediğinizi biliyorsanız, Standart SKU kaynaklarıyla oluşturun.

Service Fabric yönetilmeyen kümenizi Temel SKU yük dengeleyici ve IP kaynaklarıyla geçirme

Temel bir SKU ile yük dengeleyici ve IP kullanan bir kümeyi geçirmek için öncelikle standart SKU'yu kullanarak tamamen yeni bir yük dengeleyici ve IP kaynağı oluşturmanız gerekir. Bu kaynakları güncelleştirmek mümkün değildir.

Kullanmak istediğiniz yeni çapraz Kullanılabilirlik Alanı düğüm türlerinde yeni yük dengeleyiciye ve IP'ye başvurun. Önceki örnekte, 1, 2 ve 3 bölgelerine üç yeni Sanal Makine Ölçek Kümesi kaynağı eklenmiştir. Bunlar Sanal Makine Ölçek Kümeleri yeni oluşturulan yük dengeleyiciye ve IP'ye başvurur ve Service Fabric küme kaynağında birincil düğüm türleri olarak işaretlenir.

  1. Başlamak için yeni kaynakları mevcut Azure Resource Manager şablonunuza ekleyin. Bu kaynaklar şunlardır:

    • Standart SKU kullanan bir genel IP kaynağı
    • Standart SKU kullanan bir yük dengeleyici kaynağı
    • Sanal Makine Ölçek Kümeleri dağıttığınız alt ağ tarafından başvurulan bir NSG
    • Birincil olarak işaretlenmiş üç düğüm türü
      • Her düğüm türü, farklı bir bölgede bulunan kendi Sanal Makine Ölçek Kümesi ile eşlenmelidir.
      • Her Sanal Makine Ölçek Kümesi en az beş düğüme (Gümüş Dayanıklılık) sahip olmalıdır.

    Örnek şablonda bu kaynaklara bir örnek bulunabilir.

    New-AzureRmResourceGroupDeployment `
        -ResourceGroupName $ResourceGroupName `
        -TemplateFile $Template `
        -TemplateParameterFile $Parameters
    
  2. Kaynakların dağıtımı tamamlandığında, birincil düğüm türündeki düğümleri özgün kümeden devre dışı bırakabilirsiniz. Düğümler devre dışı bırakıldığında, sistem hizmetleri daha önce dağıttığınız yeni birincil düğüm türüne geçirilir.

    Connect-ServiceFabricCluster -ConnectionEndpoint $ClusterName `
        -KeepAliveIntervalInSec 10 `
        -X509Credential `
        -ServerCertThumbprint $thumb  `
        -FindType FindByThumbprint `
        -FindValue $thumb `
        -StoreLocation CurrentUser `
        -StoreName My 
    
    Write-Host "Connected to cluster"
    
    $nodeNames = @("_nt0_0", "_nt0_1", "_nt0_2", "_nt0_3", "_nt0_4")
    
    Write-Host "Disabling nodes..."
    foreach($name in $nodeNames) {
        Disable-ServiceFabricNode -NodeName $name -Intent RemoveNode -Force
    }
    
  3. Düğümlerin tümü devre dışı bırakıldıktan sonra sistem hizmetleri bölgelere yayılan birincil düğüm türünde çalışır. Ardından devre dışı bırakılan düğümleri kümeden kaldırabilirsiniz. Düğümler kaldırıldıktan sonra özgün IP, yük dengeleyici ve Sanal Makine Ölçek Kümesi kaynaklarını kaldırabilirsiniz.

    foreach($name in $nodeNames){
        # Remove the node from the cluster
        Remove-ServiceFabricNodeState -NodeName $name -TimeoutSec 300 -Force
        Write-Host "Removed node state for node $name"
    }
    
    $scaleSetName="nt0"
    Remove-AzureRmVmss -ResourceGroupName $groupname -VMScaleSetName $scaleSetName -Force
    
    $lbname="LB-cluster-nt0"
    $oldPublicIpName="LBIP-cluster-0"
    $newPublicIpName="LBIP-cluster-1"
    
    Remove-AzureRmLoadBalancer -Name $lbname -ResourceGroupName $groupname -Force
    Remove-AzureRmPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname -Force
    
  4. Ardından, dağıttığınız Resource Manager şablonundan bu kaynaklara yapılan başvuruları kaldırın.

  5. Son olarak, DNS adını ve genel IP'yi güncelleştirin.

$oldprimaryPublicIP = Get-AzureRmPublicIpAddress -Name $oldPublicIpName  -ResourceGroupName $groupname
$primaryDNSName = $oldprimaryPublicIP.DnsSettings.DomainNameLabel
$primaryDNSFqdn = $oldprimaryPublicIP.DnsSettings.Fqdn

Remove-AzureRmLoadBalancer -Name $lbname -ResourceGroupName $groupname -Force
Remove-AzureRmPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname -Force

$PublicIP = Get-AzureRmPublicIpAddress -Name $newPublicIpName  -ResourceGroupName $groupname
$PublicIP.DnsSettings.DomainNameLabel = $primaryDNSName
$PublicIP.DnsSettings.Fqdn = $primaryDNSFqdn
Set-AzureRmPublicIpAddress -PublicIpAddress $PublicIP

Herhangi bir sorunla karşılaşırsanız yardım için desteğe ulaşın.

Sonraki adımlar