共用方式為


Microsoft.ServiceFabric 叢集

Bicep 資源定義

叢集資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.ServiceFabric/clusters 資源,請將下列 Bicep 新增至範本。

resource symbolicname 'Microsoft.ServiceFabric/clusters@2023-11-01-preview' = {
  location: 'string'
  name: 'string'
  properties: {
    addOnFeatures: [
      'string'
    ]
    applicationTypeVersionsCleanupPolicy: {
      maxUnusedVersionsToKeep: int
    }
    azureActiveDirectory: {
      clientApplication: 'string'
      clusterApplication: 'string'
      tenantId: 'string'
    }
    certificate: {
      thumbprint: 'string'
      thumbprintSecondary: 'string'
      x509StoreName: 'string'
    }
    certificateCommonNames: {
      commonNames: [
        {
          certificateCommonName: 'string'
          certificateIssuerThumbprint: 'string'
        }
      ]
      x509StoreName: 'string'
    }
    clientCertificateCommonNames: [
      {
        certificateCommonName: 'string'
        certificateIssuerThumbprint: 'string'
        isAdmin: bool
      }
    ]
    clientCertificateThumbprints: [
      {
        certificateThumbprint: 'string'
        isAdmin: bool
      }
    ]
    clusterCodeVersion: 'string'
    diagnosticsStorageAccountConfig: {
      blobEndpoint: 'string'
      protectedAccountKeyName: 'string'
      protectedAccountKeyName2: 'string'
      queueEndpoint: 'string'
      storageAccountName: 'string'
      tableEndpoint: 'string'
    }
    enableHttpGatewayExclusiveAuthMode: bool
    eventStoreServiceEnabled: bool
    fabricSettings: [
      {
        name: 'string'
        parameters: [
          {
            name: 'string'
            value: 'string'
          }
        ]
      }
    ]
    infrastructureServiceManager: bool
    managementEndpoint: 'string'
    nodeTypes: [
      {
        applicationPorts: {
          endPort: int
          startPort: int
        }
        capacities: {
          {customized property}: 'string'
        }
        clientConnectionEndpointPort: int
        durabilityLevel: 'string'
        ephemeralPorts: {
          endPort: int
          startPort: int
        }
        httpGatewayEndpointPort: int
        httpGatewayTokenAuthEndpointPort: int
        isPrimary: bool
        isStateless: bool
        multipleAvailabilityZones: bool
        name: 'string'
        placementProperties: {
          {customized property}: 'string'
        }
        reverseProxyEndpointPort: int
        vmInstanceCount: int
      }
    ]
    notifications: [
      {
        isEnabled: bool
        notificationCategory: 'string'
        notificationLevel: 'string'
        notificationTargets: [
          {
            notificationChannel: 'string'
            receivers: [
              'string'
            ]
          }
        ]
      }
    ]
    reliabilityLevel: 'string'
    reverseProxyCertificate: {
      thumbprint: 'string'
      thumbprintSecondary: 'string'
      x509StoreName: 'string'
    }
    reverseProxyCertificateCommonNames: {
      commonNames: [
        {
          certificateCommonName: 'string'
          certificateIssuerThumbprint: 'string'
        }
      ]
      x509StoreName: 'string'
    }
    sfZonalUpgradeMode: 'string'
    upgradeDescription: {
      deltaHealthPolicy: {
        applicationDeltaHealthPolicies: {
          {customized property}: {
            defaultServiceTypeDeltaHealthPolicy: {
              maxPercentDeltaUnhealthyServices: int
            }
            serviceTypeDeltaHealthPolicies: {
              {customized property}: {
                maxPercentDeltaUnhealthyServices: int
              }
            }
          }
        }
        maxPercentDeltaUnhealthyApplications: int
        maxPercentDeltaUnhealthyNodes: int
        maxPercentUpgradeDomainDeltaUnhealthyNodes: int
      }
      forceRestart: bool
      healthCheckRetryTimeout: 'string'
      healthCheckStableDuration: 'string'
      healthCheckWaitDuration: 'string'
      healthPolicy: {
        applicationHealthPolicies: {
          {customized property}: {
            defaultServiceTypeHealthPolicy: {
              maxPercentUnhealthyServices: int
            }
            serviceTypeHealthPolicies: {
              {customized property}: {
                maxPercentUnhealthyServices: int
              }
            }
          }
        }
        maxPercentUnhealthyApplications: int
        maxPercentUnhealthyNodes: int
      }
      upgradeDomainTimeout: 'string'
      upgradeReplicaSetCheckTimeout: 'string'
      upgradeTimeout: 'string'
    }
    upgradeMode: 'string'
    upgradePauseEndTimestampUtc: 'string'
    upgradePauseStartTimestampUtc: 'string'
    upgradeWave: 'string'
    vmImage: 'string'
    vmssZonalUpgradeMode: 'string'
    waveUpgradePaused: bool
  }
  tags: {
    {customized property}: 'string'
  }
}

屬性值

ApplicationDeltaHealthPolicy

名字 描述 價值
defaultServiceTypeDeltaHealthPolicy 升級叢集時,預設用來評估服務類型健康情況的差異健康情況原則。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每個服務類型名稱具有服務類型差異健康情況原則的對應。 地圖預設為空白。 ServiceTypeDeltaHealthPolicyMap

ApplicationDeltaHealthPolicyMap

名字 描述 價值

ApplicationHealthPolicy

名字 描述 價值
defaultServiceTypeHealthPolicy 默認用來評估服務類型健康情況的健康情況原則。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 對應,每個服務類型名稱的服務類型健康情況原則。 地圖預設為空白。 ServiceTypeHealthPolicyMap

ApplicationHealthPolicyMap

名字 描述 價值

ApplicationTypeVersionsCleanupPolicy

名字 描述 價值
maxUnusedVersionsToKeep 要保留的每個應用程式類型未使用的版本數目。 int

約束:
最小值 = 0 (必要)

AzureActiveDirectory

名字 描述 價值
clientApplication Azure Active Directory 用戶端應用程式識別碼。 字串
clusterApplication Azure Active Directory 叢集應用程式標識符。 字串
tenantId Azure Active Directory 租用戶標識符。 字串

CertificateDescription

名字 描述 價值
指紋 主要憑證的指紋。 字串 (必要)
thumbprintSecondary 次要憑證的指紋。 字串
x509StoreName 本機證書存儲位置。 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'不允許'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ClientCertificateCommonName

名字 描述 價值
certificateCommonName 用戶端憑證的一般名稱。 字串 (必要)
certificateIssuerThumbprint 用戶端憑證的簽發者指紋。 字串 (必要)
isAdmin 指出客戶端憑證是否具有叢集的系統管理員存取權。 非系統管理員用戶端只能在叢集上執行唯讀作業。 布林 (必要)

ClientCertificateThumbprint

名字 描述 價值
certificateThumbprint 用戶端憑證的指紋。 字串 (必要)
isAdmin 指出客戶端憑證是否具有叢集的系統管理員存取權。 非系統管理員用戶端只能在叢集上執行唯讀作業。 布林 (必要)

ClusterHealthPolicy

名字 描述 價值
applicationHealthPolicies 定義用來評估應用程式或其其中一個子實體健康情況的應用程式健康情況原則對應。 ApplicationHealthPolicyMap
maxPercentUnhealthyApplications 報告錯誤之前,允許的應用程式狀況不良百分比上限。 例如,若要允許10個應用程式% 狀況不良,這個值會是10。

百分比代表在叢集視為錯誤之前,可能狀況不良的應用程式最大容許百分比。
如果遵守百分比,但至少有一個狀況不良的應用程式,則健康情況會評估為Warning。
這是藉由將狀況不良的應用程式數目除以叢集中應用程式實例總數,不包括 ApplicationTypeHealthPolicyMap 中包含的應用程式類型應用程式。
計算會四捨五入,以容許少量應用程序發生一個失敗。 默認百分比為零。
int

約束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 報告錯誤之前,允許狀況不良節點的百分比上限。 例如,若要允許10個節點% 狀況不良,這個值會是10。

百分比代表在叢集視為錯誤之前,可狀況不良之節點的最大容許百分比。
如果遵守百分比,但至少有一個狀況不良的節點,則健康情況會評估為Warning。
百分比的計算方式是將狀況不良的節點數目除以叢集中的節點總數。
計算會四捨五入以容許少數節點上的一個失敗。 默認百分比為零。

在大型叢集中,某些節點一律會關閉或關閉以進行修復,因此應該將此百分比設定為容許該百分比。
int

約束:
最小值 = 0
最大值 = 100

ClusterProperties

名字 描述 價值
addOnFeatures 在叢集中啟用的附加元件功能清單。 包含任何的字串數組:
'BackupRestoreService'
'DnsService'
'RepairManager'
'ResourceMonitorService'
applicationTypeVersionsCleanupPolicy 用來清除未使用版本的原則。 ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory 叢集的 AAD 驗證設定。 AzureActiveDirectory
證書 用於保護叢集的憑證。 提供的憑證將用於叢集內的節點對節點安全性、叢集管理端點的 SSL 憑證和預設管理員用戶端。 CertificateDescription
certificateCommonNames 描述用來保護叢集之通用名稱所參考的伺服器憑證清單。 ServerCertificateCommonNames
clientCertificateCommonNames 允許管理叢集之一般名稱所參考的客戶端憑證清單。 ClientCertificateCommonName[]
clientCertificateThumbprints 允許管理叢集的指紋所參考的客戶端憑證清單。 ClientCertificateThumbprint[]
clusterCodeVersion 叢集的 Service Fabric 運行時間版本。 只有當 upgradeMode 設定為 'Manual' 時,才能設定使用者 此屬性。 若要取得新叢集可用的 Service Fabric 版本列表,請使用 ClusterVersion API。 若要取得現有叢集可用的版本清單,請使用 availableClusterVersions 字串
diagnosticsStorageAccountConfig 用來儲存 Service Fabric 診斷記錄的記憶體帳戶資訊。 DiagnosticsStorageAccountConfig
enableHttpGatewayExclusiveAuthMode 如果為 true,則 HttpGatewayEndpoint 上不允許令牌型驗證。 這需要支援 TLS 1.3 版和更新版本。 如果使用令牌型驗證,則必須定義 HttpGatewayTokenAuthEndpointPort。 bool
eventStoreServiceEnabled 指出事件存放區服務是否已啟用。 bool
fabricSettings 要設定叢集的自定義網狀架構設定清單。 SettingsSectionDescription[]
infrastructureServiceManager 指出基礎結構服務管理員是否已啟用。 bool
managementEndpoint 叢集的 HTTP 管理端點。 字串 (必要)
nodeTypes 叢集中的節點類型清單。 NodeTypeDescription[] (必要)
通知 指出叢集事件的通知通道清單。 通知[]
reliabilityLevel 可靠性層級會設定系統服務的復本集大小。 瞭解 ReliabilityLevel

- 無 - 執行目標副本集計數為 1 的系統服務。 這隻應該用於測試叢集。
- 銅級 - 執行目標副本集計數為 3 的系統服務。 這隻應該用於測試叢集。
- Silver - 使用目標副本集計數 5 執行系統服務。
- Gold - 執行目標副本集計數為 7 的系統服務。
- 白金 - 以目標副本集計數 9 執行系統服務。
'Bronze'
'Gold'
'None'
'Platinum'
'Silver'
reverseProxyCertificate 反向 Proxy 所使用的伺服器證書。 CertificateDescription
reverseProxyCertificateCommonNames 描述用來保護叢集之通用名稱所參考的伺服器憑證清單。 ServerCertificateCommonNames
sfZonalUpgradeMode 此屬性會控制升級網域中 VM 的邏輯群組(UD)。 如果叢集中已有多個可用性區域的節點類型,則無法修改這個屬性。 '階層式'
'Parallel'
upgradeDescription 升級叢集時要使用的原則。 ClusterUpgradePolicy
upgradeMode 有新的 Service Fabric 執行時間版本可用時,叢集的升級模式。 'Automatic'
'Manual'
upgradePauseEndTimestampUtc 指出在叢集上暫停自動運行時間版本升級的特定時間週期 (UTC) 的結束日期和時間。 字串
upgradePauseStartTimestampUtc 指出在叢集上暫停自動運行時間版本升級的特定時間週期的開始日期和時間。 字串
upgradeWave 指出發行新的叢集運行時間版本升級何時會套用。 根據預設為 Wave0。 只有在 upgradeMode 設定為 『Automatic』 時才適用。 'Wave0'
'Wave1'
'Wave2'
vmImage 已設定 VM 映像 VMSS。 您可以使用 Windows 或 Linux 等泛型名稱。 字串
vmssZonalUpgradeMode 此屬性會定義虛擬機擴展集的升級模式,如果新增具有多個可用性區域的節點類型,則為必要。 '階層式'
'Parallel'
waveUpgradePaused 布爾值,以暫停自動運行時間版本升級至叢集。 bool

ClusterUpgradeDeltaHealthPolicy

名字 描述 價值
applicationDeltaHealthPolicies 定義應用程式差異健康情況原則對應,以在升級叢集時用來評估應用程式或其其中一個子實體的健康情況。 ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications 叢集升級期間允許的應用程式健康情況降低百分比上限。
差異會在升級開始時的應用程式狀態和健康情況評估時的應用程式狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。 系統服務不包含在此專案中。
int

約束:
最小值 = 0
最大值 = 100 (必要)
maxPercentDeltaUnhealthyNodes 叢集升級期間允許的最大節點健康情況降低百分比。
差異會在升級開始時的節點狀態和健康情況評估時節點的狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100 (必要)
maxPercentUpgradeDomainDeltaUnhealthyNodes 叢集升級期間允許升級網域節點健康情況降低的最大允許百分比。
差異會測量升級網域節點在升級開始時的狀態,以及健康情況評估時升級網域節點的狀態。
檢查會在所有已完成升級網域的每個升級網域完成之後執行,以確保升級網域的狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100 (必要)

ClusterUpgradePolicy

名字 描述 價值
deltaHealthPolicy 升級叢集時所使用的叢集差異健康情況原則。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果為 true,則即使程式代碼版本未變更,也會強制在升級期間重新啟動進程(升級只會變更組態或數據)。 bool
healthCheckRetryTimeout 在升級復原之前,當應用程式或叢集情況不良時,重試健康情況評估的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthCheckStableDuration 在升級繼續進行下一個升級網域之前,應用程式或叢集必須保持狀況良好的時間量。 持續時間可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthCheckWaitDuration 在執行健康狀態檢查之前,完成升級網域之後要等待的時間長度。 持續時間可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthPolicy 升級叢集時所使用的叢集健康情況原則。 ClusterHealthPolicy (必要)
upgradeDomainTimeout 每個升級網域在升級回復之前必須完成的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
upgradeReplicaSetCheckTimeout 封鎖升級網域處理的時間上限,並避免在發生非預期的問題時遺失可用性。 當此逾時到期時,不論可用性遺失問題為何,升級網域的處理都會繼續。 逾時會在每個升級網域開始時重設。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
upgradeTimeout 升級復原之前,整體升級必須完成的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)

DiagnosticsStorageAccountConfig

名字 描述 價值
blobEndpoint Azure 記憶體帳戶的 Blob 端點。 字串 (必要)
protectedAccountKeyName 受保護的診斷記憶體金鑰名稱。 字串 (必要)
protectedAccountKeyName2 次要受保護的診斷記憶體金鑰名稱。 如果其中一個記憶體帳戶密鑰輪替,叢集會回復為使用另一個密鑰。 字串
queueEndpoint Azure 記憶體帳戶的佇列端點。 字串 (必要)
storageAccountName Azure 記憶體帳戶名稱。 字串 (必要)
tableEndpoint Azure 記憶體帳戶的數據表端點。 字串 (必要)

EndpointRangeDescription

名字 描述 價值
endPort 一系列埠的結束埠 int (必要)
startPort 起始埠範圍 int (必要)

Microsoft.ServiceFabric/clusters

名字 描述 價值
位置 Azure 資源位置。 字串 (必要)
名字 資源名稱 字串 (必要)
性能 叢集資源屬性 ClusterProperties
標籤 資源標籤 標記名稱和值的字典。 請參閱範本中的 標籤

NodeTypeDescription

名字 描述 價值
applicationPorts 叢集指派埠至 Service Fabric 應用程式的埠範圍。 EndpointRangeDescription
能力 叢集資源管理員會使用這些標籤來了解節點擁有多少資源,套用至節點類型的節點容量卷標。 NodeTypeDescriptionCapacities
clientConnectionEndpointPort TCP 叢集管理埠。 int (必要)
durabilityLevel 節點類型的持久性層級。 瞭解 DurabilityLevel

- 銅牌 - 沒有許可權。 這是預設值。
- Silver - 每個 UD 的持續時間為 10 分鐘,基礎結構作業可以暫停。
- Gold - 基礎結構作業可以暫停每個 UD 2 小時。 金級持久性只能在完整節點 VM SKU 上啟用,例如 D15_V2、G5 等。
'Bronze'
'Gold'
'Silver'
ephemeralPorts 此節點類型中節點應設定的暫時埠範圍。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 叢集管理埠。 int (必要)
httpGatewayTokenAuthEndpointPort 用於對叢集進行令牌驗證型 HTTPS 連線的埠。 無法設定為與 HttpGatewayEndpoint 相同的埠。 int
isPrimary 將執行系統服務的節點類型。 只有一個節點類型應該標示為主要節點。 無法刪除或變更現有叢集的主要節點類型。 布林 (必要)
isStateless 指出節點類型是否只能裝載無狀態工作負載。 bool
multipleAvailabilityZones 指出節點類型是否已啟用以支援多個區域。 bool
名字 節點類型的名稱。 字串 (必要)
placementProperties 套用至節點類型中節點的放置標記,可用來指出特定服務(工作負載)應該執行的位置。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向 Proxy 所使用的端點。 int
vmInstanceCount VMInstanceCount 應該是 1 到 n,其中 n 表示對應至這個 nodeType 的 VM 實例數目。 VMInstanceCount = 0 只能在這些案例中完成:NodeType 是次要 nodeType。 持久性 = 銅級或持久性 >= Bronze 和 InfrastructureServiceManager = true。 如果 VMInstanceCount = 0,表示此 nodeType 的 VM 將不會用於初始叢集大小計算。 int

約束:
最小值 = 0
最大值 = 2147483647 (必要)

NodeTypeDescriptionCapacities

名字 描述 價值

NodeTypeDescriptionPlacementProperties

名字 描述 價值

通知

名字 描述 價值
isEnabled 指出通知是否已啟用。 布林 (必要)
notificationCategory 通知的類別。 'WaveProgress' (必要)
notificationLevel 通知層級。 'All'
'Critical' (必要)
notificationTargets 訂閱通知的目標清單。 NotificationTarget[] (必要)

NotificationTarget

名字 描述 價值
notificationChannel 通知通道會指出訂閱通知的接收者類型,無論是使用者或訂用帳戶。 'EmailSubscription'
'EmailUser' (必要)
接收機 訂閱通知的目標清單。 string[] (必要)

ResourceTags

名字 描述 價值

ServerCertificateCommonName

名字 描述 價值
certificateCommonName 伺服器證書的一般名稱。 字串 (必要)
certificateIssuerThumbprint 伺服器證書的簽發者指紋。 字串 (必要)

ServerCertificateCommonNames

名字 描述 價值
commonNames 用來保護叢集之一般名稱所參考的伺服器憑證清單。 ServerCertificateCommonName[]
x509StoreName 本機證書存儲位置。 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'不允許'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ServiceTypeDeltaHealthPolicy

名字 描述 價值
maxPercentDeltaUnhealthyServices 叢集升級期間允許的服務健康情況降低百分比上限。
差異會在升級開始時的服務狀態與健康情況評估時的服務狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100

ServiceTypeDeltaHealthPolicyMap

名字 描述 價值

ServiceTypeHealthPolicy

名字 描述 價值
maxPercentUnhealthyServices 在應用程式視為錯誤之前,允許狀況不良的服務百分比上限。 int

約束:
最小值 = 0
最大值 = 100

ServiceTypeHealthPolicyMap

名字 描述 價值

SettingsParameterDescription

名字 描述 價值
名字 網狀架構設定的參數名稱。 字串 (必要)
價值 網狀架構設定的參數值。 字串 (必要)

SettingsSectionDescription

名字 描述 價值
名字 網狀架構設定的區段名稱。 字串 (必要)
參數 區段中的參數集合。 SettingsParameterDescription[] (必要)

快速入門範例

下列快速入門範例會部署此資源類型。

Bicep 檔案 描述
部署5節點安全叢集 此範本可讓您在Standard_D2_v2大小 VMSS 上部署執行 Windows Server 2019 Datacenter 的安全 5 節點 Service Fabric 叢集。

ARM 樣本資源定義

叢集資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.ServiceFabric/clusters 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.ServiceFabric/clusters",
  "apiVersion": "2023-11-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "addOnFeatures": [ "string" ],
    "applicationTypeVersionsCleanupPolicy": {
      "maxUnusedVersionsToKeep": "int"
    },
    "azureActiveDirectory": {
      "clientApplication": "string",
      "clusterApplication": "string",
      "tenantId": "string"
    },
    "certificate": {
      "thumbprint": "string",
      "thumbprintSecondary": "string",
      "x509StoreName": "string"
    },
    "certificateCommonNames": {
      "commonNames": [
        {
          "certificateCommonName": "string",
          "certificateIssuerThumbprint": "string"
        }
      ],
      "x509StoreName": "string"
    },
    "clientCertificateCommonNames": [
      {
        "certificateCommonName": "string",
        "certificateIssuerThumbprint": "string",
        "isAdmin": "bool"
      }
    ],
    "clientCertificateThumbprints": [
      {
        "certificateThumbprint": "string",
        "isAdmin": "bool"
      }
    ],
    "clusterCodeVersion": "string",
    "diagnosticsStorageAccountConfig": {
      "blobEndpoint": "string",
      "protectedAccountKeyName": "string",
      "protectedAccountKeyName2": "string",
      "queueEndpoint": "string",
      "storageAccountName": "string",
      "tableEndpoint": "string"
    },
    "enableHttpGatewayExclusiveAuthMode": "bool",
    "eventStoreServiceEnabled": "bool",
    "fabricSettings": [
      {
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "value": "string"
          }
        ]
      }
    ],
    "infrastructureServiceManager": "bool",
    "managementEndpoint": "string",
    "nodeTypes": [
      {
        "applicationPorts": {
          "endPort": "int",
          "startPort": "int"
        },
        "capacities": {
          "{customized property}": "string"
        },
        "clientConnectionEndpointPort": "int",
        "durabilityLevel": "string",
        "ephemeralPorts": {
          "endPort": "int",
          "startPort": "int"
        },
        "httpGatewayEndpointPort": "int",
        "httpGatewayTokenAuthEndpointPort": "int",
        "isPrimary": "bool",
        "isStateless": "bool",
        "multipleAvailabilityZones": "bool",
        "name": "string",
        "placementProperties": {
          "{customized property}": "string"
        },
        "reverseProxyEndpointPort": "int",
        "vmInstanceCount": "int"
      }
    ],
    "notifications": [
      {
        "isEnabled": "bool",
        "notificationCategory": "string",
        "notificationLevel": "string",
        "notificationTargets": [
          {
            "notificationChannel": "string",
            "receivers": [ "string" ]
          }
        ]
      }
    ],
    "reliabilityLevel": "string",
    "reverseProxyCertificate": {
      "thumbprint": "string",
      "thumbprintSecondary": "string",
      "x509StoreName": "string"
    },
    "reverseProxyCertificateCommonNames": {
      "commonNames": [
        {
          "certificateCommonName": "string",
          "certificateIssuerThumbprint": "string"
        }
      ],
      "x509StoreName": "string"
    },
    "sfZonalUpgradeMode": "string",
    "upgradeDescription": {
      "deltaHealthPolicy": {
        "applicationDeltaHealthPolicies": {
          "{customized property}": {
            "defaultServiceTypeDeltaHealthPolicy": {
              "maxPercentDeltaUnhealthyServices": "int"
            },
            "serviceTypeDeltaHealthPolicies": {
              "{customized property}": {
                "maxPercentDeltaUnhealthyServices": "int"
              }
            }
          }
        },
        "maxPercentDeltaUnhealthyApplications": "int",
        "maxPercentDeltaUnhealthyNodes": "int",
        "maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
      },
      "forceRestart": "bool",
      "healthCheckRetryTimeout": "string",
      "healthCheckStableDuration": "string",
      "healthCheckWaitDuration": "string",
      "healthPolicy": {
        "applicationHealthPolicies": {
          "{customized property}": {
            "defaultServiceTypeHealthPolicy": {
              "maxPercentUnhealthyServices": "int"
            },
            "serviceTypeHealthPolicies": {
              "{customized property}": {
                "maxPercentUnhealthyServices": "int"
              }
            }
          }
        },
        "maxPercentUnhealthyApplications": "int",
        "maxPercentUnhealthyNodes": "int"
      },
      "upgradeDomainTimeout": "string",
      "upgradeReplicaSetCheckTimeout": "string",
      "upgradeTimeout": "string"
    },
    "upgradeMode": "string",
    "upgradePauseEndTimestampUtc": "string",
    "upgradePauseStartTimestampUtc": "string",
    "upgradeWave": "string",
    "vmImage": "string",
    "vmssZonalUpgradeMode": "string",
    "waveUpgradePaused": "bool"
  },
  "tags": {
    "{customized property}": "string"
  }
}

屬性值

ApplicationDeltaHealthPolicy

名字 描述 價值
defaultServiceTypeDeltaHealthPolicy 升級叢集時,預設用來評估服務類型健康情況的差異健康情況原則。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每個服務類型名稱具有服務類型差異健康情況原則的對應。 地圖預設為空白。 ServiceTypeDeltaHealthPolicyMap

ApplicationDeltaHealthPolicyMap

名字 描述 價值

ApplicationHealthPolicy

名字 描述 價值
defaultServiceTypeHealthPolicy 默認用來評估服務類型健康情況的健康情況原則。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 對應,每個服務類型名稱的服務類型健康情況原則。 地圖預設為空白。 ServiceTypeHealthPolicyMap

ApplicationHealthPolicyMap

名字 描述 價值

ApplicationTypeVersionsCleanupPolicy

名字 描述 價值
maxUnusedVersionsToKeep 要保留的每個應用程式類型未使用的版本數目。 int

約束:
最小值 = 0 (必要)

AzureActiveDirectory

名字 描述 價值
clientApplication Azure Active Directory 用戶端應用程式識別碼。 字串
clusterApplication Azure Active Directory 叢集應用程式標識符。 字串
tenantId Azure Active Directory 租用戶標識符。 字串

CertificateDescription

名字 描述 價值
指紋 主要憑證的指紋。 字串 (必要)
thumbprintSecondary 次要憑證的指紋。 字串
x509StoreName 本機證書存儲位置。 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'不允許'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ClientCertificateCommonName

名字 描述 價值
certificateCommonName 用戶端憑證的一般名稱。 字串 (必要)
certificateIssuerThumbprint 用戶端憑證的簽發者指紋。 字串 (必要)
isAdmin 指出客戶端憑證是否具有叢集的系統管理員存取權。 非系統管理員用戶端只能在叢集上執行唯讀作業。 布林 (必要)

ClientCertificateThumbprint

名字 描述 價值
certificateThumbprint 用戶端憑證的指紋。 字串 (必要)
isAdmin 指出客戶端憑證是否具有叢集的系統管理員存取權。 非系統管理員用戶端只能在叢集上執行唯讀作業。 布林 (必要)

ClusterHealthPolicy

名字 描述 價值
applicationHealthPolicies 定義用來評估應用程式或其其中一個子實體健康情況的應用程式健康情況原則對應。 ApplicationHealthPolicyMap
maxPercentUnhealthyApplications 報告錯誤之前,允許的應用程式狀況不良百分比上限。 例如,若要允許10個應用程式% 狀況不良,這個值會是10。

百分比代表在叢集視為錯誤之前,可能狀況不良的應用程式最大容許百分比。
如果遵守百分比,但至少有一個狀況不良的應用程式,則健康情況會評估為Warning。
這是藉由將狀況不良的應用程式數目除以叢集中應用程式實例總數,不包括 ApplicationTypeHealthPolicyMap 中包含的應用程式類型應用程式。
計算會四捨五入,以容許少量應用程序發生一個失敗。 默認百分比為零。
int

約束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 報告錯誤之前,允許狀況不良節點的百分比上限。 例如,若要允許10個節點% 狀況不良,這個值會是10。

百分比代表在叢集視為錯誤之前,可狀況不良之節點的最大容許百分比。
如果遵守百分比,但至少有一個狀況不良的節點,則健康情況會評估為Warning。
百分比的計算方式是將狀況不良的節點數目除以叢集中的節點總數。
計算會四捨五入以容許少數節點上的一個失敗。 默認百分比為零。

在大型叢集中,某些節點一律會關閉或關閉以進行修復,因此應該將此百分比設定為容許該百分比。
int

約束:
最小值 = 0
最大值 = 100

ClusterProperties

名字 描述 價值
addOnFeatures 在叢集中啟用的附加元件功能清單。 包含任何的字串數組:
'BackupRestoreService'
'DnsService'
'RepairManager'
'ResourceMonitorService'
applicationTypeVersionsCleanupPolicy 用來清除未使用版本的原則。 ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory 叢集的 AAD 驗證設定。 AzureActiveDirectory
證書 用於保護叢集的憑證。 提供的憑證將用於叢集內的節點對節點安全性、叢集管理端點的 SSL 憑證和預設管理員用戶端。 CertificateDescription
certificateCommonNames 描述用來保護叢集之通用名稱所參考的伺服器憑證清單。 ServerCertificateCommonNames
clientCertificateCommonNames 允許管理叢集之一般名稱所參考的客戶端憑證清單。 ClientCertificateCommonName[]
clientCertificateThumbprints 允許管理叢集的指紋所參考的客戶端憑證清單。 ClientCertificateThumbprint[]
clusterCodeVersion 叢集的 Service Fabric 運行時間版本。 只有當 upgradeMode 設定為 'Manual' 時,才能設定使用者 此屬性。 若要取得新叢集可用的 Service Fabric 版本列表,請使用 ClusterVersion API。 若要取得現有叢集可用的版本清單,請使用 availableClusterVersions 字串
diagnosticsStorageAccountConfig 用來儲存 Service Fabric 診斷記錄的記憶體帳戶資訊。 DiagnosticsStorageAccountConfig
enableHttpGatewayExclusiveAuthMode 如果為 true,則 HttpGatewayEndpoint 上不允許令牌型驗證。 這需要支援 TLS 1.3 版和更新版本。 如果使用令牌型驗證,則必須定義 HttpGatewayTokenAuthEndpointPort。 bool
eventStoreServiceEnabled 指出事件存放區服務是否已啟用。 bool
fabricSettings 要設定叢集的自定義網狀架構設定清單。 SettingsSectionDescription[]
infrastructureServiceManager 指出基礎結構服務管理員是否已啟用。 bool
managementEndpoint 叢集的 HTTP 管理端點。 字串 (必要)
nodeTypes 叢集中的節點類型清單。 NodeTypeDescription[] (必要)
通知 指出叢集事件的通知通道清單。 通知[]
reliabilityLevel 可靠性層級會設定系統服務的復本集大小。 瞭解 ReliabilityLevel

- 無 - 執行目標副本集計數為 1 的系統服務。 這隻應該用於測試叢集。
- 銅級 - 執行目標副本集計數為 3 的系統服務。 這隻應該用於測試叢集。
- Silver - 使用目標副本集計數 5 執行系統服務。
- Gold - 執行目標副本集計數為 7 的系統服務。
- 白金 - 以目標副本集計數 9 執行系統服務。
'Bronze'
'Gold'
'None'
'Platinum'
'Silver'
reverseProxyCertificate 反向 Proxy 所使用的伺服器證書。 CertificateDescription
reverseProxyCertificateCommonNames 描述用來保護叢集之通用名稱所參考的伺服器憑證清單。 ServerCertificateCommonNames
sfZonalUpgradeMode 此屬性會控制升級網域中 VM 的邏輯群組(UD)。 如果叢集中已有多個可用性區域的節點類型,則無法修改這個屬性。 '階層式'
'Parallel'
upgradeDescription 升級叢集時要使用的原則。 ClusterUpgradePolicy
upgradeMode 有新的 Service Fabric 執行時間版本可用時,叢集的升級模式。 'Automatic'
'Manual'
upgradePauseEndTimestampUtc 指出在叢集上暫停自動運行時間版本升級的特定時間週期 (UTC) 的結束日期和時間。 字串
upgradePauseStartTimestampUtc 指出在叢集上暫停自動運行時間版本升級的特定時間週期的開始日期和時間。 字串
upgradeWave 指出發行新的叢集運行時間版本升級何時會套用。 根據預設為 Wave0。 只有在 upgradeMode 設定為 『Automatic』 時才適用。 'Wave0'
'Wave1'
'Wave2'
vmImage 已設定 VM 映像 VMSS。 您可以使用 Windows 或 Linux 等泛型名稱。 字串
vmssZonalUpgradeMode 此屬性會定義虛擬機擴展集的升級模式,如果新增具有多個可用性區域的節點類型,則為必要。 '階層式'
'Parallel'
waveUpgradePaused 布爾值,以暫停自動運行時間版本升級至叢集。 bool

ClusterUpgradeDeltaHealthPolicy

名字 描述 價值
applicationDeltaHealthPolicies 定義應用程式差異健康情況原則對應,以在升級叢集時用來評估應用程式或其其中一個子實體的健康情況。 ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications 叢集升級期間允許的應用程式健康情況降低百分比上限。
差異會在升級開始時的應用程式狀態和健康情況評估時的應用程式狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。 系統服務不包含在此專案中。
int

約束:
最小值 = 0
最大值 = 100 (必要)
maxPercentDeltaUnhealthyNodes 叢集升級期間允許的最大節點健康情況降低百分比。
差異會在升級開始時的節點狀態和健康情況評估時節點的狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100 (必要)
maxPercentUpgradeDomainDeltaUnhealthyNodes 叢集升級期間允許升級網域節點健康情況降低的最大允許百分比。
差異會測量升級網域節點在升級開始時的狀態,以及健康情況評估時升級網域節點的狀態。
檢查會在所有已完成升級網域的每個升級網域完成之後執行,以確保升級網域的狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100 (必要)

ClusterUpgradePolicy

名字 描述 價值
deltaHealthPolicy 升級叢集時所使用的叢集差異健康情況原則。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果為 true,則即使程式代碼版本未變更,也會強制在升級期間重新啟動進程(升級只會變更組態或數據)。 bool
healthCheckRetryTimeout 在升級復原之前,當應用程式或叢集情況不良時,重試健康情況評估的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthCheckStableDuration 在升級繼續進行下一個升級網域之前,應用程式或叢集必須保持狀況良好的時間量。 持續時間可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthCheckWaitDuration 在執行健康狀態檢查之前,完成升級網域之後要等待的時間長度。 持續時間可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthPolicy 升級叢集時所使用的叢集健康情況原則。 ClusterHealthPolicy (必要)
upgradeDomainTimeout 每個升級網域在升級回復之前必須完成的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
upgradeReplicaSetCheckTimeout 封鎖升級網域處理的時間上限,並避免在發生非預期的問題時遺失可用性。 當此逾時到期時,不論可用性遺失問題為何,升級網域的處理都會繼續。 逾時會在每個升級網域開始時重設。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
upgradeTimeout 升級復原之前,整體升級必須完成的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)

DiagnosticsStorageAccountConfig

名字 描述 價值
blobEndpoint Azure 記憶體帳戶的 Blob 端點。 字串 (必要)
protectedAccountKeyName 受保護的診斷記憶體金鑰名稱。 字串 (必要)
protectedAccountKeyName2 次要受保護的診斷記憶體金鑰名稱。 如果其中一個記憶體帳戶密鑰輪替,叢集會回復為使用另一個密鑰。 字串
queueEndpoint Azure 記憶體帳戶的佇列端點。 字串 (必要)
storageAccountName Azure 記憶體帳戶名稱。 字串 (必要)
tableEndpoint Azure 記憶體帳戶的數據表端點。 字串 (必要)

EndpointRangeDescription

名字 描述 價值
endPort 一系列埠的結束埠 int (必要)
startPort 起始埠範圍 int (必要)

Microsoft.ServiceFabric/clusters

名字 描述 價值
apiVersion API 版本 '2023-11-01-preview'
位置 Azure 資源位置。 字串 (必要)
名字 資源名稱 字串 (必要)
性能 叢集資源屬性 ClusterProperties
標籤 資源標籤 標記名稱和值的字典。 請參閱範本中的 標籤
類型 資源類型 'Microsoft.ServiceFabric/clusters'

NodeTypeDescription

名字 描述 價值
applicationPorts 叢集指派埠至 Service Fabric 應用程式的埠範圍。 EndpointRangeDescription
能力 叢集資源管理員會使用這些標籤來了解節點擁有多少資源,套用至節點類型的節點容量卷標。 NodeTypeDescriptionCapacities
clientConnectionEndpointPort TCP 叢集管理埠。 int (必要)
durabilityLevel 節點類型的持久性層級。 瞭解 DurabilityLevel

- 銅牌 - 沒有許可權。 這是預設值。
- Silver - 每個 UD 的持續時間為 10 分鐘,基礎結構作業可以暫停。
- Gold - 基礎結構作業可以暫停每個 UD 2 小時。 金級持久性只能在完整節點 VM SKU 上啟用,例如 D15_V2、G5 等。
'Bronze'
'Gold'
'Silver'
ephemeralPorts 此節點類型中節點應設定的暫時埠範圍。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 叢集管理埠。 int (必要)
httpGatewayTokenAuthEndpointPort 用於對叢集進行令牌驗證型 HTTPS 連線的埠。 無法設定為與 HttpGatewayEndpoint 相同的埠。 int
isPrimary 將執行系統服務的節點類型。 只有一個節點類型應該標示為主要節點。 無法刪除或變更現有叢集的主要節點類型。 布林 (必要)
isStateless 指出節點類型是否只能裝載無狀態工作負載。 bool
multipleAvailabilityZones 指出節點類型是否已啟用以支援多個區域。 bool
名字 節點類型的名稱。 字串 (必要)
placementProperties 套用至節點類型中節點的放置標記,可用來指出特定服務(工作負載)應該執行的位置。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向 Proxy 所使用的端點。 int
vmInstanceCount VMInstanceCount 應該是 1 到 n,其中 n 表示對應至這個 nodeType 的 VM 實例數目。 VMInstanceCount = 0 只能在這些案例中完成:NodeType 是次要 nodeType。 持久性 = 銅級或持久性 >= Bronze 和 InfrastructureServiceManager = true。 如果 VMInstanceCount = 0,表示此 nodeType 的 VM 將不會用於初始叢集大小計算。 int

約束:
最小值 = 0
最大值 = 2147483647 (必要)

NodeTypeDescriptionCapacities

名字 描述 價值

NodeTypeDescriptionPlacementProperties

名字 描述 價值

通知

名字 描述 價值
isEnabled 指出通知是否已啟用。 布林 (必要)
notificationCategory 通知的類別。 'WaveProgress' (必要)
notificationLevel 通知層級。 'All'
'Critical' (必要)
notificationTargets 訂閱通知的目標清單。 NotificationTarget[] (必要)

NotificationTarget

名字 描述 價值
notificationChannel 通知通道會指出訂閱通知的接收者類型,無論是使用者或訂用帳戶。 'EmailSubscription'
'EmailUser' (必要)
接收機 訂閱通知的目標清單。 string[] (必要)

ResourceTags

名字 描述 價值

ServerCertificateCommonName

名字 描述 價值
certificateCommonName 伺服器證書的一般名稱。 字串 (必要)
certificateIssuerThumbprint 伺服器證書的簽發者指紋。 字串 (必要)

ServerCertificateCommonNames

名字 描述 價值
commonNames 用來保護叢集之一般名稱所參考的伺服器憑證清單。 ServerCertificateCommonName[]
x509StoreName 本機證書存儲位置。 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'不允許'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ServiceTypeDeltaHealthPolicy

名字 描述 價值
maxPercentDeltaUnhealthyServices 叢集升級期間允許的服務健康情況降低百分比上限。
差異會在升級開始時的服務狀態與健康情況評估時的服務狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100

ServiceTypeDeltaHealthPolicyMap

名字 描述 價值

ServiceTypeHealthPolicy

名字 描述 價值
maxPercentUnhealthyServices 在應用程式視為錯誤之前,允許狀況不良的服務百分比上限。 int

約束:
最小值 = 0
最大值 = 100

ServiceTypeHealthPolicyMap

名字 描述 價值

SettingsParameterDescription

名字 描述 價值
名字 網狀架構設定的參數名稱。 字串 (必要)
價值 網狀架構設定的參數值。 字串 (必要)

SettingsSectionDescription

名字 描述 價值
名字 網狀架構設定的區段名稱。 字串 (必要)
參數 區段中的參數集合。 SettingsParameterDescription[] (必要)

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
部署已啟用 NSG 的 3 Nodetype 安全叢集

部署至 Azure
此範本可讓您在Standard_D2大小 VM 上部署執行 Windows Server 2016 資料中心的安全 3 節點類型 Service Fabric 叢集。 使用此範本可讓您使用網路安全組控制輸入和輸出網路流量。
部署5節點安全叢集

部署至 Azure
此範本可讓您在Standard_D2_v2大小 VMSS 上部署執行 Windows Server 2019 Datacenter 的安全 5 節點 Service Fabric 叢集。
部署 5 節點 Ubuntu Service Fabric 叢集

部署至 Azure
此範本可讓您在Standard_D2_V2大小 VMSS 上部署執行 Ubuntu 的安全 5 節點 Service Fabric 叢集。

Terraform (AzAPI 提供者) 資源定義

叢集資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.ServiceFabric/clusters 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/clusters@2023-11-01-preview"
  name = "string"
  location = "string"
  body = jsonencode({
    properties = {
      addOnFeatures = [
        "string"
      ]
      applicationTypeVersionsCleanupPolicy = {
        maxUnusedVersionsToKeep = int
      }
      azureActiveDirectory = {
        clientApplication = "string"
        clusterApplication = "string"
        tenantId = "string"
      }
      certificate = {
        thumbprint = "string"
        thumbprintSecondary = "string"
        x509StoreName = "string"
      }
      certificateCommonNames = {
        commonNames = [
          {
            certificateCommonName = "string"
            certificateIssuerThumbprint = "string"
          }
        ]
        x509StoreName = "string"
      }
      clientCertificateCommonNames = [
        {
          certificateCommonName = "string"
          certificateIssuerThumbprint = "string"
          isAdmin = bool
        }
      ]
      clientCertificateThumbprints = [
        {
          certificateThumbprint = "string"
          isAdmin = bool
        }
      ]
      clusterCodeVersion = "string"
      diagnosticsStorageAccountConfig = {
        blobEndpoint = "string"
        protectedAccountKeyName = "string"
        protectedAccountKeyName2 = "string"
        queueEndpoint = "string"
        storageAccountName = "string"
        tableEndpoint = "string"
      }
      enableHttpGatewayExclusiveAuthMode = bool
      eventStoreServiceEnabled = bool
      fabricSettings = [
        {
          name = "string"
          parameters = [
            {
              name = "string"
              value = "string"
            }
          ]
        }
      ]
      infrastructureServiceManager = bool
      managementEndpoint = "string"
      nodeTypes = [
        {
          applicationPorts = {
            endPort = int
            startPort = int
          }
          capacities = {
            {customized property} = "string"
          }
          clientConnectionEndpointPort = int
          durabilityLevel = "string"
          ephemeralPorts = {
            endPort = int
            startPort = int
          }
          httpGatewayEndpointPort = int
          httpGatewayTokenAuthEndpointPort = int
          isPrimary = bool
          isStateless = bool
          multipleAvailabilityZones = bool
          name = "string"
          placementProperties = {
            {customized property} = "string"
          }
          reverseProxyEndpointPort = int
          vmInstanceCount = int
        }
      ]
      notifications = [
        {
          isEnabled = bool
          notificationCategory = "string"
          notificationLevel = "string"
          notificationTargets = [
            {
              notificationChannel = "string"
              receivers = [
                "string"
              ]
            }
          ]
        }
      ]
      reliabilityLevel = "string"
      reverseProxyCertificate = {
        thumbprint = "string"
        thumbprintSecondary = "string"
        x509StoreName = "string"
      }
      reverseProxyCertificateCommonNames = {
        commonNames = [
          {
            certificateCommonName = "string"
            certificateIssuerThumbprint = "string"
          }
        ]
        x509StoreName = "string"
      }
      sfZonalUpgradeMode = "string"
      upgradeDescription = {
        deltaHealthPolicy = {
          applicationDeltaHealthPolicies = {
            {customized property} = {
              defaultServiceTypeDeltaHealthPolicy = {
                maxPercentDeltaUnhealthyServices = int
              }
              serviceTypeDeltaHealthPolicies = {
                {customized property} = {
                  maxPercentDeltaUnhealthyServices = int
                }
              }
            }
          }
          maxPercentDeltaUnhealthyApplications = int
          maxPercentDeltaUnhealthyNodes = int
          maxPercentUpgradeDomainDeltaUnhealthyNodes = int
        }
        forceRestart = bool
        healthCheckRetryTimeout = "string"
        healthCheckStableDuration = "string"
        healthCheckWaitDuration = "string"
        healthPolicy = {
          applicationHealthPolicies = {
            {customized property} = {
              defaultServiceTypeHealthPolicy = {
                maxPercentUnhealthyServices = int
              }
              serviceTypeHealthPolicies = {
                {customized property} = {
                  maxPercentUnhealthyServices = int
                }
              }
            }
          }
          maxPercentUnhealthyApplications = int
          maxPercentUnhealthyNodes = int
        }
        upgradeDomainTimeout = "string"
        upgradeReplicaSetCheckTimeout = "string"
        upgradeTimeout = "string"
      }
      upgradeMode = "string"
      upgradePauseEndTimestampUtc = "string"
      upgradePauseStartTimestampUtc = "string"
      upgradeWave = "string"
      vmImage = "string"
      vmssZonalUpgradeMode = "string"
      waveUpgradePaused = bool
    }
  })
  tags = {
    {customized property} = "string"
  }
}

屬性值

ApplicationDeltaHealthPolicy

名字 描述 價值
defaultServiceTypeDeltaHealthPolicy 升級叢集時,預設用來評估服務類型健康情況的差異健康情況原則。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每個服務類型名稱具有服務類型差異健康情況原則的對應。 地圖預設為空白。 ServiceTypeDeltaHealthPolicyMap

ApplicationDeltaHealthPolicyMap

名字 描述 價值

ApplicationHealthPolicy

名字 描述 價值
defaultServiceTypeHealthPolicy 默認用來評估服務類型健康情況的健康情況原則。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 對應,每個服務類型名稱的服務類型健康情況原則。 地圖預設為空白。 ServiceTypeHealthPolicyMap

ApplicationHealthPolicyMap

名字 描述 價值

ApplicationTypeVersionsCleanupPolicy

名字 描述 價值
maxUnusedVersionsToKeep 要保留的每個應用程式類型未使用的版本數目。 int

約束:
最小值 = 0 (必要)

AzureActiveDirectory

名字 描述 價值
clientApplication Azure Active Directory 用戶端應用程式識別碼。 字串
clusterApplication Azure Active Directory 叢集應用程式標識符。 字串
tenantId Azure Active Directory 租用戶標識符。 字串

CertificateDescription

名字 描述 價值
指紋 主要憑證的指紋。 字串 (必要)
thumbprintSecondary 次要憑證的指紋。 字串
x509StoreName 本機證書存儲位置。 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'不允許'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ClientCertificateCommonName

名字 描述 價值
certificateCommonName 用戶端憑證的一般名稱。 字串 (必要)
certificateIssuerThumbprint 用戶端憑證的簽發者指紋。 字串 (必要)
isAdmin 指出客戶端憑證是否具有叢集的系統管理員存取權。 非系統管理員用戶端只能在叢集上執行唯讀作業。 布林 (必要)

ClientCertificateThumbprint

名字 描述 價值
certificateThumbprint 用戶端憑證的指紋。 字串 (必要)
isAdmin 指出客戶端憑證是否具有叢集的系統管理員存取權。 非系統管理員用戶端只能在叢集上執行唯讀作業。 布林 (必要)

ClusterHealthPolicy

名字 描述 價值
applicationHealthPolicies 定義用來評估應用程式或其其中一個子實體健康情況的應用程式健康情況原則對應。 ApplicationHealthPolicyMap
maxPercentUnhealthyApplications 報告錯誤之前,允許的應用程式狀況不良百分比上限。 例如,若要允許10個應用程式% 狀況不良,這個值會是10。

百分比代表在叢集視為錯誤之前,可能狀況不良的應用程式最大容許百分比。
如果遵守百分比,但至少有一個狀況不良的應用程式,則健康情況會評估為Warning。
這是藉由將狀況不良的應用程式數目除以叢集中應用程式實例總數,不包括 ApplicationTypeHealthPolicyMap 中包含的應用程式類型應用程式。
計算會四捨五入,以容許少量應用程序發生一個失敗。 默認百分比為零。
int

約束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 報告錯誤之前,允許狀況不良節點的百分比上限。 例如,若要允許10個節點% 狀況不良,這個值會是10。

百分比代表在叢集視為錯誤之前,可狀況不良之節點的最大容許百分比。
如果遵守百分比,但至少有一個狀況不良的節點,則健康情況會評估為Warning。
百分比的計算方式是將狀況不良的節點數目除以叢集中的節點總數。
計算會四捨五入以容許少數節點上的一個失敗。 默認百分比為零。

在大型叢集中,某些節點一律會關閉或關閉以進行修復,因此應該將此百分比設定為容許該百分比。
int

約束:
最小值 = 0
最大值 = 100

ClusterProperties

名字 描述 價值
addOnFeatures 在叢集中啟用的附加元件功能清單。 包含任何的字串數組:
'BackupRestoreService'
'DnsService'
'RepairManager'
'ResourceMonitorService'
applicationTypeVersionsCleanupPolicy 用來清除未使用版本的原則。 ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory 叢集的 AAD 驗證設定。 AzureActiveDirectory
證書 用於保護叢集的憑證。 提供的憑證將用於叢集內的節點對節點安全性、叢集管理端點的 SSL 憑證和預設管理員用戶端。 CertificateDescription
certificateCommonNames 描述用來保護叢集之通用名稱所參考的伺服器憑證清單。 ServerCertificateCommonNames
clientCertificateCommonNames 允許管理叢集之一般名稱所參考的客戶端憑證清單。 ClientCertificateCommonName[]
clientCertificateThumbprints 允許管理叢集的指紋所參考的客戶端憑證清單。 ClientCertificateThumbprint[]
clusterCodeVersion 叢集的 Service Fabric 運行時間版本。 只有當 upgradeMode 設定為 'Manual' 時,才能設定使用者 此屬性。 若要取得新叢集可用的 Service Fabric 版本列表,請使用 ClusterVersion API。 若要取得現有叢集可用的版本清單,請使用 availableClusterVersions 字串
diagnosticsStorageAccountConfig 用來儲存 Service Fabric 診斷記錄的記憶體帳戶資訊。 DiagnosticsStorageAccountConfig
enableHttpGatewayExclusiveAuthMode 如果為 true,則 HttpGatewayEndpoint 上不允許令牌型驗證。 這需要支援 TLS 1.3 版和更新版本。 如果使用令牌型驗證,則必須定義 HttpGatewayTokenAuthEndpointPort。 bool
eventStoreServiceEnabled 指出事件存放區服務是否已啟用。 bool
fabricSettings 要設定叢集的自定義網狀架構設定清單。 SettingsSectionDescription[]
infrastructureServiceManager 指出基礎結構服務管理員是否已啟用。 bool
managementEndpoint 叢集的 HTTP 管理端點。 字串 (必要)
nodeTypes 叢集中的節點類型清單。 NodeTypeDescription[] (必要)
通知 指出叢集事件的通知通道清單。 通知[]
reliabilityLevel 可靠性層級會設定系統服務的復本集大小。 瞭解 ReliabilityLevel

- 無 - 執行目標副本集計數為 1 的系統服務。 這隻應該用於測試叢集。
- 銅級 - 執行目標副本集計數為 3 的系統服務。 這隻應該用於測試叢集。
- Silver - 使用目標副本集計數 5 執行系統服務。
- Gold - 執行目標副本集計數為 7 的系統服務。
- 白金 - 以目標副本集計數 9 執行系統服務。
'Bronze'
'Gold'
'None'
'Platinum'
'Silver'
reverseProxyCertificate 反向 Proxy 所使用的伺服器證書。 CertificateDescription
reverseProxyCertificateCommonNames 描述用來保護叢集之通用名稱所參考的伺服器憑證清單。 ServerCertificateCommonNames
sfZonalUpgradeMode 此屬性會控制升級網域中 VM 的邏輯群組(UD)。 如果叢集中已有多個可用性區域的節點類型,則無法修改這個屬性。 '階層式'
'Parallel'
upgradeDescription 升級叢集時要使用的原則。 ClusterUpgradePolicy
upgradeMode 有新的 Service Fabric 執行時間版本可用時,叢集的升級模式。 'Automatic'
'Manual'
upgradePauseEndTimestampUtc 指出在叢集上暫停自動運行時間版本升級的特定時間週期 (UTC) 的結束日期和時間。 字串
upgradePauseStartTimestampUtc 指出在叢集上暫停自動運行時間版本升級的特定時間週期的開始日期和時間。 字串
upgradeWave 指出發行新的叢集運行時間版本升級何時會套用。 根據預設為 Wave0。 只有在 upgradeMode 設定為 『Automatic』 時才適用。 'Wave0'
'Wave1'
'Wave2'
vmImage 已設定 VM 映像 VMSS。 您可以使用 Windows 或 Linux 等泛型名稱。 字串
vmssZonalUpgradeMode 此屬性會定義虛擬機擴展集的升級模式,如果新增具有多個可用性區域的節點類型,則為必要。 '階層式'
'Parallel'
waveUpgradePaused 布爾值,以暫停自動運行時間版本升級至叢集。 bool

ClusterUpgradeDeltaHealthPolicy

名字 描述 價值
applicationDeltaHealthPolicies 定義應用程式差異健康情況原則對應,以在升級叢集時用來評估應用程式或其其中一個子實體的健康情況。 ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications 叢集升級期間允許的應用程式健康情況降低百分比上限。
差異會在升級開始時的應用程式狀態和健康情況評估時的應用程式狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。 系統服務不包含在此專案中。
int

約束:
最小值 = 0
最大值 = 100 (必要)
maxPercentDeltaUnhealthyNodes 叢集升級期間允許的最大節點健康情況降低百分比。
差異會在升級開始時的節點狀態和健康情況評估時節點的狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100 (必要)
maxPercentUpgradeDomainDeltaUnhealthyNodes 叢集升級期間允許升級網域節點健康情況降低的最大允許百分比。
差異會測量升級網域節點在升級開始時的狀態,以及健康情況評估時升級網域節點的狀態。
檢查會在所有已完成升級網域的每個升級網域完成之後執行,以確保升級網域的狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100 (必要)

ClusterUpgradePolicy

名字 描述 價值
deltaHealthPolicy 升級叢集時所使用的叢集差異健康情況原則。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果為 true,則即使程式代碼版本未變更,也會強制在升級期間重新啟動進程(升級只會變更組態或數據)。 bool
healthCheckRetryTimeout 在升級復原之前,當應用程式或叢集情況不良時,重試健康情況評估的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthCheckStableDuration 在升級繼續進行下一個升級網域之前,應用程式或叢集必須保持狀況良好的時間量。 持續時間可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthCheckWaitDuration 在執行健康狀態檢查之前,完成升級網域之後要等待的時間長度。 持續時間可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
healthPolicy 升級叢集時所使用的叢集健康情況原則。 ClusterHealthPolicy (必要)
upgradeDomainTimeout 每個升級網域在升級回復之前必須完成的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
upgradeReplicaSetCheckTimeout 封鎖升級網域處理的時間上限,並避免在發生非預期的問題時遺失可用性。 當此逾時到期時,不論可用性遺失問題為何,升級網域的處理都會繼續。 逾時會在每個升級網域開始時重設。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)
upgradeTimeout 升級復原之前,整體升級必須完成的時間量。 逾時可以是 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字串 (必要)

DiagnosticsStorageAccountConfig

名字 描述 價值
blobEndpoint Azure 記憶體帳戶的 Blob 端點。 字串 (必要)
protectedAccountKeyName 受保護的診斷記憶體金鑰名稱。 字串 (必要)
protectedAccountKeyName2 次要受保護的診斷記憶體金鑰名稱。 如果其中一個記憶體帳戶密鑰輪替,叢集會回復為使用另一個密鑰。 字串
queueEndpoint Azure 記憶體帳戶的佇列端點。 字串 (必要)
storageAccountName Azure 記憶體帳戶名稱。 字串 (必要)
tableEndpoint Azure 記憶體帳戶的數據表端點。 字串 (必要)

EndpointRangeDescription

名字 描述 價值
endPort 一系列埠的結束埠 int (必要)
startPort 起始埠範圍 int (必要)

Microsoft.ServiceFabric/clusters

名字 描述 價值
位置 Azure 資源位置。 字串 (必要)
名字 資源名稱 字串 (必要)
性能 叢集資源屬性 ClusterProperties
標籤 資源標籤 標記名稱和值的字典。
類型 資源類型 “Microsoft.ServiceFabric/clusters@2023-11-01-preview”

NodeTypeDescription

名字 描述 價值
applicationPorts 叢集指派埠至 Service Fabric 應用程式的埠範圍。 EndpointRangeDescription
能力 叢集資源管理員會使用這些標籤來了解節點擁有多少資源,套用至節點類型的節點容量卷標。 NodeTypeDescriptionCapacities
clientConnectionEndpointPort TCP 叢集管理埠。 int (必要)
durabilityLevel 節點類型的持久性層級。 瞭解 DurabilityLevel

- 銅牌 - 沒有許可權。 這是預設值。
- Silver - 每個 UD 的持續時間為 10 分鐘,基礎結構作業可以暫停。
- Gold - 基礎結構作業可以暫停每個 UD 2 小時。 金級持久性只能在完整節點 VM SKU 上啟用,例如 D15_V2、G5 等。
'Bronze'
'Gold'
'Silver'
ephemeralPorts 此節點類型中節點應設定的暫時埠範圍。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 叢集管理埠。 int (必要)
httpGatewayTokenAuthEndpointPort 用於對叢集進行令牌驗證型 HTTPS 連線的埠。 無法設定為與 HttpGatewayEndpoint 相同的埠。 int
isPrimary 將執行系統服務的節點類型。 只有一個節點類型應該標示為主要節點。 無法刪除或變更現有叢集的主要節點類型。 布林 (必要)
isStateless 指出節點類型是否只能裝載無狀態工作負載。 bool
multipleAvailabilityZones 指出節點類型是否已啟用以支援多個區域。 bool
名字 節點類型的名稱。 字串 (必要)
placementProperties 套用至節點類型中節點的放置標記,可用來指出特定服務(工作負載)應該執行的位置。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向 Proxy 所使用的端點。 int
vmInstanceCount VMInstanceCount 應該是 1 到 n,其中 n 表示對應至這個 nodeType 的 VM 實例數目。 VMInstanceCount = 0 只能在這些案例中完成:NodeType 是次要 nodeType。 持久性 = 銅級或持久性 >= Bronze 和 InfrastructureServiceManager = true。 如果 VMInstanceCount = 0,表示此 nodeType 的 VM 將不會用於初始叢集大小計算。 int

約束:
最小值 = 0
最大值 = 2147483647 (必要)

NodeTypeDescriptionCapacities

名字 描述 價值

NodeTypeDescriptionPlacementProperties

名字 描述 價值

通知

名字 描述 價值
isEnabled 指出通知是否已啟用。 布林 (必要)
notificationCategory 通知的類別。 'WaveProgress' (必要)
notificationLevel 通知層級。 'All'
'Critical' (必要)
notificationTargets 訂閱通知的目標清單。 NotificationTarget[] (必要)

NotificationTarget

名字 描述 價值
notificationChannel 通知通道會指出訂閱通知的接收者類型,無論是使用者或訂用帳戶。 'EmailSubscription'
'EmailUser' (必要)
接收機 訂閱通知的目標清單。 string[] (必要)

ResourceTags

名字 描述 價值

ServerCertificateCommonName

名字 描述 價值
certificateCommonName 伺服器證書的一般名稱。 字串 (必要)
certificateIssuerThumbprint 伺服器證書的簽發者指紋。 字串 (必要)

ServerCertificateCommonNames

名字 描述 價值
commonNames 用來保護叢集之一般名稱所參考的伺服器憑證清單。 ServerCertificateCommonName[]
x509StoreName 本機證書存儲位置。 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'不允許'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ServiceTypeDeltaHealthPolicy

名字 描述 價值
maxPercentDeltaUnhealthyServices 叢集升級期間允許的服務健康情況降低百分比上限。
差異會在升級開始時的服務狀態與健康情況評估時的服務狀態之間測量。
檢查會在每個升級網域升級完成之後執行,以確保叢集的全域狀態在容許的限制內。
int

約束:
最小值 = 0
最大值 = 100

ServiceTypeDeltaHealthPolicyMap

名字 描述 價值

ServiceTypeHealthPolicy

名字 描述 價值
maxPercentUnhealthyServices 在應用程式視為錯誤之前,允許狀況不良的服務百分比上限。 int

約束:
最小值 = 0
最大值 = 100

ServiceTypeHealthPolicyMap

名字 描述 價值

SettingsParameterDescription

名字 描述 價值
名字 網狀架構設定的參數名稱。 字串 (必要)
價值 網狀架構設定的參數值。 字串 (必要)

SettingsSectionDescription

名字 描述 價值
名字 網狀架構設定的區段名稱。 字串 (必要)
參數 區段中的參數集合。 SettingsParameterDescription[] (必要)