你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 资源位置。 | 字符串 (必需) |
标记 | 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[] (必需的) |
通知 | 指示群集事件的通知通道列表。 | 通知[] |
reliabilityLevel | 可靠性级别设置系统服务的副本 (replica) 集大小。 了解 ReliabilityLevel。 - 无 - 使用目标副本 (replica) 设置为 1 的计数运行系统服务。 这只应用于测试群集。 - 铜牌 - 运行目标副本 (replica) 设置为 3 的系统服务。 这只应用于测试群集。 - Silver - 运行目标副本 (replica) 设置为 5 的系统服务。 - 黄金 - 运行目标副本 (replica) 设置为 7 的系统服务。 - Platinum - 运行目标副本 (replica) 设置为 9 的系统服务。 |
“铜牌” “Gold” “None” “Platinum” “Silver” |
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 |
AzureActiveDirectory
名称 | 说明 | 值 |
---|---|---|
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[] (必需的) |
SettingsParameterDescription
名称 | 说明 | 值 |
---|---|---|
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 (必需) |
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 (必需) |
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 格式。 | 字符串 (必需) |
ClusterUpgradeDeltaHealthPolicy
名称 | 说明 | 值 |
---|---|---|
applicationDeltaHealthPolicies | 定义应用程序增量运行状况策略映射,用于在升级群集时评估应用程序或其子实体的运行状况。 | ApplicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | 群集升级期间允许的应用程序运行状况下降的最大百分比。 在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量增量。 每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。 |
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 |
ApplicationHealthPolicyMap
名称 | 说明 | 值 |
---|---|---|
{customized property} | ApplicationHealthPolicy |
ApplicationHealthPolicy
名称 | 说明 | 值 |
---|---|---|
defaultServiceTypeHealthPolicy | 默认情况下用于评估服务类型的运行状况的运行状况策略。 | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 | ServiceTypeHealthPolicyMap |
ServiceTypeHealthPolicy
名称 | 说明 | 值 |
---|---|---|
maxPercentUnhealthyServices | 在应用程序被视为错误之前允许运行不正常的服务的最大百分比。 | int 约束: 最小值 = 0 最大值 = 100 |
ServiceTypeHealthPolicyMap
名称 | 说明 | 值 |
---|---|---|
{customized property} | 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 节点类型安全群集 |
此模板允许在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
名称 | 说明 | Value |
---|---|---|
type | 资源类型 | “Microsoft.ServiceFabric/clusters” |
apiVersion | 资源 API 版本 | '2021-06-01' |
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 |
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” “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 |
AzureActiveDirectory
名称 | 说明 | 值 |
---|---|---|
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[] (必需) |
SettingsParameterDescription
名称 | 说明 | 值 |
---|---|---|
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 (必需) |
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 (必需) |
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 格式。 | 字符串 (必需) |
ClusterUpgradeDeltaHealthPolicy
名称 | 说明 | 值 |
---|---|---|
applicationDeltaHealthPolicies | 定义应用程序增量运行状况策略映射,用于在升级群集时评估应用程序或其子实体的运行状况。 | ApplicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | 群集升级期间允许的应用程序运行状况下降的最大百分比。 在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量增量。 每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。 |
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 |
ApplicationHealthPolicyMap
名称 | 说明 | 值 |
---|---|---|
{customized property} | ApplicationHealthPolicy |
ApplicationHealthPolicy
名称 | 说明 | 值 |
---|---|---|
defaultServiceTypeHealthPolicy | 默认情况下用于评估服务类型的运行状况的运行状况策略。 | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 | ServiceTypeHealthPolicyMap |
ServiceTypeHealthPolicy
名称 | 说明 | 值 |
---|---|---|
maxPercentUnhealthyServices | 在将应用程序视为错误之前允许运行不正常的服务的最大百分比。 | int 约束: 最小值 = 0 最大值 = 100 |
ServiceTypeHealthPolicyMap
名称 | 说明 | 值 |
---|---|---|
{customized property} | 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 群集。 使用此模板,可以使用网络安全组控制入站和出站网络流量。 |
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
名称 | 说明 | Value |
---|---|---|
type | 资源类型 | “Microsoft.ServiceFabric/clusters@2021-06-01” |
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 |
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” “银色” |
reverseProxyCertificate | 反向代理使用的服务器证书。 | CertificateDescription |
reverseProxyCertificateCommonNames | 描述用于保护群集的公用名称引用的服务器证书的列表。 | ServerCertificateCommonNames |
sfZonalUpgradeMode | 此属性控制升级域 (UD) 中虚拟机的逻辑分组。 如果群集中已存在具有多个可用性区域的节点类型,则无法修改此属性。 | “分层” “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 客户端应用程序 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[] (必需的) |
SettingsParameterDescription
名称 | 说明 | 值 |
---|---|---|
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 (必需) |
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 (必需) |
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 格式。 | 字符串 (必需) |
ClusterUpgradeDeltaHealthPolicy
名称 | 说明 | 值 |
---|---|---|
applicationDeltaHealthPolicies | 定义应用程序增量运行状况策略映射,用于在升级群集时评估应用程序或其子实体的运行状况。 | ApplicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | 群集升级期间允许的应用程序运行状况下降的最大百分比。 在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量增量。 每个升级域升级完成后执行检查,确保群集的全局状态在允许的限制内。 系统服务不包括在此内容中。 |
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 |
ApplicationHealthPolicyMap
名称 | 说明 | 值 |
---|---|---|
{customized property} | ApplicationHealthPolicy |
ApplicationHealthPolicy
名称 | 说明 | 值 |
---|---|---|
defaultServiceTypeHealthPolicy | 默认情况下用于评估服务类型的运行状况的运行状况策略。 | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | 每个服务类型名称具有服务类型运行状况策略的映射。 映射默认为空。 | ServiceTypeHealthPolicyMap |
ServiceTypeHealthPolicy
名称 | 说明 | 值 |
---|---|---|
maxPercentUnhealthyServices | 在应用程序被视为错误之前允许运行不正常的服务的最大百分比。 | int 约束: 最小值 = 0 最大值 = 100 |
ServiceTypeHealthPolicyMap
名称 | 说明 | 值 |
---|---|---|
{customized property} | ServiceTypeHealthPolicy |