Aracılığıyla paylaş


Birincil olmayan bir Service Fabric kümesi düğüm türünün ölçeğini artırma

Bu makalede, bir Service Fabric kümesinin birincil olmayan düğüm türünün en düşük kapalı kalma süresiyle nasıl ölçeklendirildiği açıklanır. Yerinde SKU yükseltmeleri Service Fabric küme düğümlerinde desteklenmez çünkü bu tür işlemler potansiyel olarak veri ve kullanılabilirlik kaybı içerir. Service Fabric düğüm türünün ölçeğini artırmak için en güvenli, en güvenilir ve önerilen yöntem:

  1. Yükseltilmiş (veya değiştirilmiş) sanal makine ölçek kümeniz SKU'su ve yapılandırması tarafından desteklenen yeni bir düğüm türünü Service Fabric kümenize ekleyin. Bu adım ayrıca ölçek kümesi için yeni bir yük dengeleyici, alt ağ ve genel IP ayarlamayı içerir.

  2. Hem özgün hem de yükseltilen ölçek kümeleri yan yana çalıştığında, uygulamalar için yerleştirme kısıtlamalarını yeni düğüm türüne ayarlayarak iş yükünü geçirin.

  3. Kümenin iyi durumda olduğunu doğrulayın, ardından silinen düğümler için özgün ölçek kümesini (ve ilgili kaynakları) ve düğüm durumunu kaldırın.

Aşağıda, ikincil düğüm türü olarak kullanılan beş düğüme sahip tek bir ölçek kümesi tarafından desteklenen , Silver dayanıklılığa sahip örnek bir kümenin birincil olmayan düğüm türü vm'lerinin VM boyutunu ve işletim sistemini güncelleştirme işleminde size yol gösterilir. Service Fabric sistem hizmetleriyle birincil düğüm türüne dokunulmaz. Birincil olmayan düğüm türünü yükselteceğiz:

  • VM boyutu Standard_D2_V2Standart D4_V2 ve
  • VM işletim sisteminden Windows Server 2019 Datacenter'danWindows Server 2022 Datacenter'a.

Uyarı

Bu yordamı bir üretim kümesinde denemeden önce, örnek şablonları incelemenizi ve bir test kümesine karşı işlemi doğrulamanızı öneririz.

Küme durumu iyi durumda değilse birincil olmayan düğüm türü ölçeği artırma yordamını denemeyin çünkü bu durum yalnızca kümenin daha da istikrarını bozacaktır. Service Fabric kümesi birincil düğüm türü ölçeğini artırma kılavuzunda kullanılan adım adım Azure dağıtım şablonlarını kullanacağız. Ancak bunları birincil düğüm türlerine özgü olmayacak şekilde değiştireceğiz. Şablonlar GitHub'da kullanılabilir.

Test kümesini ayarlama

İlk Service Fabric test kümesini ayarlayalım. İlk olarak, bu senaryoyu tamamlamak için kullanacağımız Azure Resource Manager örnek şablonlarını indirin.

Ardından Azure hesabınızda oturum açın.

# Sign in to your Azure account
Login-AzAccount -SubscriptionId "<subscription ID>"

Ardından parameters.json dosyasını açın ve değerini clusterName benzersiz bir değerle (Azure içinde) güncelleştirin.

Aşağıdaki komutlar, yeni bir otomatik olarak imzalanan sertifika oluşturma ve test kümesini dağıtma konusunda size yol gösterir. Kullanmak istediğiniz bir sertifikanız zaten varsa, Kümeyi dağıtmak için var olan bir sertifikayı kullanma bölümüne atlayın.

Otomatik olarak imzalanan bir sertifika oluşturma ve kümeyi dağıtma

İlk olarak, Service Fabric küme dağıtımı için ihtiyacınız olan değişkenleri atayın. Hesabınız ve ortamınız için resourceGroupName, certSubjectName, parameterFilePathve templateFilePath değerlerini ayarlayın:

# Assign deployment variables
$resourceGroupName = "sftestupgradegroup"
$certOutputFolder = "c:\certificates"
$certPassword = "Password!1" | ConvertTo-SecureString -AsPlainText -Force
$certSubjectName = "sftestupgrade.southcentralus.cloudapp.azure.com"
$parameterFilePath = "C:\parameters.json"
$templateFilePath = "C:\Initial-TestClusterSetup.json"

Not

certOutputFolder Yeni bir Service Fabric kümesi dağıtmak için komutunu çalıştırmadan önce yerel makinenizde konumun mevcut olduğundan emin olun. Ardından Service Fabric test kümesini dağıtın:

# Deploy the initial test cluster
New-AzServiceFabricCluster `
    -ResourceGroupName $resourceGroupName `
    -CertificateOutputFolder $certOutputFolder `
    -CertificatePassword $certPassword `
    -CertificateSubjectName $certSubjectName `
    -TemplateFile $templateFilePath `
    -ParameterFile $parameterFilePath

Dağıtım tamamlandıktan sonra yerel makinenizde .pfx dosyasını ($certPfx) bulun ve sertifika deponuza aktarın:

cd c:\certificates
$certPfx = ".\sftestupgradegroup20200312121003.pfx"
Import-PfxCertificate `
     -FilePath $certPfx `
     -CertStoreLocation Cert:\CurrentUser\My `
     -Password (ConvertTo-SecureString Password!1 -AsPlainText -Force)

İşlem, artık yeni kümeye bağlanmak ve sistem durumunu denetlemek için kullanabileceğiniz sertifika parmak izini döndürür. (Küme dağıtımına alternatif bir yaklaşım olan aşağıdaki bölümü atlayın.)

Kümeyi dağıtmak için var olan bir sertifikayı kullanma

Alternatif olarak, test kümesini dağıtmak için mevcut bir Azure Key Vault sertifikasını kullanabilirsiniz. Bunu yapmak için Key Vault ve sertifika parmak izinize başvurular almanız gerekir.

# Key Vault variables
$certUrlValue = "https://sftestupgradegroup.vault.azure.net/secrets/sftestupgradegroup20200309235308/dac0e7b7f9d4414984ccaa72bfb2ea39"
$sourceVaultValue = "/subscriptions/########-####-####-####-############/resourceGroups/sftestupgradegroup/providers/Microsoft.KeyVault/vaults/sftestupgradegroup"
$thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"

Ardından küme için bir kaynak grubu adı belirleyin ve ve parameterFilePath konumlarını templateFilePath ayarlayın:

Not

Belirlenen kaynak grubu zaten mevcut olmalı ve Key Vault ile aynı bölgede bulunmalıdır.

$resourceGroupName = "sftestupgradegroup"
$templateFilePath = "C:\Initial-TestClusterSetup.json"
$parameterFilePath = "C:\parameters.json"

Son olarak, ilk test kümesini dağıtmak için aşağıdaki komutu çalıştırın:

# Deploy the initial test cluster
New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -TemplateFile $templateFilePath `
    -TemplateParameterFile $parameterFilePath `
    -CertificateThumbprint $thumb `
    -CertificateUrlValue $certUrlValue `
    -SourceVaultValue $sourceVaultValue `
    -Verbose

Yeni kümeye bağlanın ve sistem durumunu denetleyin

Kümeye bağlanın ve düğümlerinin beşinin de iyi durumda olduğundan emin olun (ve thumb değişkenlerini kendi değerlerinizle değiştirinclusterName):

# Connect to the cluster
$clusterName = "sftestupgrade.southcentralus.cloudapp.azure.com:19000"
$thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"
Connect-ServiceFabricCluster `
    -ConnectionEndpoint $clusterName `
    -KeepAliveIntervalInSec 10 `
    -X509Credential `
    -ServerCertThumbprint $thumb  `
    -FindType FindByThumbprint `
    -FindValue $thumb `
    -StoreLocation CurrentUser `
    -StoreName My
# Check cluster health
Get-ServiceFabricClusterHealth

Bu işlemle, yükseltme yordamını başlatmaya hazırız.

Yükseltilmiş ölçek kümesiyle yeni bir birincil olmayan düğüm türü dağıtma

Bir düğüm türünü yükseltmek (dikey olarak ölçeklendirmek) için öncelikle yeni bir ölçek kümesi ve destekleyici kaynaklar tarafından desteklenen yeni bir düğüm türü dağıtmamız gerekir. Yeni ölçek kümesi, aynı özgün ölçek kümesi gibi birincil olmayan ()isPrimary: false olarak işaretlenir. Birincil düğüm türünün ölçeğini genişletmek istiyorsanız bkz. Service Fabric kümesi birincil düğüm türünün ölçeğini artırma. Aşağıdaki bölümde oluşturulan kaynaklar sonunda kümenizdeki yeni düğüm türüne dönüşür ve özgün düğüm türündeki kaynaklar silinir.

Küme şablonunu yükseltilmiş ölçek kümesiyle güncelleştirme

Yeni bir düğüm türü ve destekleyici kaynaklar eklemek için özgün küme dağıtım şablonunun bölümler arası değişiklikleri aşağıdadır.

Bu adım için gerekli değişikliklerin çoğu Step1-AddPrimaryNodeType.json şablon dosyasında sizin için zaten yapılmıştır. Ancak, şablon dosyasının birincil olmayan düğüm türleri için çalışması için ek bir değişiklik yapılmalıdır. Aşağıdaki bölümlerde bu değişiklikler ayrıntılı olarak açıklanır ve değişiklik yapmanız gerektiğinde açıklama balonları yapılır.

Not

Özgün düğüm türünden, ölçek kümesinden, yük dengeleyiciden, genel IP'den ve özgün birincil olmayan düğüm türünün alt ağından benzersiz adlar kullandığınızdan emin olun; bu kaynaklar işlemin sonraki bir adımında silinecektir.

Mevcut sanal ağda yeni bir alt ağ oluşturma

{
    "name": "[variables('subnet1Name')]",
    "properties": {
        "addressPrefix": "[variables('subnet1Prefix')]"
    }
}

Benzersiz bir domainNameLabel ile yeni bir genel IP oluşturma

{
    "apiVersion": "[variables('publicIPApiVersion')]",
    "type": "Microsoft.Network/publicIPAddresses",
    "name": "[concat(variables('lbIPName'),'-',variables('vmNodeType1Name'))]",
    "location": "[variables('computeLocation')]",
    "properties": {
        "dnsSettings": {
            "domainNameLabel": "[concat(variables('dnsName'),'-','nt1')]"
        },
        "publicIPAllocationMethod": "Dynamic"
    },
    "tags": {
        "resourceType": "Service Fabric",
        "clusterName": "[parameters('clusterName')]"
    }
}

Genel IP için yeni bir yük dengeleyici oluşturma

"dependsOn": [
    "[concat('Microsoft.Network/publicIPAddresses/',concat(variables('lbIPName'),'-',variables('vmNodeType1Name')))]"
]

Yeni bir sanal makine ölçek kümesi oluşturma (yükseltilmiş VM ve işletim sistemi SKU'ları ile)

Düğüm Türü Başvurusu

"nodeTypeRef": "[variables('vmNodeType1Name')]"

VM SKU

"sku": {
    "name": "[parameters('vmNodeType1Size')]",
    "capacity": "[parameters('nt1InstanceCount')]",
    "tier": "Standard"
}

İşletim sistemi SKU'su

"imageReference": {
    "publisher": "[parameters('vmImagePublisher1')]",
    "offer": "[parameters('vmImageOffer1')]",
    "sku": "[parameters('vmImageSku1')]",
    "version": "[parameters('vmImageVersion1')]"
}

Ayrıca, iş yükünüz için gereken ek uzantıları eklediğinizden emin olun.

Kümeye birincil olmayan yeni bir düğüm türü ekleme

Artık yeni düğüm türünün (vmNodeType1Name) kendi adı, alt ağı, IP,yük dengeleyicisi ve ölçek kümesi olduğuna göre, özgün düğüm türünden (, ve nt0fabricTcpGatewayPortgibint0applicationEndPortnt0applicationStartPort) diğer tüm değişkenleri yeniden kullanabilir.

Mevcut şablon dosyasında parametresi, isPrimaryService Fabric kümesinin ölçeğini artırma birincil düğüm türü kılavuzu için olarak ayarlanırtrue. false Birincil olmayan düğüm türünüz için olarak değiştirinisPrimary:

"name": "[variables('vmNodeType1Name')]",
"applicationPorts": {
    "endPort": "[variables('nt0applicationEndPort')]",
    "startPort": "[variables('nt0applicationStartPort')]"
},
"clientConnectionEndpointPort": "[variables('nt0fabricTcpGatewayPort')]",
"durabilityLevel": "Bronze",
"ephemeralPorts": {
    "endPort": "[variables('nt0ephemeralEndPort')]",
    "startPort": "[variables('nt0ephemeralStartPort')]"
},
"httpGatewayEndpointPort": "[variables('nt0fabricHttpGatewayPort')]",
"isPrimary": false,
"reverseProxyEndpointPort": "[variables('nt0reverseProxyEndpointPort')]",
"vmInstanceCount": "[parameters('nt1InstanceCount')]"

Şablon ve parametre dosyalarınızdaki tüm değişiklikleri uyguladıktan sonra, Key Vault başvurularınızı almak ve güncelleştirmeleri kümenize dağıtmak için sonraki bölüme geçin.

Key Vault başvurularınızı alma

Güncelleştirilmiş yapılandırmayı dağıtmak için Key Vault depolanmış küme sertifikasına yönelik birkaç başvuruya ihtiyacınız vardır. Bu değerleri bulmanın en kolay yolu Azure portal. Şunlara ihtiyacınız var:

  • Küme sertifikanızın Key Vault URL'si. Azure portal'daki Key Vault Sertifikalar>İstediğiniz sertifika>Gizli Dizi Tanımlayıcısı'nı seçin:

    $certUrlValue="https://sftestupgradegroup.vault.azure.net/secrets/sftestupgradegroup20200309235308/dac0e7b7f9d4414984ccaa72bfb2ea39"
    
  • Küme sertifikanızın parmak izi. (Sistem durumunu denetlemek için ilk kümeye bağlandıysanız bu büyük olasılıkla zaten vardır.) Azure portal'deki aynı sertifika dikey penceresinden (İstediğiniz sertifikayısertifikalar>) X.509 SHA-1 Parmak İzi'ni (onaltılık) kopyalayın:

    $thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"
    
  • Key Vault Kaynak Kimliği. Azure portal'daki Key Vault ÖzelliklerKaynak Kimliği'ni> seçin:

    $sourceVaultValue = "/subscriptions/########-####-####-####-############/resourceGroups/sftestupgradegroup/providers/Microsoft.KeyVault/vaults/sftestupgradegroup"
    

Güncelleştirilmiş şablonu dağıtma

öğesini templateFilePath gerektiği gibi ayarlayın ve aşağıdaki komutu çalıştırın:

# Deploy the new node type and its resources
$templateFilePath = "C:\Step1-AddPrimaryNodeType.json"
New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -TemplateFile $templateFilePath `
    -TemplateParameterFile $parameterFilePath `
    -CertificateThumbprint $thumb `
    -CertificateUrlValue $certUrlValue `
    -SourceVaultValue $sourceVaultValue `
    -Verbose

Dağıtım tamamlandığında kümenin durumunu yeniden denetleyin ve her iki düğüm türündeki tüm düğümlerin iyi durumda olduğundan emin olun.

Get-ServiceFabricClusterHealth

İş yüklerini yeni düğüm türüne geçirme

Tüm uygulamalar yeni düğüm türüne taşınıp iyi durumda olana kadar bekleyin.

Özgün düğüm türü ölçek kümesindeki düğümleri devre dışı bırakma

Tüm çekirdek düğümleri yeni ölçek kümesine geçirildikten sonra, özgün ölçek kümesinin düğümlerini devre dışı bırakabilirsiniz.

# Disable the nodes in the original scale set.
$nodeType = "nt0vm"
$nodes = Get-ServiceFabricNode
Write-Host "Disabling nodes..."
foreach($node in $nodes)
{
  if ($node.NodeType -eq $nodeType)
  {
    $node.NodeName
    Disable-ServiceFabricNode -Intent RemoveNode -NodeName $node.NodeName -Force
  }
}

özgün ölçek kümesindeki düğümlerin devre dışı bırakma durumundan Devre dışı bırak durumuna ilerleme durumunu izlemek için Service Fabric Explorer kullanın. Tüm düğümlerin Devre Dışı durumuna ulaşmasını bekleyin.

Devre dışı bırakılan düğümlerde verileri durdurma

Artık devre dışı bırakılan düğümlerde verileri durdurabilirsiniz.

# Stop data on the disabled nodes.
foreach($node in $nodes)
{
  if ($node.NodeType -eq $nodeType)
  {
    $node.NodeName
    Start-ServiceFabricNodeTransition -Stop -OperationId (New-Guid) -NodeInstanceId $node.NodeInstanceId -NodeName $node.NodeName -StopDurationInSeconds 10000
  }
}

Özgün düğüm türünü kaldırma ve kaynaklarını temizleme

Dikey ölçeklendirme yordamını sonuçlandırmak için özgün düğüm türünü ve ilişkili kaynaklarını kaldırmaya hazırız.

Özgün ölçek kümesini kaldırma

İlk olarak düğüm türünün yedekleme ölçek kümesini kaldırın.

$scaleSetName = "nt0vm"
$scaleSetResourceType = "Microsoft.Compute/virtualMachineScaleSets"
Remove-AzResource -ResourceName $scaleSetName -ResourceType $scaleSetResourceType -ResourceGroupName $resourceGroupName -Force

Özgün IP ve yük dengeleyici kaynaklarını silme

Artık özgün IP'yi ve yük dengeleyici kaynaklarını silebilirsiniz. Bu adımda DNS adını da güncelleştireceksiniz.

Not

Standart SKU genel IP'sini ve yük dengeleyiciyi zaten kullanıyorsanız bu adım isteğe bağlıdır. Bu durumda, aynı yük dengeleyici altında birden çok ölçek kümesi /düğüm türü olabilir. Aşağıdaki komutları çalıştırarak $lbname değeri gerektiği gibi değiştirin.

# Delete the original IP and load balancer resources
$lbName = "LB-sftestupgrade-nt0vm"
$lbResourceType = "Microsoft.Network/loadBalancers"
$ipResourceType = "Microsoft.Network/publicIPAddresses"
$oldPublicIpName = "PublicIP-LB-FE-nt0vm"
$newPublicIpName = "PublicIP-LB-FE-nt1vm"
$oldPublicIP = Get-AzPublicIpAddress -Name $oldPublicIpName  -ResourceGroupName $resourceGroupName
$nonPrimaryDNSName = $oldNonPrimaryPublicIP.DnsSettings.DomainNameLabel
$nonPrimaryDNSFqdn = $oldNonPrimaryPublicIP.DnsSettings.Fqdn
Remove-AzResource -ResourceName $lbName -ResourceType $lbResourceType -ResourceGroupName $resourceGroupName -Force
Remove-AzResource -ResourceName $oldPublicIpName -ResourceType $ipResourceType -ResourceGroupName $resourceGroupName -Force
$PublicIP = Get-AzPublicIpAddress -Name $newPublicIpName  -ResourceGroupName $resourceGroupName
$PublicIP.DnsSettings.DomainNameLabel = $nonPrimaryDNSName
$PublicIP.DnsSettings.Fqdn = $nonPrimaryDNSFqdn
Set-AzPublicIpAddress -PublicIpAddress $PublicIP

Özgün düğüm türünden düğüm durumunu kaldırma

Özgün düğüm türü düğümleri artık Sistem Durumu için Hata gösterecektir. Düğüm durumunu kümeden kaldırın.

# Remove state of the obsolete nodes from the cluster
$nodeType = "nt0vm"
$nodes = Get-ServiceFabricNode
Write-Host "Removing node state..."
foreach($node in $nodes)
{
  if ($node.NodeType -eq $nodeType)
  {
    $node.NodeName
    Remove-ServiceFabricNodeState -NodeName $node.NodeName -Force
  }
}

Service Fabric Explorer artık yeni düğüm türünün (nt1vm) yalnızca beş düğümünü yansıtmalıdır ve tümü Tamam Sistem Durumu değerlerine sahip olmalıdır. Şablonu en son değişiklikleri yansıtacak şekilde güncelleştirerek ve yeniden dağıtarak bunu düzelteceğiz.

Dağıtım şablonunu, yeni ölçeklendirilen birincil olmayan düğüm türünü yansıtacak şekilde güncelleştirin

Bu adım için gerekli değişikliklerin çoğu Step3-CleanupOriginalPrimaryNodeType.json şablon dosyasında sizin için zaten yapılmıştır. Ancak, şablon dosyasının birincil olmayan düğüm türleri için çalışması için ek bir değişiklik yapılmalıdır. Aşağıdaki bölümlerde bu değişiklikler ayrıntılı olarak açıklanır ve değişiklik yapmanız gerektiğinde açıklama balonları yapılır.

Küme yönetim uç noktasını güncelleştirme

Dağıtım şablonundaki kümeyi managementEndpoint yeni IP'ye başvuracak şekilde güncelleştirin ( vmNodeType0Name değerini vmNodeType1Name ile güncelleştirerek).

  "managementEndpoint": "[concat('https://',reference(concat(variables('lbIPName'),'-',variables('vmNodeType1Name'))).dnsSettings.fqdn,':',variables('nt0fabricHttpGatewayPort'))]",

Özgün düğüm türü başvuruyu kaldırma

Dağıtım şablonundaki Service Fabric kaynağından özgün düğüm türü başvurusunu kaldırın.

Mevcut şablon dosyasında parametresi, isPrimaryService Fabric kümesinin ölçeğini artırma birincil düğüm türü kılavuzu için olarak ayarlanırtrue. false Birincil olmayan düğüm türünüz için olarak değiştirinisPrimary:

"name": "[variables('vmNodeType0Name')]",
"applicationPorts": {
    "endPort": "[variables('nt0applicationEndPort')]",
    "startPort": "[variables('nt0applicationStartPort')]"
},
"clientConnectionEndpointPort": "[variables('nt0fabricTcpGatewayPort')]",
"durabilityLevel": "Bronze",
"ephemeralPorts": {
    "endPort": "[variables('nt0ephemeralEndPort')]",
    "startPort": "[variables('nt0ephemeralStartPort')]"
},
"httpGatewayEndpointPort": "[variables('nt0fabricHttpGatewayPort')]",
"isPrimary": false,
"reverseProxyEndpointPort": "[variables('nt0reverseProxyEndpointPort')]",
"vmInstanceCount": "[parameters('nt0InstanceCount')]"

Sistem durumu ilkelerini mevcut hataları yoksayacak şekilde yapılandırma

Yalnızca Silver ve daha yüksek dayanıklılığa sahip kümeler için şablondaki küme kaynağını güncelleştirin ve aşağıda gösterildiği gibi küme kaynağı özellikleri altına applicationDeltaHealthPolicies ekleyerek sistem durumu ilkelerini uygulama durumunu yoksayacak fabric:/System şekilde yapılandırın. Aşağıdaki ilke mevcut hataları yoksayar ancak yeni sistem durumu hatalarına izin vermez.

"upgradeDescription":  
{ 
 "forceRestart": false, 
 "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", 
 "healthCheckWaitDuration": "00:05:00", 
 "healthCheckStableDuration": "00:05:00", 
 "healthCheckRetryTimeout": "00:45:00", 
 "upgradeTimeout": "12:00:00", 
 "upgradeDomainTimeout": "02:00:00", 
 "healthPolicy": { 
   "maxPercentUnhealthyNodes": 100, 
   "maxPercentUnhealthyApplications": 100 
 }, 
 "deltaHealthPolicy":  
 { 
   "maxPercentDeltaUnhealthyNodes": 0, 
   "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, 
   "maxPercentDeltaUnhealthyApplications": 0, 
   "applicationDeltaHealthPolicies":  
   { 
       "fabric:/System":  
       { 
           "defaultServiceTypeDeltaHealthPolicy":  
           { 
                   "maxPercentDeltaUnhealthyServices": 0 
           } 
       } 
   } 
 } 
}

Özgün düğüm türü için destekleyici kaynakları kaldırma

ÖZGÜN düğüm türüyle ilgili diğer tüm kaynakları ARM şablonundan ve parametre dosyasından kaldırın. Aşağıdakileri silin:

    "vmImagePublisher": {
      "value": "MicrosoftWindowsServer"
    },
    "vmImageOffer": {
      "value": "WindowsServer"
    },
    "vmImageSku": {
      "value": "2019-Datacenter"
    },
    "vmImageVersion": {
      "value": "latest"
    },

Son haline getirilmiş şablonu dağıtma

Son olarak, değiştirilen Azure Resource Manager şablonunu dağıtın.

# Deploy the updated template file
$templateFilePath = "C:\Step3-CleanupOriginalPrimaryNodeType"
New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -TemplateFile $templateFilePath `
    -TemplateParameterFile $parameterFilePath `
    -CertificateThumbprint $thumb `
    -CertificateUrlValue $certUrlValue `
    -SourceVaultValue $sourceVaultValue `
    -Verbose

Not

Bu adım genellikle iki saate kadar sürebilir. Yükseltme, ayarları InfrastructureService olarak değiştirir; bu nedenle, bir düğümün yeniden başlatılması gerekir. Bu durumda forceRestart yoksayılır. parametresi upgradeReplicaSetCheckTimeout , Service Fabric'in bir bölümün güvenli durumda olmasını beklediği en uzun süreyi (henüz güvenli bir durumda değilse) belirtir. Bir düğümdeki tüm bölümler için güvenlik denetimleri geçtikten sonra Service Fabric bu düğümdeki yükseltmeye devam eder. Parametresinin upgradeTimeout değeri 6 saate düşürülebilir, ancak maksimum güvenlik için 12 saat kullanılmalıdır.

Dağıtım tamamlandıktan sonra Azure portal Service Fabric kaynak Durumunun Hazır olduğunu doğrulayın. Yeni Service Fabric Explorer uç noktasına ulaşabildiğinizi, Küme SistemDurumu'na uygun olduğunu ve dağıtılan tüm uygulamaların düzgün çalıştığını doğrulayın.

Bu şekilde, birincil olmayan bir küme düğüm türünü dikey olarak ölçeklendirdiniz!

Sonraki adımlar