共用方式為


Microsoft.ServiceFabric 叢集 2021-06-01

Bicep 資源定義

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

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

資源格式

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

resource symbolicname 'Microsoft.ServiceFabric/clusters@2021-06-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  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'
    }
    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
        isPrimary: bool
        isStateless: bool
        multipleAvailabilityZones: bool
        name: 'string'
        placementProperties: {
          {customized property}: 'string'
        }
        reverseProxyEndpointPort: int
        vmInstanceCount: int
      }
    ]
    notifications: [
      {
        isEnabled: bool
        notificationCategory: 'WaveProgress'
        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
  }
}

屬性值

clusters

名稱 描述
NAME 資源名稱 字串 (必要)

字元限制:4-23

合法字元:
小寫字母、數字和連字號。

以小寫字母開頭。 以小寫字母或數字結尾。
location Azure 資源位置。 字串 (必要)
tags Azure 資源標籤。 標記名稱和值的字典。 請參閱 範本中的標記
properties 叢集資源屬性 ClusterProperties

ClusterProperties

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

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

ApplicationTypeVersionsCleanupPolicy

名稱 描述
maxUnusedVersionsToKeep 每個應用程式類型要保留的未使用版本數目。 int (必要)

約束:
最小值 = 0

AzureActiveDirectory

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

CertificateDescription

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

ServerCertificateCommonNames

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

ServerCertificateCommonName

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

ClientCertificateCommonName

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

ClientCertificateThumbprint

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

DiagnosticsStorageAccountConfig

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

SettingsSectionDescription

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

SettingsParameterDescription

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

NodeTypeDescription

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

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

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

EndpointRangeDescription

名稱 描述
endPort 埠範圍的結束埠 需要 int ()
startPort 開始埠範圍 需要 int ()

NodeTypeDescriptionCapacities

名稱 描述
{自定義屬性} 字串

NodeTypeDescriptionPlacementProperties

名稱 描述
{自定義屬性} 字串

通知

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

NotificationTarget

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

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 格式。 需要字串 ()

ClusterUpgradeDeltaHealthPolicy

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

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

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

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

ApplicationDeltaHealthPolicyMap

名稱 描述
{自定義屬性} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

名稱 描述
defaultServiceTypeDeltaHealthPolicy 升級叢集時,預設用來評估服務類型健康情況的差異健全狀況原則。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每個服務類型名稱的服務類型差異健全狀況原則對應。 對應預設是空的。 ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

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

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

ServiceTypeDeltaHealthPolicyMap

名稱 描述
{自定義屬性} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

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

百分比表示在系統將叢集視為錯誤之前,容許應用程式健康情況不良的最大百分比。
如果未到達此百分比,但至少有一個健康情況不良的應用程式,則健康情況會評估為 Warning。
此計算是將健康情況不良的應用程式數目除以叢集中應用程式執行個體的總數而得,但不包括 ApplicationTypeHealthPolicyMap 所包含之應用程式類型的應用程式。
針對少量的應用程式數目,計算會四捨五入以容許一個失敗。 預設百分比是零。
int

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

百分比表示在叢集被視為處於錯誤狀態之前,容許節點健康情況不良的最大百分比。
如果未到達此百分比,但至少有一個健康情況不良的節點,則健康情況會評估為 Warning。
百分比是將健康情況不良節點數目除以叢集中的節點總數計算而得。
針對較少的節點數目,計算會四捨五入以容許一個失敗。 預設百分比是零。

在大型叢集中,永遠都有一些節點會關閉或需要修復,因此應設定此百分比來容許這種情形。
int

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

ApplicationHealthPolicyMap

名稱 描述
{自定義屬性} ApplicationHealthPolicy

ApplicationHealthPolicy

名稱 描述
defaultServiceTypeHealthPolicy 默認用來評估服務類型健康情況的健康狀態原則。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 每個服務類型名稱的服務類型健全狀況原則對應。 對應預設是空的。 ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

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

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

ServiceTypeHealthPolicyMap

名稱 描述
{自定義屬性} ServiceTypeHealthPolicy

快速入門範本

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

範本 描述
部署 5 個節點 Ubuntu Service Fabric 叢集

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

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

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

ARM 範本資源定義

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

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

資源格式

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

{
  "type": "Microsoft.ServiceFabric/clusters",
  "apiVersion": "2021-06-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "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"
    },
    "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",
        "isPrimary": "bool",
        "isStateless": "bool",
        "multipleAvailabilityZones": "bool",
        "name": "string",
        "placementProperties": {
          "{customized property}": "string"
        },
        "reverseProxyEndpointPort": "int",
        "vmInstanceCount": "int"
      }
    ],
    "notifications": [
      {
        "isEnabled": "bool",
        "notificationCategory": "WaveProgress",
        "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"
  }
}

屬性值

clusters

名稱 描述
類型 資源類型 'Microsoft.ServiceFabric/clusters'
apiVersion 資源 API 版本 '2021-06-01'
NAME 資源名稱 字串 (必要)

字元限制:4-23

合法字元:
小寫字母、數字和連字號。

以小寫字母開頭。 以小寫字母或數字結尾。
location Azure 資源位置。 字串 (必要)
tags Azure 資源標籤。 標記名稱和值的字典。 請參閱 範本中的標記
properties 叢集資源屬性 ClusterProperties

ClusterProperties

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

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

ApplicationTypeVersionsCleanupPolicy

名稱 描述
maxUnusedVersionsToKeep 每個應用程式類型要保留的未使用版本數目。 int (必要)

約束:
最小值 = 0

AzureActiveDirectory

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

CertificateDescription

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

ServerCertificateCommonNames

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

ServerCertificateCommonName

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

ClientCertificateCommonName

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

ClientCertificateThumbprint

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

DiagnosticsStorageAccountConfig

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

SettingsSectionDescription

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

SettingsParameterDescription

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

NodeTypeDescription

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

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

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

EndpointRangeDescription

名稱 描述
endPort 埠範圍的結束埠 int (必要)
startPort 開始埠範圍 int (必要)

NodeTypeDescriptionCapacities

名稱 描述
{自定義屬性} 字串

NodeTypeDescriptionPlacementProperties

名稱 描述
{自定義屬性} 字串

通知

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

NotificationTarget

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

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 格式。 字串 (必要)

ClusterUpgradeDeltaHealthPolicy

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

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

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

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

ApplicationDeltaHealthPolicyMap

名稱 描述
{自定義屬性} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

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

ServiceTypeDeltaHealthPolicy

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

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

ServiceTypeDeltaHealthPolicyMap

名稱 描述
{自定義屬性} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

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

百分比表示在系統將叢集視為錯誤之前,容許應用程式健康情況不良的最大百分比。
如果未到達此百分比,但至少有一個健康情況不良的應用程式,則健康情況會評估為 Warning。
此計算是將健康情況不良的應用程式數目除以叢集中應用程式執行個體的總數而得,但不包括 ApplicationTypeHealthPolicyMap 所包含之應用程式類型的應用程式。
針對少量的應用程式數目,計算會四捨五入以容許一個失敗。 預設百分比是零。
int

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

百分比表示在叢集被視為處於錯誤狀態之前,容許節點健康情況不良的最大百分比。
如果未到達此百分比,但至少有一個健康情況不良的節點,則健康情況會評估為 Warning。
百分比是將健康情況不良節點數目除以叢集中的節點總數計算而得。
針對較少的節點數目,計算會四捨五入以容許一個失敗。 預設百分比是零。

在大型叢集中,永遠都有一些節點會關閉或需要修復,因此應設定此百分比來容許這種情形。
int

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

ApplicationHealthPolicyMap

名稱 描述
{自定義屬性} ApplicationHealthPolicy

ApplicationHealthPolicy

名稱 描述
defaultServiceTypeHealthPolicy 默認用來評估服務類型健康情況的健康情況原則。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 每個服務類型名稱的服務類型健康情況原則對應。 對應預設是空的。 ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

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

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

ServiceTypeHealthPolicyMap

名稱 描述
{自定義屬性} ServiceTypeHealthPolicy

快速入門範本

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

範本 描述
部署 5 節點 Ubuntu Service Fabric 叢集

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

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

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

Terraform (AzAPI 提供者) 資源定義

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

  • 資源群組

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

資源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/clusters@2021-06-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  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"
      }
      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
          isPrimary = bool
          isStateless = bool
          multipleAvailabilityZones = bool
          name = "string"
          placementProperties = {
            {customized property} = "string"
          }
          reverseProxyEndpointPort = int
          vmInstanceCount = int
        }
      ]
      notifications = [
        {
          isEnabled = bool
          notificationCategory = "WaveProgress"
          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
    }
  })
}

屬性值

clusters

名稱 描述
類型 資源類型 “Microsoft.ServiceFabric/clusters@2021-06-01”
NAME 資源名稱 字串 (必要)

字元限制:4-23

合法字元:
小寫字母、數字和連字號。

以小寫字母開頭。 以小寫字母或數字結尾。
location Azure 資源位置。 字串 (必要)
parent_id 若要部署至資源群組,請使用該資源群組的標識碼。 字串 (必要)
tags Azure 資源標籤。 標記名稱和值的字典。
properties 叢集資源屬性 ClusterProperties

ClusterProperties

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

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

ApplicationTypeVersionsCleanupPolicy

名稱 描述
maxUnusedVersionsToKeep 每個應用程式類型要保留的未使用版本數目。 int (必要)

約束:
最小值 = 0

AzureActiveDirectory

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

CertificateDescription

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

ServerCertificateCommonNames

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

ServerCertificateCommonName

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

ClientCertificateCommonName

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

ClientCertificateThumbprint

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

DiagnosticsStorageAccountConfig

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

SettingsSectionDescription

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

SettingsParameterDescription

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

NodeTypeDescription

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

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

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

EndpointRangeDescription

名稱 描述
endPort 埠範圍的結束埠 需要 int ()
startPort 開始埠範圍 需要 int ()

NodeTypeDescriptionCapacities

名稱 描述
{自定義屬性} 字串

NodeTypeDescriptionPlacementProperties

名稱 描述
{自定義屬性} 字串

通知

名稱 描述
isEnabled 指出通知是否已啟用。 bool (必要)
notificationCategory 通知的類別。 “WaveProgress” (必要)
notificationLevel 通知層級。 "All"
「重大」 (必要)
notificationTargets 訂閱通知的目標清單。 NotificationTarget[] (必要)

NotificationTarget

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

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 格式。 需要字串 ()

ClusterUpgradeDeltaHealthPolicy

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

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

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

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

ApplicationDeltaHealthPolicyMap

名稱 描述
{自定義屬性} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

名稱 描述
defaultServiceTypeDeltaHealthPolicy 升級叢集時,預設用來評估服務類型健康情況的差異健全狀況原則。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每個服務類型名稱的服務類型差異健全狀況原則對應。 對應預設是空的。 ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

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

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

ServiceTypeDeltaHealthPolicyMap

名稱 描述
{自定義屬性} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

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

百分比表示在系統將叢集視為錯誤之前,容許應用程式健康情況不良的最大百分比。
如果未到達此百分比,但至少有一個健康情況不良的應用程式,則健康情況會評估為 Warning。
此計算是將健康情況不良的應用程式數目除以叢集中應用程式執行個體的總數而得,但不包括 ApplicationTypeHealthPolicyMap 所包含之應用程式類型的應用程式。
針對少量的應用程式數目,計算會四捨五入以容許一個失敗。 預設百分比是零。
int

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

百分比表示在叢集被視為處於錯誤狀態之前,容許節點健康情況不良的最大百分比。
如果未到達此百分比,但至少有一個健康情況不良的節點,則健康情況會評估為 Warning。
百分比是將健康情況不良節點數目除以叢集中的節點總數計算而得。
針對較少的節點數目,計算會四捨五入以容許一個失敗。 預設百分比是零。

在大型叢集中,永遠都有一些節點會關閉或需要修復,因此應設定此百分比來容許這種情形。
int

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

ApplicationHealthPolicyMap

名稱 描述
{自定義屬性} ApplicationHealthPolicy

ApplicationHealthPolicy

名稱 描述
defaultServiceTypeHealthPolicy 默認用來評估服務類型健康情況的健康情況原則。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 每個服務類型名稱的服務類型健康情況原則對應。 對應預設是空的。 ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

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

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

ServiceTypeHealthPolicyMap

名稱 描述
{自定義屬性} ServiceTypeHealthPolicy