你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.ServiceFabric 群集

Bicep 资源定义

可以使用针对以下操作部署群集资源类型:

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.ServiceFabric/clusters 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.ServiceFabric/clusters@2023-11-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    addOnFeatures: [
      'string'
    ]
    applicationTypeVersionsCleanupPolicy: {
      maxUnusedVersionsToKeep: int
      maxUnusedVersionsToKeep: int
    }
    azureActiveDirectory: {
      clientApplication: 'string'
      clusterApplication: 'string'
      tenantId: 'string'
      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'
            name: 'string'
            value: 'string'
          }
        ]
        name: 'string'
        parameters: [
          {
            name: 'string'
            value: 'string'
            name: 'string'
            value: 'string'
          }
        ]
      }
    ]
    infrastructureServiceManager: bool
    managementEndpoint: 'string'
    nodeTypes: [
      {
        applicationPorts: {
          endPort: int
          startPort: int
          endPort: int
          startPort: int
        }
        capacities: {
          {customized property}: 'string'
        }
        clientConnectionEndpointPort: int
        durabilityLevel: 'string'
        ephemeralPorts: {
          endPort: int
          startPort: int
          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: '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
        maxPercentDeltaUnhealthyApplications: int
        maxPercentDeltaUnhealthyNodes: int
        maxPercentUpgradeDomainDeltaUnhealthyNodes: int
      }
      forceRestart: bool
      healthCheckRetryTimeout: 'string'
      healthCheckStableDuration: 'string'
      healthCheckWaitDuration: 'string'
      healthPolicy: {
        applicationHealthPolicies: {
          {customized property}: {
            defaultServiceTypeHealthPolicy: {
              maxPercentUnhealthyServices: int
              maxPercentUnhealthyPartitionsPerService: int
              maxPercentUnhealthyReplicasPerPartition: int
              maxPercentUnhealthyServices: int
            }
            serviceTypeHealthPolicies: {
              {customized property}: {
                maxPercentUnhealthyServices: int
                maxPercentUnhealthyPartitionsPerService: int
                maxPercentUnhealthyReplicasPerPartition: int
                maxPercentUnhealthyServices: int
              }
            }
            considerWarningAsError: bool
            defaultServiceTypeHealthPolicy: {
              maxPercentUnhealthyServices: int
              maxPercentUnhealthyPartitionsPerService: int
              maxPercentUnhealthyReplicasPerPartition: int
              maxPercentUnhealthyServices: int
            }
            maxPercentUnhealthyDeployedApplications: int
            serviceTypeHealthPolicyMap: {
              {customized property}: {
                maxPercentUnhealthyServices: int
                maxPercentUnhealthyPartitionsPerService: int
                maxPercentUnhealthyReplicasPerPartition: int
                maxPercentUnhealthyServices: int
              }
            }
          }
        }
        maxPercentUnhealthyApplications: int
        maxPercentUnhealthyNodes: int
        maxPercentUnhealthyApplications: int
        maxPercentUnhealthyNodes: int
      }
      upgradeDomainTimeout: 'string'
      upgradeReplicaSetCheckTimeout: 'string'
      upgradeTimeout: 'string'
      deltaHealthPolicy: {
        applicationDeltaHealthPolicies: {
          {customized property}: {
            defaultServiceTypeDeltaHealthPolicy: {
              maxPercentDeltaUnhealthyServices: int
            }
            serviceTypeDeltaHealthPolicies: {
              {customized property}: {
                maxPercentDeltaUnhealthyServices: int
              }
            }
          }
        }
        maxPercentDeltaUnhealthyApplications: int
        maxPercentDeltaUnhealthyNodes: int
        maxPercentUpgradeDomainDeltaUnhealthyNodes: int
        maxPercentDeltaUnhealthyApplications: int
        maxPercentDeltaUnhealthyNodes: int
        maxPercentUpgradeDomainDeltaUnhealthyNodes: int
      }
      forceRestart: bool
      healthPolicy: {
        applicationHealthPolicies: {
          {customized property}: {
            defaultServiceTypeHealthPolicy: {
              maxPercentUnhealthyServices: int
              maxPercentUnhealthyPartitionsPerService: int
              maxPercentUnhealthyReplicasPerPartition: int
              maxPercentUnhealthyServices: int
            }
            serviceTypeHealthPolicies: {
              {customized property}: {
                maxPercentUnhealthyServices: int
                maxPercentUnhealthyPartitionsPerService: int
                maxPercentUnhealthyReplicasPerPartition: int
                maxPercentUnhealthyServices: int
              }
            }
            considerWarningAsError: bool
            defaultServiceTypeHealthPolicy: {
              maxPercentUnhealthyServices: int
              maxPercentUnhealthyPartitionsPerService: int
              maxPercentUnhealthyReplicasPerPartition: int
              maxPercentUnhealthyServices: int
            }
            maxPercentUnhealthyDeployedApplications: int
            serviceTypeHealthPolicyMap: {
              {customized property}: {
                maxPercentUnhealthyServices: int
                maxPercentUnhealthyPartitionsPerService: int
                maxPercentUnhealthyReplicasPerPartition: int
                maxPercentUnhealthyServices: int
              }
            }
          }
        }
        maxPercentUnhealthyApplications: int
        maxPercentUnhealthyNodes: int
        maxPercentUnhealthyApplications: int
        maxPercentUnhealthyNodes: int
      }
      monitoringPolicy: {
        healthCheckRetryTimeout: 'string'
        healthCheckStableDuration: 'string'
        healthCheckWaitDuration: 'string'
        upgradeDomainTimeout: 'string'
        upgradeTimeout: 'string'
      }
      upgradeReplicaSetCheckTimeout: 'string'
    }
    upgradeMode: 'string'
    upgradePauseEndTimestampUtc: 'string'
    upgradePauseStartTimestampUtc: 'string'
    upgradeWave: 'string'
    vmImage: 'string'
    vmssZonalUpgradeMode: 'string'
    waveUpgradePaused: bool
  }
}

属性值

clusters

名称 说明
name 资源名称 字符串 (必需)

字符限制:4-23

有效字符:
小写字母、数字和连字符。

以小写字母开头。 以小写字母或数字结尾。
location Azure 资源位置。 字符串 (必需)
标记 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
enableHttpGatewayExclusiveAuthMode 如果为 true,则 HttpGatewayEndpoint 上不允许使用基于令牌的身份验证。 这是支持 TLS 1.3 及更高版本所必需的。 如果使用基于令牌的身份验证,则必须定义 HttpGatewayTokenAuthEndpointPort。 bool
eventStoreServiceEnabled 指示是否启用了事件存储服务。 bool
fabricSettings 用于配置群集的自定义结构设置列表。 SettingsSectionDescription[]
infrastructureServiceManager 指示是否启用了基础结构服务管理器。 bool
managementEndpoint 群集的 http 管理终结点。 字符串 (必需)
nodeTypes 群集中的节点类型列表。 NodeTypeDescription[] (必需)
通知 指示群集事件的通知通道列表。 通知[]
reliabilityLevel 可靠性级别设置系统服务的副本 (replica) 集大小。 了解 ReliabilityLevel

- 无 - 运行目标副本 (replica) 计数设置为 1 的系统服务。 这只能用于测试群集。
- 铜牌 - 运行目标副本 (replica) 计数为 3 的系统服务。 这只能用于测试群集。
- Silver - 运行目标副本 (replica) 计数为 5 的系统服务。
- 黄金 - 运行目标副本 (replica) 计数为 7 的系统服务。
- Platinum - 运行目标副本 (replica) 计数为 9 的系统服务。
“Bronze”
'Gold'
“None”
'Platinum'
'Silver'
reverseProxyCertificate 反向代理使用的服务器证书。 CertificateDescription
reverseProxyCertificateCommonNames 描述用于保护群集的公用名称引用的服务器证书的列表。 ServerCertificateCommonNames
sfZonalUpgradeMode 此属性控制升级域 (UD) 中虚拟机的逻辑分组。 如果群集中已存在具有多个可用性区域的节点类型,则无法修改此属性。 “分层”
“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
maxUnusedVersionsToKeep 要保留的每个应用程序类型未使用的版本数。 int (必需)

约束:
最小值 = 0

AzureActiveDirectory

名称 说明
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active Directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active Directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串

CertificateDescription

名称 说明
thumbprint 主要证书的指纹。 字符串 (必需)
thumbprintSecondary 辅助证书的指纹。 字符串
x509StoreName 本地证书存储位置。 “AddressBook”
“AuthRoot”
“CertificateAuthority”
“不允许”
“My”
“根”
“TrustedPeople”
“TrustedPublisher”

ServerCertificateCommonNames

名称 说明
commonNames 用于保护群集的公用名称引用的服务器证书列表。 ServerCertificateCommonName[]
x509StoreName 本地证书存储位置。 “AddressBook”
“AuthRoot”
“CertificateAuthority”
“不允许”
“My”
“根”
“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 构造设置的节名称。 字符串 (必需)
parameters 节中的参数集合。 SettingsParameterDescription[] (必需的)
name 构造设置的节名称。 字符串 (必需)
parameters 节中的参数集合。 SettingsParameterDescription[] (必需的)

SettingsParameterDescription

名称 说明
name 构造设置的参数名称。 字符串 (必需)
value 构造设置的参数值。 字符串 (必需)
name 构造设置的参数名称。 字符串 (必需)
value 构造设置的参数值。 字符串 (必需)

NodeTypeDescription

名称 说明
applicationPorts 群集从中向 Service Fabric 应用程序分配端口的端口范围。 EndpointRangeDescription
capacities 应用于节点类型的节点的容量标记,群集资源管理器使用这些标记来了解节点具有多少资源。 NodeTypeDescriptionCapacities
clientConnectionEndpointPort TCP 群集管理终结点端口。 int (必需)
durabilityLevel 节点类型的持久性级别。 了解 DurabilityLevel

- 铜牌 - 无特权。 这是默认值。
- 白银 - 每个 UD 可以暂停基础结构作业 10 分钟。
- 黄金 - 每个 UD 可以暂停基础结构作业 2 小时。 仅可在 D15_V2、G5 等完整节点 VM sku 上启用“黄金”耐久性。
“铜牌”
“Gold”
“Silver”
ephemeralPorts 应为此节点类型中的节点配置临时端口的范围。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 群集管理终结点端口。 int (必需)
httpGatewayTokenAuthEndpointPort 用于与群集建立基于令牌身份验证的 HTTPS 连接的端口。 不能设置为与 HttpGatewayEndpoint 相同的端口。 int
isPrimary 将运行系统服务的节点类型。 只能将一个节点类型标记为主节点。 无法删除或更改现有群集的主节点类型。 bool (必需)
isStateless 指示节点类型是否只能托管无状态工作负荷。 bool
multipleAvailabilityZones 指示是否启用节点类型以支持多个区域。 bool
name 节点类型的名称。 字符串 (必需)
placementProperties 应用于节点类型中的节点的放置标记,可用于指示某些服务 (工作负荷) 应在哪里运行。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向代理使用的终结点。 int
vmInstanceCount VMInstanceCount 应为 1 到 n,其中 n 表示与此 nodeType 对应的 VM 实例数。 VMInstanceCount = 0 只能在以下情况下执行:NodeType 是辅助 nodeType。 Durability = Bronze 或 Durability >= Bronze and InfrastructureServiceManager = true。 如果 VMInstanceCount = 0,则表示此 nodeType 的 VM 将不用于初始群集大小计算。 int (必需)

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

EndpointRangeDescription

名称 说明
endPort 一系列端口的结束端口 int (必需)
startPort 启动一系列端口的端口 int (必需)
endPort 一系列端口的结束端口 int (必需)
startPort 一系列端口的起始端口 int (必需)

NodeTypeDescriptionCapacities

名称 说明
{customized property} 字符串

NodeTypeDescriptionPlacementProperties

名称 说明
{customized property} 字符串

通知

名称 说明
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 格式。 字符串 (必需)
deltaHealthPolicy 群集增量运行状况策略定义用于在群集升级期间评估群集运行状况的运行状况策略。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果为 true,则在升级过程中强制重启进程,即使代码版本未更改 (升级仅更改配置或数据) 。 bool
healthPolicy 群集运行状况策略定义用于在群集升级期间评估群集运行状况的运行状况策略。 ClusterHealthPolicy
monitoringPolicy 群集监视策略描述用于在监视模式下监视升级的参数。 ClusterMonitoringPolicy
upgradeReplicaSetCheckTimeout 出现意外问题时,阻止处理升级域并防止可用性丢失的最大时长。
当此超时到期时,无论是否存在可用性丢失问题,都将继续处理升级域。
每个升级域启动时重置超时。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。
此值必须介于 00:00:00 和 49710.06:28:15 之间, (无符号 32 位整数的秒数)
字符串

ClusterUpgradeDeltaHealthPolicy

名称 说明
applicationDeltaHealthPolicies 定义应用程序增量运行状况策略映射,用于在升级群集时评估应用程序或其某个子实体的运行状况。 ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。
增量是在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量的。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyNodes 群集升级过程中允许的节点运行状况降级最大百分比。
在开始升级时的节点状态与运行状况评估时的节点状态之间测得的增量值。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes 群集升级过程中允许的升级域节点运行状况降级最大百分比。
在开始升级时的升级域节点状态与运行状况评估时的升级域节点状态之间测得的增量值。
每个升级域升级完成后对所有已完成的升级域执行检查,以便确保升级域的状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。
增量是在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量的。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。
注意:此值将覆盖属性中指定的值。UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications
int

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyNodes 群集升级过程中允许的节点运行状况降级最大百分比。
在开始升级时的节点状态与运行状况评估时的节点状态之间测得的增量值。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes 群集升级过程中允许的升级域节点运行状况降级最大百分比。
在开始升级时的升级域节点状态与运行状况评估时的升级域节点状态之间测得的增量值。
每个升级域升级完成后对所有已完成的升级域执行检查,以便确保升级域的状态在允许的限制内。
int

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

ApplicationDeltaHealthPolicyMap

名称 说明
{customized property} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

名称 说明
defaultServiceTypeDeltaHealthPolicy 默认情况下,增量运行状况策略用于在升级群集时评估服务类型的运行状况。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每个服务类型名称具有服务类型增量运行状况策略的映射。 映射默认为空。 ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

名称 说明
maxPercentDeltaUnhealthyServices 群集升级期间允许的最大服务运行状况降级百分比。
在升级开始时的服务状态和服务运行状况评估时的状态之间测量增量。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int

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

ServiceTypeDeltaHealthPolicyMap

名称 说明
{customized property} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

名称 说明
applicationHealthPolicies 定义用于评估应用程序或其子实体之一运行状况的应用程序运行状况策略映射。 ApplicationHealthPolicyMap
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序百分比。 例如,若要允许 10% 的应用程序处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的应用程序的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的应用程序,则将运行状况评估为 Warning。
该百分比的计算方式是将不正常的应用程序数除以群集中的应用程序实例总数,不包括 ApplicationTypeHealthPolicyMap 中包含的应用程序类型的应用程序。
计算结果调高为整数,以便容忍少量应用程序出现一次失败。 默认百分比为零。
int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 报告错误之前允许的最大不正常节点百分比。 例如,若要允许 10% 的节点处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的节点的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的节点,则将运行状况评估为警告。
该百分比的计算方式是将不正常的节点数除以群集中的节点总数。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。

在大型群集中,始终会有一些要关闭或需要修复的节点,因此应配置此百分比以便容忍这种情况。
int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序百分比。 例如,若要允许 10% 的应用程序处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的应用程序的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的应用程序,则将运行状况评估为 Warning。
该百分比的计算方式是将不正常的应用程序数除以群集中的应用程序实例总数,不包括 ApplicationTypeHealthPolicyMap 中包含的应用程序类型的应用程序。
计算结果调高为整数,以便容忍少量应用程序出现一次失败。 默认百分比为零。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 报告错误之前允许的最大不正常节点百分比。 例如,若要允许 10% 的节点处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的节点的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的节点,则将运行状况评估为警告。
该百分比的计算方式是将不正常的节点数除以群集中的节点总数。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。

在大型群集中,始终会有一些要关闭或需要修复的节点,因此应配置此百分比以便容忍这种情况。
int (必需)

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

ApplicationHealthPolicyMap

名称 说明
{customized property} ApplicationHealthPolicy

ApplicationHealthPolicy

名称 说明
defaultServiceTypeHealthPolicy 默认情况下用于评估服务类型的运行状况的运行状况策略。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 ServiceTypeHealthPolicyMap
considerWarningAsError 指示是否将警告的严重性视为与错误相同。 需要 bool ()
defaultServiceTypeHealthPolicy 默认情况下用于评估服务类型的运行状况的运行状况策略。 ServiceTypeHealthPolicy
maxPercentUnhealthyDeployedApplications 允许的已部署的不正常应用程序的最大百分比。 允许的值为 0 到 100 的字节值。
该百分比表示在将应用程序视为错误之前可处于不正常状态的已部署应用程序的最大允许百分比。
这是通过将不正常的已部署应用程序数除以群集中应用程序当前部署在上的节点数计算得出的。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。
int (必需)
serviceTypeHealthPolicyMap 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

名称 说明
maxPercentUnhealthyServices 在应用程序被视为错误之前允许运行不正常的服务的最大百分比。 int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyPartitionsPerService 每个服务允许的最大不正常分区百分比。

百分比表示在将服务视为错误之前,可能处于不正常状态的分区的最大允许百分比。
如果遵循百分比,但至少有一个不正常的分区,则运行状况评估为“警告”。
百分比的计算方法是将运行不正常的分区数除以服务中的分区总数。
计算向上舍入,以容忍少量分区上的一次故障。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyReplicasPerPartition 每个分区允许的最大不正常副本百分比。

该百分比表示在将分区视为错误之前可能处于不正常状态的副本的最大允许百分比。
如果遵循百分比,但至少有一个不正常的副本 (replica) ,则运行状况评估为警告。
百分比的计算方法是将运行不正常的副本数除以分区中的副本总数。
计算向上舍入,以容忍少量副本上的一次故障。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyServices 允许的最大不正常服务百分比。

百分比表示在将应用程序视为错误之前可能处于不正常状态的服务的最大允许百分比。
如果遵循百分比,但至少有一个不正常的服务,则运行状况评估为“警告”。
这是通过将特定服务类型的不正常服务数除以特定服务类型的服务总数来计算的。
计算向上舍入,以容忍少量服务上的一次故障。
int (必需)

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

ServiceTypeHealthPolicyMap

名称 说明
{customized property} ServiceTypeHealthPolicy

ClusterMonitoringPolicy

名称 说明
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 格式。 字符串 (必需)
upgradeDomainTimeout 每个升级域在回滚升级之前必须完成的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字符串 (必需)
upgradeTimeout 在升级回滚之前,必须完成整体升级的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字符串 (必需)

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
部署 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": "2023-11-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "addOnFeatures": [ "string" ],
    "applicationTypeVersionsCleanupPolicy": {
      "maxUnusedVersionsToKeep": "int",
      "maxUnusedVersionsToKeep": "int"
    },
    "azureActiveDirectory": {
      "clientApplication": "string",
      "clusterApplication": "string",
      "tenantId": "string",
      "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",
            "name": "string",
            "value": "string"
          }
        ],
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "value": "string",
            "name": "string",
            "value": "string"
          }
        ]
      }
    ],
    "infrastructureServiceManager": "bool",
    "managementEndpoint": "string",
    "nodeTypes": [
      {
        "applicationPorts": {
          "endPort": "int",
          "startPort": "int",
          "endPort": "int",
          "startPort": "int"
        },
        "capacities": {
          "{customized property}": "string"
        },
        "clientConnectionEndpointPort": "int",
        "durabilityLevel": "string",
        "ephemeralPorts": {
          "endPort": "int",
          "startPort": "int",
          "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": "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",
        "maxPercentDeltaUnhealthyApplications": "int",
        "maxPercentDeltaUnhealthyNodes": "int",
        "maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
      },
      "forceRestart": "bool",
      "healthCheckRetryTimeout": "string",
      "healthCheckStableDuration": "string",
      "healthCheckWaitDuration": "string",
      "healthPolicy": {
        "applicationHealthPolicies": {
          "{customized property}": {
            "defaultServiceTypeHealthPolicy": {
              "maxPercentUnhealthyServices": "int",
              "maxPercentUnhealthyPartitionsPerService": "int",
              "maxPercentUnhealthyReplicasPerPartition": "int",
              "maxPercentUnhealthyServices": "int"
            },
            "serviceTypeHealthPolicies": {
              "{customized property}": {
                "maxPercentUnhealthyServices": "int",
                "maxPercentUnhealthyPartitionsPerService": "int",
                "maxPercentUnhealthyReplicasPerPartition": "int",
                "maxPercentUnhealthyServices": "int"
              }
            },
            "considerWarningAsError": "bool",
            "defaultServiceTypeHealthPolicy": {
              "maxPercentUnhealthyServices": "int",
              "maxPercentUnhealthyPartitionsPerService": "int",
              "maxPercentUnhealthyReplicasPerPartition": "int",
              "maxPercentUnhealthyServices": "int"
            },
            "maxPercentUnhealthyDeployedApplications": "int",
            "serviceTypeHealthPolicyMap": {
              "{customized property}": {
                "maxPercentUnhealthyServices": "int",
                "maxPercentUnhealthyPartitionsPerService": "int",
                "maxPercentUnhealthyReplicasPerPartition": "int",
                "maxPercentUnhealthyServices": "int"
              }
            }
          }
        },
        "maxPercentUnhealthyApplications": "int",
        "maxPercentUnhealthyNodes": "int",
        "maxPercentUnhealthyApplications": "int",
        "maxPercentUnhealthyNodes": "int"
      },
      "upgradeDomainTimeout": "string",
      "upgradeReplicaSetCheckTimeout": "string",
      "upgradeTimeout": "string",
      "deltaHealthPolicy": {
        "applicationDeltaHealthPolicies": {
          "{customized property}": {
            "defaultServiceTypeDeltaHealthPolicy": {
              "maxPercentDeltaUnhealthyServices": "int"
            },
            "serviceTypeDeltaHealthPolicies": {
              "{customized property}": {
                "maxPercentDeltaUnhealthyServices": "int"
              }
            }
          }
        },
        "maxPercentDeltaUnhealthyApplications": "int",
        "maxPercentDeltaUnhealthyNodes": "int",
        "maxPercentUpgradeDomainDeltaUnhealthyNodes": "int",
        "maxPercentDeltaUnhealthyApplications": "int",
        "maxPercentDeltaUnhealthyNodes": "int",
        "maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
      },
      "forceRestart": "bool",
      "healthPolicy": {
        "applicationHealthPolicies": {
          "{customized property}": {
            "defaultServiceTypeHealthPolicy": {
              "maxPercentUnhealthyServices": "int",
              "maxPercentUnhealthyPartitionsPerService": "int",
              "maxPercentUnhealthyReplicasPerPartition": "int",
              "maxPercentUnhealthyServices": "int"
            },
            "serviceTypeHealthPolicies": {
              "{customized property}": {
                "maxPercentUnhealthyServices": "int",
                "maxPercentUnhealthyPartitionsPerService": "int",
                "maxPercentUnhealthyReplicasPerPartition": "int",
                "maxPercentUnhealthyServices": "int"
              }
            },
            "considerWarningAsError": "bool",
            "defaultServiceTypeHealthPolicy": {
              "maxPercentUnhealthyServices": "int",
              "maxPercentUnhealthyPartitionsPerService": "int",
              "maxPercentUnhealthyReplicasPerPartition": "int",
              "maxPercentUnhealthyServices": "int"
            },
            "maxPercentUnhealthyDeployedApplications": "int",
            "serviceTypeHealthPolicyMap": {
              "{customized property}": {
                "maxPercentUnhealthyServices": "int",
                "maxPercentUnhealthyPartitionsPerService": "int",
                "maxPercentUnhealthyReplicasPerPartition": "int",
                "maxPercentUnhealthyServices": "int"
              }
            }
          }
        },
        "maxPercentUnhealthyApplications": "int",
        "maxPercentUnhealthyNodes": "int",
        "maxPercentUnhealthyApplications": "int",
        "maxPercentUnhealthyNodes": "int"
      },
      "monitoringPolicy": {
        "healthCheckRetryTimeout": "string",
        "healthCheckStableDuration": "string",
        "healthCheckWaitDuration": "string",
        "upgradeDomainTimeout": "string",
        "upgradeTimeout": "string"
      },
      "upgradeReplicaSetCheckTimeout": "string"
    },
    "upgradeMode": "string",
    "upgradePauseEndTimestampUtc": "string",
    "upgradePauseStartTimestampUtc": "string",
    "upgradeWave": "string",
    "vmImage": "string",
    "vmssZonalUpgradeMode": "string",
    "waveUpgradePaused": "bool"
  }
}

属性值

clusters

名称 说明 Value
type 资源类型 “Microsoft.ServiceFabric/clusters”
apiVersion 资源 API 版本 “2023-11-01-preview”
name 资源名称 字符串 (必需)

字符限制:4-23

有效字符:
小写字母、数字和连字符。

以小写字母开头。 以小写字母或数字结尾。
location Azure 资源位置。 字符串 (必需)
标记 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
enableHttpGatewayExclusiveAuthMode 如果为 true,则不允许在 HttpGatewayEndpoint 上进行基于令牌的身份验证。 这是支持 TLS 1.3 及更高版本所必需的。 如果使用基于令牌的身份验证,则必须定义 HttpGatewayTokenAuthEndpointPort。 bool
eventStoreServiceEnabled 指示是否启用了事件存储服务。 bool
fabricSettings 用于配置群集的自定义结构设置的列表。 SettingsSectionDescription[]
infrastructureServiceManager 指示是否启用了基础结构服务管理器。 bool
managementEndpoint 群集的 http 管理终结点。 字符串 (必需)
nodeTypes 群集中的节点类型列表。 NodeTypeDescription[] (必需)
通知 指示群集事件的通知通道列表。 通知[]
reliabilityLevel 可靠性级别设置系统服务的副本 (replica) 集大小。 了解 ReliabilityLevel

- 无 - 运行目标副本 (replica) 计数设置为 1 的系统服务。 这只能用于测试群集。
- 铜牌 - 运行目标副本 (replica) 计数为 3 的系统服务。 这只能用于测试群集。
- Silver - 运行目标副本 (replica) 计数为 5 的系统服务。
- 黄金 - 运行目标副本 (replica) 计数为 7 的系统服务。
- Platinum - 运行目标副本 (replica) 计数为 9 的系统服务。
“Bronze”
'Gold'
“None”
'Platinum'
'Silver'
reverseProxyCertificate 反向代理使用的服务器证书。 CertificateDescription
reverseProxyCertificateCommonNames 描述用于保护群集的公用名称引用的服务器证书的列表。 ServerCertificateCommonNames
sfZonalUpgradeMode 此属性控制升级域 (UD) 中虚拟机的逻辑分组。 如果群集中已存在具有多个可用性区域的节点类型,则无法修改此属性。 “分层”
“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
maxUnusedVersionsToKeep 要保留的每个应用程序类型未使用的版本数。 int (必需)

约束:
最小值 = 0

AzureActiveDirectory

名称 说明
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active Directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active Directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串

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 构造设置的节名称。 字符串 (必需)
parameters 节中的参数集合。 SettingsParameterDescription[] (必需)
name 构造设置的节名称。 字符串 (必需)
parameters 节中的参数集合。 SettingsParameterDescription[] (必需)

SettingsParameterDescription

名称 说明
name 构造设置的参数名称。 字符串 (必需)
value 结构设置的参数值。 字符串 (必需)
name 构造设置的参数名称。 字符串 (必需)
value 结构设置的参数值。 字符串 (必需)

NodeTypeDescription

名称 说明
applicationPorts 从群集将端口分配到 Service Fabric 应用程序的端口范围。 EndpointRangeDescription
capacities 应用于节点类型中的节点的容量标记,群集资源管理器使用这些标记来了解节点拥有的资源量。 NodeTypeDescriptionCapacities
clientConnectionEndpointPort TCP 群集管理终结点端口。 int (必需)
durabilityLevel 节点类型的持久性级别。 了解 DurabilityLevel

- 铜牌 - 无特权。 这是默认值。
- 白银 - 每个 UD 可以暂停基础结构作业 10 分钟的持续时间。
- 黄金 - 每个 UD 可以暂停基础结构作业 2 小时。 仅可在 D15_V2、G5 等完整节点 VM sku 上启用“黄金”耐久性。
“Bronze”
'Gold'
'Silver'
ephemeralPorts 此节点类型中的节点应使用的临时端口范围。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 群集管理终结点端口。 int (必需)
httpGatewayTokenAuthEndpointPort 用于与群集建立基于令牌身份验证的 HTTPS 连接的端口。 不能设置为与 HttpGatewayEndpoint 相同的端口。 int
isPrimary 将运行系统服务的节点类型。 只应将一个节点类型标记为主节点。 无法删除或更改现有群集的主节点类型。 需要 bool ()
isStateless 指示节点类型是否只能托管无状态工作负荷。 bool
multipleAvailabilityZones 指示节点类型是否已启用以支持多个区域。 bool
name 节点类型的名称。 字符串 (必需)
placementProperties 应用于节点类型中的节点的放置标记,可用于指示某些服务 (工作负荷) 应运行的位置。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向代理使用的终结点。 int
vmInstanceCount VMInstanceCount 应为 1 到 n,其中 n 表示与此 nodeType 对应的 VM 实例数。 VMInstanceCount = 0 只能在以下方案中执行:NodeType 是辅助 nodeType。 Durability = Bronze 或 Durability >= Bronze and InfrastructureServiceManager = true。 如果 VMInstanceCount = 0,则表示此 nodeType 的 VM 将不用于初始群集大小计算。 int (必需)

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

EndpointRangeDescription

名称 说明
endPort 一系列端口的结束端口 int (必需)
startPort 一系列端口的起始端口 int (必需)
endPort 一系列端口的结束端口 int (必需)
startPort 一系列端口的起始端口 int (必需)

NodeTypeDescriptionCapacities

名称 说明
{customized property} 字符串

NodeTypeDescriptionPlacementProperties

名称 说明
{customized property} 字符串

通知

名称 说明
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 格式。 字符串 (必需)
deltaHealthPolicy 群集增量运行状况策略定义用于在群集升级期间评估群集运行状况的运行状况策略。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果为 true,则在升级过程中强制重启进程,即使代码版本未更改, (升级仅更改配置或数据) 。 bool
healthPolicy 群集运行状况策略定义用于在群集升级期间评估群集运行状况的运行状况策略。 ClusterHealthPolicy
monitoringPolicy 群集监视策略描述用于在监视模式下监视升级的参数。 ClusterMonitoringPolicy
upgradeReplicaSetCheckTimeout 出现意外问题时,阻止处理升级域并防止可用性丢失的最大时长。
当此超时到期时,无论是否存在可用性丢失问题,都将继续处理升级域。
每个升级域启动时重置超时。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。
此值必须介于 00:00:00 和 49710.06:28:15 之间, (无符号 32 位整数(秒)
字符串

ClusterUpgradeDeltaHealthPolicy

名称 说明
applicationDeltaHealthPolicies 定义应用程序增量运行状况策略映射,用于在升级群集时评估应用程序或其子实体的运行状况。 ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况下降的最大百分比。
在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量增量。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyNodes 群集升级过程中允许的节点运行状况降级最大百分比。
在开始升级时的节点状态与运行状况评估时的节点状态之间测得的增量值。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes 群集升级过程中允许的升级域节点运行状况降级最大百分比。
在开始升级时的升级域节点状态与运行状况评估时的升级域节点状态之间测得的增量值。
每个升级域升级完成后对所有已完成的升级域执行检查,以便确保升级域的状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。
增量是在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量的。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。
注意:此值将覆盖属性中指定的值。UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications
int

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyNodes 群集升级过程中允许的节点运行状况降级最大百分比。
在开始升级时的节点状态与运行状况评估时的节点状态之间测得的增量值。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes 群集升级过程中允许的升级域节点运行状况降级最大百分比。
在开始升级时的升级域节点状态与运行状况评估时的升级域节点状态之间测得的增量值。
每个升级域升级完成后对所有已完成的升级域执行检查,以便确保升级域的状态在允许的限制内。
int

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

ApplicationDeltaHealthPolicyMap

名称 说明
{customized property} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

名称 说明
defaultServiceTypeDeltaHealthPolicy 默认情况下,增量运行状况策略用于在升级群集时评估服务类型的运行状况。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每个服务类型名称具有服务类型增量运行状况策略的映射。 映射默认为空。 ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

名称 说明
maxPercentDeltaUnhealthyServices 群集升级期间允许的最大服务运行状况降级百分比。
在升级开始时的服务状态和服务运行状况评估时的状态之间测量增量。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int

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

ServiceTypeDeltaHealthPolicyMap

名称 说明
{customized property} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

名称 说明
applicationHealthPolicies 定义用于评估应用程序或其子实体之一运行状况的应用程序运行状况策略映射。 ApplicationHealthPolicyMap
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序百分比。 例如,若要允许 10% 的应用程序处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的应用程序的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的应用程序,则将运行状况评估为 Warning。
该百分比的计算方式是将不正常的应用程序数除以群集中的应用程序实例总数,不包括 ApplicationTypeHealthPolicyMap 中包含的应用程序类型的应用程序。
计算结果调高为整数,以便容忍少量应用程序出现一次失败。 默认百分比为零。
int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 报告错误之前允许的最大不正常节点百分比。 例如,若要允许 10% 的节点处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的节点的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的节点,则将运行状况评估为警告。
该百分比的计算方式是将不正常的节点数除以群集中的节点总数。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。

在大型群集中,始终会有一些要关闭或需要修复的节点,因此应配置此百分比以便容忍这种情况。
int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序百分比。 例如,若要允许 10% 的应用程序处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的应用程序的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的应用程序,则将运行状况评估为 Warning。
该百分比的计算方式是将不正常的应用程序数除以群集中的应用程序实例总数,不包括 ApplicationTypeHealthPolicyMap 中包含的应用程序类型的应用程序。
计算结果调高为整数,以便容忍少量应用程序出现一次失败。 默认百分比为零。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 报告错误之前允许的最大不正常节点百分比。 例如,若要允许 10% 的节点处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的节点的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的节点,则将运行状况评估为警告。
该百分比的计算方式是将不正常的节点数除以群集中的节点总数。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。

在大型群集中,始终会有一些要关闭或需要修复的节点,因此应配置此百分比以便容忍这种情况。
int (必需)

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

ApplicationHealthPolicyMap

名称 说明
{customized property} ApplicationHealthPolicy

ApplicationHealthPolicy

名称 说明
defaultServiceTypeHealthPolicy 默认情况下用于评估服务类型的运行状况的运行状况策略。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 ServiceTypeHealthPolicyMap
考虑WarningAsError 指示是否将警告的严重性视为与错误相同。 bool (必需)
defaultServiceTypeHealthPolicy 默认情况下用于评估服务类型的运行状况的运行状况策略。 ServiceTypeHealthPolicy
maxPercentUnhealthyDeployedApplications 允许的已部署的不正常应用程序的最大百分比。 允许的值为从 0 到 100 的字节值。
该百分比表示在将应用程序视为错误之前可能处于不正常状态的已部署应用程序的最大允许百分比。
这是通过将部署的不正常应用程序数除以群集中当前部署应用程序的节点数来计算的。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。
int (必需)
serviceTypeHealthPolicyMap 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

名称 说明
maxPercentUnhealthyServices 在将应用程序视为错误之前允许运行不正常的服务的最大百分比。 int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyPartitionsPerService 每个服务允许的最大不正常分区百分比。

百分比表示在将服务视为错误之前,可能处于不正常状态的分区的最大允许百分比。
如果遵循百分比,但至少有一个不正常的分区,则运行状况评估为“警告”。
百分比的计算方法是将运行不正常的分区数除以服务中的分区总数。
计算向上舍入,以容忍少量分区上的一次故障。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyReplicasPerPartition 每个分区允许的最大不正常副本百分比。

该百分比表示在将分区视为错误之前可能处于不正常状态的副本的最大允许百分比。
如果遵循百分比,但至少有一个不正常的副本 (replica) ,则运行状况评估为警告。
百分比的计算方法是将运行不正常的副本数除以分区中的副本总数。
计算向上舍入,以容忍少量副本上的一次故障。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyServices 允许的最大不正常服务百分比。

百分比表示在将应用程序视为错误之前可能处于不正常状态的服务的最大允许百分比。
如果遵循百分比,但至少有一个不正常的服务,则运行状况评估为“警告”。
这是通过将特定服务类型的不正常服务数除以特定服务类型的服务总数来计算的。
计算向上舍入,以容忍少量服务上的一次故障。
int (必需)

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

ServiceTypeHealthPolicyMap

名称 说明
{customized property} ServiceTypeHealthPolicy

ClusterMonitoringPolicy

名称 说明
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 格式。 字符串 (必需)
upgradeDomainTimeout 每个升级域在回滚升级之前必须完成的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字符串 (必需)
upgradeTimeout 在升级回滚之前,必须完成整体升级的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字符串 (必需)

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
部署 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 群集。 使用此模板,可以使用网络安全组控制入站和出站网络流量。

Terraform (AzAPI 提供程序) 资源定义

可以使用针对以下操作部署群集资源类型:

  • 资源组

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.ServiceFabric/clusters 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/clusters@2023-11-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      addOnFeatures = [
        "string"
      ]
      applicationTypeVersionsCleanupPolicy = {
        maxUnusedVersionsToKeep = int
        maxUnusedVersionsToKeep = int
      }
      azureActiveDirectory = {
        clientApplication = "string"
        clusterApplication = "string"
        tenantId = "string"
        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"
              name = "string"
              value = "string"
            }
          ]
          name = "string"
          parameters = [
            {
              name = "string"
              value = "string"
              name = "string"
              value = "string"
            }
          ]
        }
      ]
      infrastructureServiceManager = bool
      managementEndpoint = "string"
      nodeTypes = [
        {
          applicationPorts = {
            endPort = int
            startPort = int
            endPort = int
            startPort = int
          }
          capacities = {
            {customized property} = "string"
          }
          clientConnectionEndpointPort = int
          durabilityLevel = "string"
          ephemeralPorts = {
            endPort = int
            startPort = int
            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 = "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
          maxPercentDeltaUnhealthyApplications = int
          maxPercentDeltaUnhealthyNodes = int
          maxPercentUpgradeDomainDeltaUnhealthyNodes = int
        }
        forceRestart = bool
        healthCheckRetryTimeout = "string"
        healthCheckStableDuration = "string"
        healthCheckWaitDuration = "string"
        healthPolicy = {
          applicationHealthPolicies = {
            {customized property} = {
              defaultServiceTypeHealthPolicy = {
                maxPercentUnhealthyServices = int
                maxPercentUnhealthyPartitionsPerService = int
                maxPercentUnhealthyReplicasPerPartition = int
                maxPercentUnhealthyServices = int
              }
              serviceTypeHealthPolicies = {
                {customized property} = {
                  maxPercentUnhealthyServices = int
                  maxPercentUnhealthyPartitionsPerService = int
                  maxPercentUnhealthyReplicasPerPartition = int
                  maxPercentUnhealthyServices = int
                }
              }
              considerWarningAsError = bool
              defaultServiceTypeHealthPolicy = {
                maxPercentUnhealthyServices = int
                maxPercentUnhealthyPartitionsPerService = int
                maxPercentUnhealthyReplicasPerPartition = int
                maxPercentUnhealthyServices = int
              }
              maxPercentUnhealthyDeployedApplications = int
              serviceTypeHealthPolicyMap = {
                {customized property} = {
                  maxPercentUnhealthyServices = int
                  maxPercentUnhealthyPartitionsPerService = int
                  maxPercentUnhealthyReplicasPerPartition = int
                  maxPercentUnhealthyServices = int
                }
              }
            }
          }
          maxPercentUnhealthyApplications = int
          maxPercentUnhealthyNodes = int
          maxPercentUnhealthyApplications = int
          maxPercentUnhealthyNodes = int
        }
        upgradeDomainTimeout = "string"
        upgradeReplicaSetCheckTimeout = "string"
        upgradeTimeout = "string"
        deltaHealthPolicy = {
          applicationDeltaHealthPolicies = {
            {customized property} = {
              defaultServiceTypeDeltaHealthPolicy = {
                maxPercentDeltaUnhealthyServices = int
              }
              serviceTypeDeltaHealthPolicies = {
                {customized property} = {
                  maxPercentDeltaUnhealthyServices = int
                }
              }
            }
          }
          maxPercentDeltaUnhealthyApplications = int
          maxPercentDeltaUnhealthyNodes = int
          maxPercentUpgradeDomainDeltaUnhealthyNodes = int
          maxPercentDeltaUnhealthyApplications = int
          maxPercentDeltaUnhealthyNodes = int
          maxPercentUpgradeDomainDeltaUnhealthyNodes = int
        }
        forceRestart = bool
        healthPolicy = {
          applicationHealthPolicies = {
            {customized property} = {
              defaultServiceTypeHealthPolicy = {
                maxPercentUnhealthyServices = int
                maxPercentUnhealthyPartitionsPerService = int
                maxPercentUnhealthyReplicasPerPartition = int
                maxPercentUnhealthyServices = int
              }
              serviceTypeHealthPolicies = {
                {customized property} = {
                  maxPercentUnhealthyServices = int
                  maxPercentUnhealthyPartitionsPerService = int
                  maxPercentUnhealthyReplicasPerPartition = int
                  maxPercentUnhealthyServices = int
                }
              }
              considerWarningAsError = bool
              defaultServiceTypeHealthPolicy = {
                maxPercentUnhealthyServices = int
                maxPercentUnhealthyPartitionsPerService = int
                maxPercentUnhealthyReplicasPerPartition = int
                maxPercentUnhealthyServices = int
              }
              maxPercentUnhealthyDeployedApplications = int
              serviceTypeHealthPolicyMap = {
                {customized property} = {
                  maxPercentUnhealthyServices = int
                  maxPercentUnhealthyPartitionsPerService = int
                  maxPercentUnhealthyReplicasPerPartition = int
                  maxPercentUnhealthyServices = int
                }
              }
            }
          }
          maxPercentUnhealthyApplications = int
          maxPercentUnhealthyNodes = int
          maxPercentUnhealthyApplications = int
          maxPercentUnhealthyNodes = int
        }
        monitoringPolicy = {
          healthCheckRetryTimeout = "string"
          healthCheckStableDuration = "string"
          healthCheckWaitDuration = "string"
          upgradeDomainTimeout = "string"
          upgradeTimeout = "string"
        }
        upgradeReplicaSetCheckTimeout = "string"
      }
      upgradeMode = "string"
      upgradePauseEndTimestampUtc = "string"
      upgradePauseStartTimestampUtc = "string"
      upgradeWave = "string"
      vmImage = "string"
      vmssZonalUpgradeMode = "string"
      waveUpgradePaused = bool
    }
  })
}

属性值

clusters

名称 说明 Value
type 资源类型 “Microsoft.ServiceFabric/clusters@2023-11-01-preview”
name 资源名称 字符串 (必需)

字符限制:4-23

有效字符:
小写字母、数字和连字符。

以小写字母开头。 以小写字母或数字结尾。
location Azure 资源位置。 字符串 (必需)
parent_id 若要部署到资源组,请使用该资源组的 ID。 字符串 (必需)
标记 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
enableHttpGatewayExclusiveAuthMode 如果为 true,则 HttpGatewayEndpoint 上不允许使用基于令牌的身份验证。 这是支持 TLS 1.3 及更高版本所必需的。 如果使用基于令牌的身份验证,则必须定义 HttpGatewayTokenAuthEndpointPort。 bool
eventStoreServiceEnabled 指示是否启用了事件存储服务。 bool
fabricSettings 用于配置群集的自定义结构设置列表。 SettingsSectionDescription[]
infrastructureServiceManager 指示是否启用了基础结构服务管理器。 bool
managementEndpoint 群集的 http 管理终结点。 字符串 (必需)
nodeTypes 群集中的节点类型列表。 NodeTypeDescription[] (必需的)
通知 指示群集事件的通知通道列表。 通知[]
reliabilityLevel 可靠性级别设置系统服务的副本 (replica) 集大小。 了解 ReliabilityLevel

- 无 - 使用目标副本 (replica) 设置为 1 的计数运行系统服务。 这只应用于测试群集。
- 铜牌 - 运行目标副本 (replica) 设置为 3 的系统服务。 这只应用于测试群集。
- Silver - 运行目标副本 (replica) 设置为 5 的系统服务。
- 黄金 - 运行目标副本 (replica) 设置为 7 的系统服务。
- Platinum - 运行目标副本 (replica) 设置为 9 的系统服务。
“铜牌”
“Gold”
"None"
“Platinum”
“银色”
reverseProxyCertificate 反向代理使用的服务器证书。 CertificateDescription
reverseProxyCertificateCommonNames 介绍用于保护群集的公用名称引用的服务器证书列表。 ServerCertificateCommonNames
sfZonalUpgradeMode 此属性控制升级域 (UD) 中虚拟机的逻辑分组。 如果群集中已存在具有多个可用性区域的节点类型,则无法修改此属性。 “分层”
“Parallel”
upgradeDescription 升级群集时要使用的策略。 ClusterUpgradePolicy
upgradeMode 新的 Service Fabric 运行时版本可用时群集的升级模式。 “自动”
“手动”
upgradePauseEndTimestampUtc 指示在群集上在特定时间段内暂停自动运行时版本升级的结束日期和时间, (UTC) 。 字符串
upgradePauseStartTimestampUtc 指示在群集上在特定时间段内暂停自动运行时版本升级的开始日期和时间, (UTC) 。 字符串
upgradeWave 指示在发布新的群集运行时版本升级后何时应用这些升级。 默认情况下为 Wave0。 仅在 upgradeMode 设置为“Automatic”时才适用。 “Wave0”
“Wave1”
“Wave2”
vmImage VM 映像 VMSS 已配置为 。 可以使用泛型名称,例如 Windows 或 Linux。 字符串
vmssZonalUpgradeMode 此属性定义虚拟机规模集的升级模式,如果添加具有多个可用性区域的节点类型,则是必需的。 “分层”
“Parallel”
waveUpgradePaused 用于暂停群集的自动运行时版本升级的布尔值。 bool

ApplicationTypeVersionsCleanupPolicy

名称 说明
maxUnusedVersionsToKeep 要保留的每个应用程序类型未使用的版本数。 int (必需)

约束:
最小值 = 0
maxUnusedVersionsToKeep 要保留的每个应用程序类型未使用的版本数。 int (必需)

约束:
最小值 = 0

AzureActiveDirectory

名称 说明
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串

CertificateDescription

名称 说明
thumbprint 主要证书的指纹。 字符串 (必需)
thumbprintSecondary 辅助证书的指纹。 字符串
x509StoreName 本地证书存储位置。 “AddressBook”
“AuthRoot”
“CertificateAuthority”
“不允许”
“My”
“根”
“TrustedPeople”
“TrustedPublisher”

ServerCertificateCommonNames

名称 说明
commonNames 用于保护群集的公用名称引用的服务器证书列表。 ServerCertificateCommonName[]
x509StoreName 本地证书存储位置。 “AddressBook”
“AuthRoot”
“CertificateAuthority”
“不允许”
“My”
“根”
“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 构造设置的节名称。 字符串 (必需)
parameters 节中的参数集合。 SettingsParameterDescription[] (必需的)
name 构造设置的节名称。 字符串 (必需)
parameters 节中的参数集合。 SettingsParameterDescription[] (必需的)

SettingsParameterDescription

名称 说明
name 构造设置的参数名称。 字符串 (必需)
value 构造设置的参数值。 字符串 (必需)
name 构造设置的参数名称。 字符串 (必需)
value 构造设置的参数值。 字符串 (必需)

NodeTypeDescription

名称 说明
applicationPorts 群集从中向 Service Fabric 应用程序分配端口的端口范围。 EndpointRangeDescription
capacities 应用于节点类型的节点的容量标记,群集资源管理器使用这些标记来了解节点具有多少资源。 NodeTypeDescriptionCapacities
clientConnectionEndpointPort TCP 群集管理终结点端口。 int (必需)
durabilityLevel 节点类型的持久性级别。 了解 DurabilityLevel

- 铜牌 - 无特权。 这是默认值。
- 白银 - 每个 UD 可以暂停基础结构作业 10 分钟。
- 黄金 - 每个 UD 可以暂停基础结构作业 2 小时。 仅可在 D15_V2、G5 等完整节点 VM sku 上启用“黄金”耐久性。
“铜牌”
“Gold”
“银色”
ephemeralPorts 应为此节点类型中的节点配置临时端口的范围。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 群集管理终结点端口。 int (必需)
httpGatewayTokenAuthEndpointPort 用于与群集建立基于令牌身份验证的 HTTPS 连接的端口。 不能设置为与 HttpGatewayEndpoint 相同的端口。 int
isPrimary 将运行系统服务的节点类型。 只能将一个节点类型标记为主节点。 无法删除或更改现有群集的主节点类型。 bool (必需)
isStateless 指示节点类型是否只能托管无状态工作负荷。 bool
multipleAvailabilityZones 指示是否启用节点类型以支持多个区域。 bool
name 节点类型的名称。 字符串 (必需)
placementProperties 应用于节点类型中的节点的放置标记,可用于指示某些服务 (工作负荷) 应在哪里运行。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向代理使用的终结点。 int
vmInstanceCount VMInstanceCount 应为 1 到 n,其中 n 表示与此 nodeType 对应的 VM 实例数。 VMInstanceCount = 0 只能在以下情况下执行:NodeType 是辅助 nodeType。 Durability = Bronze 或 Durability >= Bronze and InfrastructureServiceManager = true。 如果 VMInstanceCount = 0,则表示此 nodeType 的 VM 将不用于初始群集大小计算。 int (必需)

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

EndpointRangeDescription

名称 说明
endPort 一系列端口的结束端口 int (必需)
startPort 启动一系列端口的端口 int (必需)
endPort 一系列端口的结束端口 int (必需)
startPort 启动一系列端口的端口 int (必需)

NodeTypeDescriptionCapacities

名称 说明
{customized property} 字符串

NodeTypeDescriptionPlacementProperties

名称 说明
{customized property} 字符串

通知

名称 说明
isEnabled 指示通知是否已启用。 bool (必需)
notificationCategory 通知的类别。 “WaveProgress” (必需)
notificationLevel 通知级别。 “全部”
“严重” (必需)
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 格式。 字符串 (必需)
deltaHealthPolicy 群集增量运行状况策略定义用于在群集升级期间评估群集运行状况的运行状况策略。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果为 true,则在升级过程中强制重启进程,即使代码版本未更改 (升级仅更改配置或数据) 。 bool
healthPolicy 群集运行状况策略定义用于在群集升级期间评估群集运行状况的运行状况策略。 ClusterHealthPolicy
monitoringPolicy 群集监视策略描述用于在监视模式下监视升级的参数。 ClusterMonitoringPolicy
upgradeReplicaSetCheckTimeout 出现意外问题时,阻止处理升级域并防止可用性丢失的最大时长。
当此超时到期时,无论是否存在可用性丢失问题,都将继续处理升级域。
每个升级域启动时重置超时。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。
此值必须介于 00:00:00 和 49710.06:28:15 之间, (无符号 32 位整数的秒数)
字符串

ClusterUpgradeDeltaHealthPolicy

名称 说明
applicationDeltaHealthPolicies 定义应用程序增量运行状况策略映射,用于在升级群集时评估应用程序或其某个子实体的运行状况。 ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。
增量是在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量的。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyNodes 群集升级过程中允许的节点运行状况降级最大百分比。
在开始升级时的节点状态与运行状况评估时的节点状态之间测得的增量值。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes 群集升级过程中允许的升级域节点运行状况降级最大百分比。
在开始升级时的升级域节点状态与运行状况评估时的升级域节点状态之间测得的增量值。
每个升级域升级完成后对所有已完成的升级域执行检查,以便确保升级域的状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。
增量是在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量的。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。
注意:此值将覆盖属性中指定的值。UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications
int

约束:
最小值 = 0
最大值 = 100
maxPercentDeltaUnhealthyNodes 群集升级过程中允许的节点运行状况降级最大百分比。
在开始升级时的节点状态与运行状况评估时的节点状态之间测得的增量值。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes 群集升级过程中允许的升级域节点运行状况降级最大百分比。
在开始升级时的升级域节点状态与运行状况评估时的升级域节点状态之间测得的增量值。
每个升级域升级完成后对所有已完成的升级域执行检查,以便确保升级域的状态在允许的限制内。
int

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

ApplicationDeltaHealthPolicyMap

名称 说明
{customized property} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

名称 说明
defaultServiceTypeDeltaHealthPolicy 默认情况下,增量运行状况策略用于在升级群集时评估服务类型的运行状况。 ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies 每个服务类型名称具有服务类型增量运行状况策略的映射。 映射默认为空。 ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

名称 说明
maxPercentDeltaUnhealthyServices 群集升级期间允许的服务运行状况降级的最大允许百分比。
在升级开始时的服务状态与运行状况评估时服务的状态之间测量增量。
每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。
int

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

ServiceTypeDeltaHealthPolicyMap

名称 说明
{customized property} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

名称 说明
applicationHealthPolicies 定义用于评估应用程序或其子实体之一的运行状况的应用程序运行状况策略映射。 ApplicationHealthPolicyMap
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序百分比。 例如,若要允许 10% 的应用程序处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的应用程序的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的应用程序,则将运行状况评估为 Warning。
该百分比的计算方式是将不正常的应用程序数除以群集中的应用程序实例总数,不包括 ApplicationTypeHealthPolicyMap 中包含的应用程序类型的应用程序。
计算结果调高为整数,以便容忍少量应用程序出现一次失败。 默认百分比为零。
int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 报告错误之前允许的最大不正常节点百分比。 例如,若要允许 10% 的节点处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的节点的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的节点,则将运行状况评估为警告。
该百分比的计算方式是将不正常的节点数除以群集中的节点总数。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。

在大型群集中,始终会有一些要关闭或需要修复的节点,因此应配置此百分比以便容忍这种情况。
int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序百分比。 例如,若要允许 10% 的应用程序处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的应用程序的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的应用程序,则将运行状况评估为 Warning。
该百分比的计算方式是将不正常的应用程序数除以群集中的应用程序实例总数,不包括 ApplicationTypeHealthPolicyMap 中包含的应用程序类型的应用程序。
计算结果调高为整数,以便容忍少量应用程序出现一次失败。 默认百分比为零。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyNodes 报告错误之前允许的最大不正常节点百分比。 例如,若要允许 10% 的节点处于不正常状态,此值为 10。

该百分比表示在将群集视为出错之前可处于不正常状态的节点的最大容许百分比。
如果未超过该百分比,但至少存在一个不正常的节点,则将运行状况评估为警告。
该百分比的计算方式是将不正常的节点数除以群集中的节点总数。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。

在大型群集中,始终会有一些要关闭或需要修复的节点,因此应配置此百分比以便容忍这种情况。
int (必需)

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

ApplicationHealthPolicyMap

名称 说明
{customized property} ApplicationHealthPolicy

ApplicationHealthPolicy

名称 说明
defaultServiceTypeHealthPolicy 默认情况下用于评估服务类型的运行状况的运行状况策略。 ServiceTypeHealthPolicy
serviceTypeHealthPolicies 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 ServiceTypeHealthPolicyMap
考虑WarningAsError 指示是否将警告的严重性视为与错误相同。 bool (必需)
defaultServiceTypeHealthPolicy 默认情况下用于评估服务类型的运行状况的运行状况策略。 ServiceTypeHealthPolicy
maxPercentUnhealthyDeployedApplications 允许的已部署的不正常应用程序的最大百分比。 允许的值为 0 到 100 的字节值。
该百分比表示在将应用程序视为错误之前可处于不正常状态的已部署应用程序的最大允许百分比。
这是通过将不正常的已部署应用程序数除以群集中应用程序当前部署在上的节点数计算得出的。
计算结果调高为整数,以便容忍少量节点上出现一次失败。 默认百分比为零。
int (必需)
serviceTypeHealthPolicyMap 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

名称 说明
maxPercentUnhealthyServices 在应用程序被视为错误之前允许运行不正常的服务的最大百分比。 int

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyPartitionsPerService 每个服务允许的最大不正常分区百分比。

该百分比表示在将服务视为错误之前,可以运行不正常的分区的最大容许百分比。
如果遵循百分比,但至少有一个不正常的分区,则运行状况评估为“警告”。
百分比的计算方法是将不正常的分区数除以服务中的分区总数。
计算向上舍入,以容忍少量分区出现一次故障。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyReplicasPerPartition 每个分区允许的最大不正常副本百分比。

该百分比表示在将分区视为错误之前可运行不正常的副本的最大允许百分比。
如果遵循百分比,但至少有一个不正常的副本 (replica) ,则运行状况评估为“警告”。
百分比的计算方法是将不正常副本数除以分区中副本总数。
计算向上舍入,以容忍少量副本出现一次失败。
int (必需)

约束:
最小值 = 0
最大值 = 100
maxPercentUnhealthyServices 不正常服务允许的最大百分比。

该百分比表示在将应用程序视为错误之前可能处于不正常状态的服务的最大容许百分比。
如果遵循百分比,但至少有一个不正常的服务,则运行状况评估为“警告”。
这是通过将特定服务类型的不正常服务数除以特定服务类型的服务总数计算得出的。
计算向上舍入,以容忍少量服务出现一次故障。
int (必需)

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

ServiceTypeHealthPolicyMap

名称 说明
{customized property} ServiceTypeHealthPolicy

ClusterMonitoringPolicy

名称 说明
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 格式。 字符串 (必需)
upgradeDomainTimeout 在回滚升级之前,每个升级域必须完成的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字符串 (必需)
upgradeTimeout 回滚升级之前必须完成整体升级的时间。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 字符串 (必需)