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 受控叢集,請參閱: