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 叢集 |
此範本可讓您在Standard_D2_V2大小 VMSS 上部署執行 Ubuntu 的安全 5 節點 Service Fabric 叢集。 |
部署5個節點安全叢集 |
此範本可讓您在Standard_D2_v2大小 VMSS 上部署執行 Windows Server 2019 Datacenter 的安全 5 節點 Service Fabric 叢集。 |
部署已啟用 NSG 的 3 個 Nodetype 安全叢集 |
此範本可讓您在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 叢集 |
此範本可讓您在 Standard_D2_V2 Size VMSS 上部署執行 Ubuntu 的安全 5 節點 Service Fabric 叢集。 |
部署5節點安全叢集 |
此範本可讓您在Standard_D2_v2大小 VMSS 上部署執行 Windows Server 2019 Datacenter 的安全 5 節點 Service Fabric 叢集。 |
部署已啟用 NSG 的 3 個 Nodetype 安全叢集 |
此範本可讓您在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 |