Condividi tramite


Supporto dell'estensione del set di scalabilità di macchine virtuali nei tipi di nodo del cluster gestito di Service Fabric

Ogni tipo di nodo in un cluster gestito di Service Fabric è supportato da un set di scalabilità di macchine virtuali. In questo modo è possibile aggiungere estensioni del set di scalabilità di macchine virtuali ai tipi di nodo del cluster gestito di Service Fabric. Le estensioni sono piccole applicazioni che forniscono la configurazione post-distribuzione e l'automazione nelle macchine virtuali di Azure. La piattaforma Azure ospita diverse estensioni, tra cui applicazioni di utilità, sicurezza, monitoraggio e configurazione delle VM. I server di pubblicazione prendono un'applicazione, la mettono in un'estensione e semplificano l'installazione. È sufficiente specificare i parametri obbligatori.

Aggiungere un'estensione del set di scalabilità di macchine virtuali

È possibile aggiungere un'estensione del set di scalabilità di macchine virtuali a un tipo di nodo del cluster gestito di Service Fabric usando il comando Add-AzServiceFabricManagedNodeTypeVMExtension di PowerShell.

In alternativa, è possibile aggiungere un'estensione del set di scalabilità di macchine virtuali in un tipo di nodo del cluster gestito di Service Fabric nel modello di Azure Resource Manager, ad esempio:

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "[variables('sfApiVersion')]",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "location": "[resourceGroup().location]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
      {
        "name": "KvExtension",
        "properties": {
          "publisher": "Microsoft.Azure.KeyVault",
          "type": "KeyVaultForWindows",
          "typeHandlerVersion": "3.0",
          "autoUpgradeMinorVersion": true,
          "settings": {
            "secretsManagementSettings": {
              "observedCertificates": [
                ...
              ]
            }
          }
        }
      }
    ]
  }
}

Per altre informazioni sulla configurazione dei tipi di nodo del cluster gestito di Service Fabric, vedere Tipo di nodo del cluster gestito.

Come eseguire il provisioning prima del runtime di Service Fabric

Per effettuare il provisioning delle estensioni prima dell'avvio del runtime di Service Fabric, è possibile usare il setupOrder parametro con il valore BeforeSFRuntime nelle proprietà dell'estensione per ogni estensione in base alle esigenze. In questo modo è possibile configurare l'ambiente e le dipendenze prima che il runtime e le applicazioni inizino a essere in esecuzione nel nodo. Per chiarimenti, vedere l'esempio seguente:

Nota

È essenziale notare che se un'estensione contrassegnata con BeforeSFRuntime ha esito negativo, impedirà l'avvio del runtime di Service Fabric. Di conseguenza, il nodo sarà inattivo dal punto di vista di Service Fabric. Pertanto, è fondamentale mantenere queste estensioni con configurazioni corrette e risolvere tempestivamente eventuali problemi che possono verificarsi per garantire l'integrità dei nodi all'interno del cluster.

Requisiti

Usare la versione 2023-09-01-preview dell'API di Service Fabric o versioni successive.

Esempio di modello di Resource Manager:

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "2023-09-01-preview",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
        {
            "name": "KvExtension",
            "properties": {
                "setupOrder": [
                    "BeforeSFRuntime"
                ],
                "provisionAfterExtensions" [ "GenevaMonitoringExtension" ],
                "publisher": "Microsoft.Azure.KeyVault",
                "type": "KeyVaultForWindows",
                "typeHandlerVersion": "3.0",
                "autoUpgradeMinorVersion": true,
                "settings": {
                "secretsManagementSettings": {
                  "observedCertificates": [
                    ...
                  ]
                }
              }
            }
        },
        {
          "name": "GenevaMonitoringExtension",
          "properties": {
              "setupOrder": [
                    "BeforeSFRuntime"
                ],
              "autoUpgradeMinorVersion": true,
              "enableAutomaticUpgrade": true,
              "publisher": "Microsoft.Azure.Geneva",
              "type": "GenevaMonitoring",
              "typeHandlerVersion": "2.40",
              "settings": {
                "configurations": [
                  {
                    "ServiceArguments": {
                      ...
                    },
                    "UserArguments": {
                      ...
                    }
                  }
                ]
              }
          }
      }
    ]
  }
}

Nota

Gestione speciale per l'estensione AzureDiskEncryption (ADE): ADE deve essere eseguito prima del runtime di Service Fabric per garantire che il disco venga decrittografato dopo un'operazione di ricreazione dell'immagine, consentendo al runtime di Service Fabric di iniziare a usarlo. Anche se l'estensione non è contrassegnata in modo esplicito con BeforeSFRuntime, verrà eseguita prima del runtime. Si noti tuttavia che è consigliabile abilitare la crittografia nell'host tramite l'estensione ADE. Per istruzioni dettagliate, vedere Abilitare la crittografia nell'host.

Passaggi successivi

Per altre informazioni sui cluster gestiti di Service Fabric Mesh, vedere: