Aracılığıyla paylaş


Kullanılabilirlik alanları arasında Service Fabric yönetilen kümesi dağıtma

Azure'da Kullanılabilirlik Alanları, uygulamalarınızı ve verilerinizi veri merkezi hatalarına karşı koruyan yüksek kullanılabilirlik sunan bir tekliftir. Kullanılabilirlik Alanı, Azure bölgesinde bağımsız güç, soğutma ve ağ ile donatılmış benzersiz bir fiziksel konumdur.

Service Fabric yönetilen kümesi, bölge dayanıklılığı sağlamak için birden çok Kullanılabilirlik Alanları yayılan dağıtımları destekler. Bu yapılandırma, tek hata noktalarından korunmak için kritik sistem hizmetlerinin ve uygulamalarınızın yüksek kullanılabilirliğini sağlar. Azure Kullanılabilirlik Alanları yalnızca belirli bölgelerde kullanılabilir. Daha fazla bilgi için bkz. Azure Kullanılabilirlik Alanları Genel Bakış.

Not

Yayılan Kullanılabilirlik Alanı yalnızca Standart SKU kümelerinde kullanılabilir.

Örnek şablonlar kullanılabilir: Service Fabric çapraz kullanılabilirlik alanı şablonu

Bölge dayanıklı Azure Service Fabric yönetilen kümeleri için topoloji

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ölgede görülür.

Kullanılabilirlik Alanları (AZ) arasında dağıtılmış bir Service Fabric kümesi, küme durumunun yüksek kullanılabilirliğini sağlar.

Yönetilen küme için önerilen topoloji aşağıdaki kaynakları gerektirir:

  • Küme SKU'su Standart olmalıdır
  • En iyi dayanıklılık için birincil düğüm türü en az dokuz düğüme (her AZ'de 3) sahip olmalıdır, ancak en az altı (her AZ'de 2) sayısını destekler.
  • en iyi dayanıklılık için ikincil düğüm türlerinin en az altı düğümü olmalıdır, ancak en az üç düğüm destekler.

Not

Yalnızca 3 Kullanılabilirlik Alanı dağıtımı desteklenir.

Not

Yönetilen bir kümedeki sanal makine ölçek kümelerinde, bölge dışından bölgeye yayılmış bir kümeye yerinde değişiklik yapmak mümkün değildir.

Azure Service Fabric Kullanılabilirlik Alanı mimarisini gösteren diyagram Azure Service Fabric Kullanılabilirlik Alanı Mimarisi

Bölgelere yayılan sanal makine ölçek kümesindeki FD/UD biçimlerini gösteren örnek düğüm listesi

Bölgelere yayılan bir sanal makine ölçek kümesindeki FD/UD biçimlerini gösteren örnek düğüm listesi.

Hizmet çoğaltmalarının bölgeler arasında dağıtımı: Bir hizmet, bölgelere yayılan düğüm türlerine dağıtıldığında, çoğaltmalar ayrı bölgelere yerleştirildiğinden emin olmak için yerleştirilir. Bu düğüm türlerinin her birinde bulunan düğümlerde hata etki alanı bölge bilgileriyle yapılandırıldığından (örneğin, FD = fd:/zone1/1 vb.) bu ayrım sağlanır. Örneğin: bir hizmetin beş çoğaltması veya örneği için dağıtım 2-2-1'dir ve çalışma zamanı AZ'ler arasında eşit dağıtım sağlamaya çalışır.

Kullanıcı Hizmeti Çoğaltma Yapılandırması: Çapraz kullanılabilirlik bölgesi düğüm türlerinde dağıtılan durum bilgisi olan kullanıcı hizmetleri şu yapılandırmayla yapılandırılmalıdır: hedefle çoğaltma sayısı = 9, dk = 5. Bu yapılandırma, altı çoğaltma diğer iki bölgede çalışmaya devam edeceğinden, bir bölge kapatıldığında bile hizmetin çalışmasına yardımcı olur. Böyle bir senaryoda uygulama yükseltmesi de devam edecektir.

Bölge azaltma senaryosu: Bir bölge kapatıldığında, bu bölgedeki tüm düğümler aşağı olarak görünür. Bu düğümlerdeki hizmet çoğaltmaları da devre dışı kalır. Diğer bölgelerde çoğaltmalar olduğundan hizmet, işlev gören bölgelere yük devreden birincil çoğaltmalarla yanıt vermeye devam eder. Hedef çoğaltma sayısı karşılanmadığından ve sanal makine (VM) sayısı tanımlanan en düşük hedef çoğaltma boyutundan daha fazla olduğundan hizmetler uyarı durumunda görünür. Sonuç olarak Service Fabric yük dengeleyici, çalışma alanlarındaki çoğaltmaları yapılandırılan hedef çoğaltma sayısıyla eşleşecek şekilde getirir. Bu noktada hizmetler iyi durumda görünmelidir. Kapanan bölge yeniden açıldığında, yük dengeleyici tüm hizmet çoğaltmalarını tüm bölgelere eşit olarak dağıtır.

Ağ Yapılandırması

Daha fazla bilgi için bkz . Service Fabric yönetilen kümeleri için ağ ayarlarını yapılandırma.

Bölge dayanıklı Azure Service Fabric yönetilen kümesini etkinleştirme

Bölgeye dayanıklı bir Azure Service Fabric yönetilen kümesini etkinleştirmek için, kümenin bölge dayanıklı olup olmadığını belirten aşağıdaki ZonalResiliency özelliğini eklemeniz gerekir.

{
  "apiVersion": "2021-05-01",
  "type": "Microsoft.ServiceFabric/managedclusters",
  "properties": {
  ...
  "zonalResiliency": "true",
  ...
  }
}

Mevcut bir bölge dışı dayanıklı kümeyi Bölge Dayanıklılığı'na geçirme (Önizleme)

Kullanılabilirlik alanları arasında yayılmamış mevcut Service Fabric yönetilen kümeleri artık kullanılabilirlik alanlarına yaymak için yerinde geçirilebilir. Desteklenen senaryolar, üç kullanılabilirlik alanına sahip bölgelerde oluşturulan kümeleri ve dağıtım sonrası üç kullanılabilirlik bölgesinin kullanıma sunulduğu bölgelerdeki kümeleri içerir.

Gereksinimler:

  • Standart SKU kümesi.
  • Bölgede üç kullanılabilirlik alanı.

Not

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. Bu durum, ağın Bölge hatalarına dayanıklı olması için yeni bir Genel IP oluşturulması gerektiğinde oluşur. Lütfen geçişi uygun şekilde planlayın.

  1. Yeni bir IP gerekip gerekmediğini ve bölge dayanıklılığı için hangi kaynakların geçirilmesi gerektiğini belirlemeyle başlayın. 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
    

    Komutun şuna benzer bir yanıt sağlaması gerekir:

    {
    "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. Bu bağlantı kaybı, geçiş işleminin yeni Genel IP'yi ayarlaması ve kümenin Tam etki alanı adını (FQDN) yeni IP'ye güncelleştirmesi nedeniyle oluşur. Genel IP kaynağı bölge dayanıklıysa, 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 Yerel olarak yedekli depolamadan (LRS) Alanlar Arası Yedekli Depolama 'a (ZRS) 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"(ör. SFC_9240df2f-71ab-4733-a641-53a8464d992d) biçiminde olabilir.

  3. Mevcut düğüm türlerine zones özelliği ekleme

    Bu adım, düğüm türüyle ilişkili yönetilen Sanal Makine Ölçek Kümesi'ni bölge dayanıklı olarak yapılandırarak buna eklenen tüm yeni VM'lerin kullanılabilirlik alanları (Bölgesel VM'ler) arasında dağıtılmasını sağlar. Belirtilen düğüm türü birincilse, kaynak sağlayıcısı bölge dayanıklılığına geçmek için küme FQDN DNS güncelleştirmesi ile birlikte Genel IP'nin geçişini gerçekleştirir. Bu adımın getazresiliencystatus etkilerini anlamak için API'yi kullanın.

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

  • parametresini zones mevcut düğüm türlerine ["1", "2", "3"] ekleyin:

    {
       "apiVersion": "2024-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"]
         ...
       }
    },
    {
       "apiVersion": "2024-02-01-preview",
       "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeNameSecondary'))]",
       "location": "[resourcegroup().location]",
       "dependsOn": [
         "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
       ],
       "properties": {
         ...
         "isPrimary": false,
         "zones": ["1", "2", "3"]
         ...
       }
    }
    
  1. Bölgesel düğümler eklemek ve Bölgesel düğümleri kaldırmak için Düğüm türlerini ölçeklendirme

    Bu aşamada, Sanal Makine Ölçek Kümeleri bölge dayanıklı olarak işaretlenir. Bu nedenle, ölçeği artırırken yeni eklenen düğümler bölgesel olur ve ölçek daraltılırken bölgesel düğümler kaldırılır. Bu yaklaşım, özelliği düğüm türlerinde ayarlayarak vmInstanceCount kapasite gereksinimlerinize uygun herhangi bir sırada ölçeklendirme esnekliği sağlar.

    Örneğin, ilk vmInstanceCount 6 olarak ayarlanırsa (altı bölgesel düğümü belirtir), iki dağıtım gerçekleştirebilirsiniz:

    • İlk dağıtım: 6 Bölgesel düğüm eklemek için vmInstanceCount değerini 12'ye yükseltin.
    • İkinci dağıtım: Tüm Bölgesel düğümleri kaldırmak için vmInstanceCount'u 6 olarak azaltın.

    İşlem boyunca, aşağıda gösterildiği gibi ilerleme durumunu almak için API'yi de kontrol getazresiliencystatus edebilirsiniz. Her düğüm türünde en az altı bölgesel düğüm ve 0 bölgesel düğüm olduğunda işlem tamamlanmış kabul edilir.

    {
    "baseResourceStatus" :[
      {
      "resourceName": "sfmccluster1"
      "resourceType": "Microsoft.Storage/storageAccounts"
      "isZoneResilient": true
      },
      {
      "resourceName": "PublicIP-sfmccluster1"
      "resourceType": "Microsoft.Network/publicIPAddresses"
      "isZoneResilient": true
      },
      {
      "resourceName": "ntPrimary"
      "resourceType": "Microsoft.Compute/virutalmachinescalesets"
      "isZoneResilient": false
      "details": "Status: InProgress, ZonalNodes: 6, RegionalNodes: 6"
      },
      {
      "resourceName": "ntSecondary"
      "resourceType": "Microsoft.Compute/virutalmachinescalesets"
      "isZoneResilient": true
      "details": "Status: Done, ZonalNodes: 6, RegionalNodes: 0"
      }
    ],
    "isClusterZoneResilient": false
    }
    

    Not

    Bir düğümün her eklenmesi veya kaldırılması bir service fabric kümesi yükseltmesi başlatacağı için birincil düğüm türü için ölçeklendirme işlemi ek süre gerektirir.

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

    Bu adım, gelecekteki tüm düğüm türlerinin kullanılabilirlik alanlarına dağıtılmasını ve dolayısıyla kümenin AZ 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ına yayılmasını sağlamak için bir dağıtım yapın. Bu güncelleştirmeye yalnızca tüm düğüm türlerinin en az altı bölgesel düğümü ve 0 bölgesel düğümü varsa izin verilir.

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

    Güncelleştirilmiş durumu portalda Genel Bakış -> tamamlandıktan sonra benzeri Zonal resiliency Trueözellikler altında da görebilirsiniz.

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

    Yönetilen kümenin kaynakları için 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 API çağrısı aşağıdakine benzer bir yanıt vermelidir:

    {
     "baseResourceStatus" :[
       {
       "resourceName": "sfmccluster1"
       "resourceType": "Microsoft.Storage/storageAccounts"
       "isZoneResilient": true
       },
       {
       "resourceName": "PublicIP-sfmccluster1"
       "resourceType": "Microsoft.Network/publicIPAddresses"
       "isZoneResilient": true
       },
       {
         "resourceName": "ntPrimary"
         "resourceType": "Microsoft.Compute/virutalmachinescalesets"
         "isZoneResilient": true
         "details": "Status: Done, ZonalNodes: 6, RegionalNodes: 0"
       },
       {
         "resourceName": "ntSecondary"
         "resourceType": "Microsoft.Compute/virutalmachinescalesets"
         "isZoneResilient": true
         "details": "Status: Done, ZonalNodes: 6, RegionalNodes: 0"
       }
     ],
     "isClusterZoneResilient": true
    }
    

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

Service Fabric yönetilen kümelerinde FastZonalUpdate'i etkinleştirme (önizleme)

Service Fabric yönetilen kümeleri, kullanılabilirlik alanı başına en fazla yükseltme etki alanını azaltarak daha hızlı küme ve uygulama yükseltmelerini destekler. Varsayılan yapılandırma şu anda birden çok AZ düğüm türündeki en fazla 15 yükseltme etki alanına (UD) sahip olabilir. Bu çok sayıda UD yükseltme hızını azaltmıştı. Yeni yapılandırma, maksimum UD sayısını azaltarak daha hızlı güncelleştirmelere neden olur ve yükseltmelerin güvenliğini olduğu gibi tutar.

Güncelleştirme, zonalUpdateMode özelliğini "hızlı" olarak ayarlayıp düğüm ekleme ve ardından düğümü her düğüm türüne kaldırma gibi bir düğüm türü özniteliği değiştirilerek ARM şablonu aracılığıyla yapılmalıdır (bkz. 2. ve 3. gerekli adımlara bakın). Service Fabric yönetilen küme kaynağı apiVersion 2022-10-01-preview veya üzeri olmalıdır.

  1. ARM şablonunu zonalUpdateMode yeni özelliğiyle değiştirin.
   "resources": [
        {
            "type": "Microsoft.ServiceFabric/managedClusters",
            "apiVersion": "2022-10-01-preview",
            '''
            "properties": {
                '''
                "zonalResiliency": true,
                "zonalUpdateMode": "fast",
                ...
            }
        }]
  1. az sf cluster node add PowerShell komutunu kullanarak kümeye düğüm ekleyin.

  2. az sf cluster node remove PowerShell komutunu kullanarak kümeden düğüm kaldırma.