Service Fabric 受控叢集節點類型上的虛擬機器擴展集擴充功能支援

Service Fabric 受控叢集中的每個節點類型都由虛擬機器擴展集支援。 這讓你能為 Service Fabric 管理叢集節點類型新增 虛擬機規模設定擴充。 擴充功能是小型應用程式,提供 Azure VM 部署後的配置與自動化。 Azure 平臺裝載許多延伸模組,涵蓋 VM 設定、監視、安全性和公用程式應用程式。 發行者會取得應用程式,將其包裝成延伸模組,並簡化安裝。 您需要做的就是提供強制參數。

新增虛擬機器縮放集擴充功能

你可以使用 Add-AzServiceFabricManagedNodeTypeVMExtension PowerShell 指令,為 Service Fabric 受管理的叢集節點類型新增虛擬機器規模設定擴充。

或者,你也可以在 Azure Resource Manager 模板中於 Service Fabric 管理叢集節點類型新增虛擬機規模設定擴充套件,例如:

{
  "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": [
                ...
              ]
            }
          }
        }
      }
    ]
  }
}

欲了解更多關於配置 Service Fabric 管理叢集節點類型的資訊,請參閱 管理叢集節點類型。

如何在 Service Fabric 執行前進行配置

若要在 Service Fabric 執行環境啟動前配置擴充功能,你可以根據需要在每個擴充功能屬性中使用參數 setupOrder,並設定其值為 BeforeSFRuntime。 這讓你能在執行時和應用程式開始在節點上執行前,先設定環境和相依關係。 請參考以下範例以釐清:

備註

必須注意,如果標記為 BeforeSFRuntime 的擴充功能失敗,將會阻止 Service Fabric 執行階段啟動。 因此,從 Service Fabric 的角度來看,該節點將會停機。 因此,維護這些擴充功能並以正確的配置,並及時處理可能出現的問題,以確保叢集內節點的健康,至關重要。

要求

請使用 Service Fabric API 2023-09-01-preview 版本或更新的版本。

ARM 範本範例:

{
  "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": {
                      ...
                    }
                  }
                ]
              }
          }
      }
    ]
  }
}

備註

AzureDiskEncryption(ADE)擴充套件的特殊處理:ADE 需要在 Service Fabric 執行時之前執行,以確保磁碟在重映像操作後被解密,讓 Service Fabric 執行時能開始使用它。 即使擴充功能沒有明確標記 BeforeSFRuntime,它也會在執行時間前執行。 但請注意,建議在主機啟用加密,而不是使用 ADE 擴充功能。 詳細說明請參閱 「啟用主機加密」。

下一步

若要深入了解 Service Fabric 受控叢集,請參閱: