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' 時,才能設定使用者 |
字串 |
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 |
'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' 時,才能設定使用者 |
字串 |
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 |
'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 安全叢集 |
此範本可讓您在Standard_D2大小 VM 上部署執行 Windows Server 2016 資料中心的安全 3 節點類型 Service Fabric 叢集。 使用此範本可讓您使用網路安全組控制輸入和輸出網路流量。 |
部署5節點安全叢集 |
此範本可讓您在Standard_D2_v2大小 VMSS 上部署執行 Windows Server 2019 Datacenter 的安全 5 節點 Service Fabric 叢集。 |
部署 5 節點 Ubuntu Service Fabric 叢集 |
此範本可讓您在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' 時,才能設定使用者 |
字串 |
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 |
'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[] (必要) |