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

Microsoft.ServiceFabric 群集 2017-07-01-preview

Bicep 资源定义

可以使用目标操作部署群集资源类型:

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

资源格式

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

resource symbolicname 'Microsoft.ServiceFabric/clusters@2017-07-01-preview' = {
  location: 'string'
  name: 'string'
  properties: {
    addOnFeatures: [
      'string'
    ]
    availableClusterVersions: [
      {
        codeVersion: 'string'
        environment: 'string'
        supportExpiryUtc: 'string'
      }
    ]
    azureActiveDirectory: {
      clientApplication: 'string'
      clusterApplication: 'string'
      tenantId: 'string'
    }
    certificate: {
      thumbprint: 'string'
      thumbprintSecondary: 'string'
      x509StoreName: 'string'
    }
    clientCertificateCommonNames: [
      {
        certificateCommonName: 'string'
        certificateIssuerThumbprint: 'string'
        isAdmin: bool
      }
    ]
    clientCertificateThumbprints: [
      {
        certificateThumbprint: 'string'
        isAdmin: bool
      }
    ]
    clusterCodeVersion: 'string'
    clusterState: 'string'
    diagnosticsStorageAccountConfig: {
      blobEndpoint: 'string'
      protectedAccountKeyName: 'string'
      queueEndpoint: 'string'
      storageAccountName: 'string'
      tableEndpoint: 'string'
    }
    fabricSettings: [
      {
        name: 'string'
        parameters: [
          {
            name: 'string'
            value: 'string'
          }
        ]
      }
    ]
    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
        name: 'string'
        placementProperties: {
          {customized property}: 'string'
        }
        reverseProxyEndpointPort: int
        vmInstanceCount: int
      }
    ]
    reliabilityLevel: 'string'
    reverseProxyCertificate: {
      thumbprint: 'string'
      thumbprintSecondary: 'string'
      x509StoreName: 'string'
    }
    upgradeDescription: {
      deltaHealthPolicy: {
        maxPercentDeltaUnhealthyApplications: int
        maxPercentDeltaUnhealthyNodes: int
        maxPercentUpgradeDomainDeltaUnhealthyNodes: int
      }
      forceRestart: bool
      healthCheckRetryTimeout: 'string'
      healthCheckStableDuration: 'string'
      healthCheckWaitDuration: 'string'
      healthPolicy: {
        maxPercentUnhealthyApplications: int
        maxPercentUnhealthyNodes: int
      }
      upgradeDomainTimeout: 'string'
      upgradeReplicaSetCheckTimeout: 'string'
      upgradeTimeout: 'string'
    }
    upgradeMode: 'string'
    vmImage: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

属性值

AzureActiveDirectory

名字 描述 价值
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active Directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串

CertificateDescription

名字 描述 价值
指纹 主证书的指纹。 string (必需)
thumbprintSecondary 辅助证书的指纹。 字符串
x509StoreName 本地证书存储位置。 “AddressBook”
“AuthRoot”
“CertificateAuthority”
“不允许”
“My”
“Root”
“TrustedPeople”
“TrustedPublisher”

ClientCertificateCommonName

名字 描述 价值
certificateCommonName 客户端证书的公用名。 string (必需)
certificateIssuerThumbprint 客户端证书的颁发者指纹。 string (必需)
isAdmin 指示客户端证书是否具有对群集的管理员访问权限。 非管理员客户端只能在群集上执行只读操作。 bool (必需)

ClientCertificateThumbprint

名字 描述 价值
certificateThumbprint 客户端证书的指纹。 string (必需)
isAdmin 指示客户端证书是否具有对群集的管理员访问权限。 非管理员客户端只能在群集上执行只读操作。 bool (必需)

ClusterHealthPolicy

名字 描述 价值
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序的百分比。 例如,若要允许 10 个应用程序% 运行不正常,此值将为 10。 int

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

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

ClusterProperties

名字 描述 价值
addOnFeatures 在群集中启用的附加功能列表。 包含任一项的字符串数组:
“BackupRestoreService”
“DnsService”
“RepairManager”
availableClusterVersions 此群集可用的 Service Fabric 运行时版本。 ClusterVersionDetails[]
azureActiveDirectory 群集的 AAD 身份验证设置。 AzureActiveDirectory
证书 用于保护群集的证书。 提供的证书将用于群集中的节点到节点安全性、群集管理终结点的 SSL 证书和默认管理客户端。 CertificateDescription
clientCertificateCommonNames 允许管理群集的公用名称引用的客户端证书列表。 ClientCertificateCommonName[]
clientCertificateThumbprints 允许管理群集的指纹引用的客户端证书列表。 ClientCertificateThumbprint[]
clusterCodeVersion 群集的 Service Fabric 运行时版本。 仅当 upgradeMode 设置为“Manual”时,此属性才能设置用户。 若要获取新群集的可用 Service Fabric 版本列表,请使用 ClusterVersion API。 若要获取现有群集的可用版本列表,请使用 availableClusterVersions 字符串
clusterState 群集的当前状态。

- WaitingForNodes - 指示已创建群集资源,并且资源提供程序正在等待 Service Fabric VM 扩展启动并报告给它。
- 部署 - 指示在 VM 上安装 Service Fabric 运行时。 群集资源将处于此状态,直到群集启动并启动系统服务。
- BaselineUpgrade - 指示群集正在升级以建立群集版本。 首次启动群集时,会自动启动此升级。
- UpdateingUserConfiguration - 指示使用用户提供的配置升级群集。
- UpdateingUserCertificate - 指示群集正在使用用户提供的证书进行升级。
- UpdateingInfrastructure - 指示群集正在使用最新的 Service Fabric 运行时版本进行升级。 仅当 upgradeMode 设置为“自动”时,才会发生这种情况。
- 强制实施ClusterVersion - 指示群集位于与预期版本不同的版本,并且群集正在升级到预期版本。
- UpgradeServiceUnreachable - 指示群集中的系统服务不再轮询资源提供程序。 处于此状态的群集不能由资源提供程序管理。
- 自动缩放 - 指示正在调整群集的 ReliabilityLevel。
- 就绪 - 指示群集处于稳定状态。
“自动缩放”
“BaselineUpgrade”
“部署”
“EnforcingClusterVersion”
“就绪”
“UpdateingInfrastructure”
“UpdateingUserCertificate”
“UpdateingUserConfiguration”
“UpgradeServiceUnreachable”
“WaitingForNodes”
diagnosticsStorageAccountConfig 用于存储 Service Fabric 诊断日志的存储帐户信息。 DiagnosticsStorageAccountConfig
fabricSettings 要配置群集的自定义结构设置列表。 SettingsSectionDescription[]
managementEndpoint 群集的 http 管理终结点。 string (必需)
nodeTypes 群集中的节点类型列表。 NodeTypeDescription[] (必需)
reliabilityLevel 可靠性级别设置系统服务的副本集大小。 了解 ReliabilityLevel

- 无 - 运行目标副本集计数为 1 的系统服务。 这只应用于测试群集。
- 青铜 - 运行目标副本集计数为 3 的系统服务。 这只应用于测试群集。
- Silver - 运行目标副本集计数为 5 的系统服务。
- Gold - 运行目标副本集计数为 7 的系统服务。
- Platinum - 运行目标副本集计数为 9 的系统服务。
“铜牌”
“Gold”
“None”
“Platinum”
“Silver”
reverseProxyCertificate 反向代理使用的服务器证书。 CertificateDescription
upgradeDescription 升级群集时要使用的策略。 ClusterUpgradePolicy
upgradeMode 新的 Service Fabric 运行时版本可用时群集的升级模式。

- 自动 - 群集将在可用后立即自动升级到最新的 Service Fabric 运行时版本。
- 手动 - 群集不会自动升级到最新的 Service Fabric 运行时版本。 通过在群集资源中设置 clusterCodeVersion 属性来升级群集。
“Automatic”
“Manual”
vmImage VM 映像 VMSS 已配置。 可以使用通用名称,例如 Windows 或 Linux。 字符串

ClusterUpgradeDeltaHealthPolicy

名字 描述 价值
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。 在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量增量。 在完成每个升级域后执行检查,以确保群集的全局状态处于允许的限制范围内。 系统服务不包括在此服务中。 int

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

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

约束:
最小值 = 0
最大值 = 100 (必需)

ClusterUpgradePolicy

名字 描述 价值
deltaHealthPolicy 升级群集时使用的增量运行状况策略。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果为 true,则即使代码版本未更改(升级仅更改配置或数据),升级期间也会强制重启进程。 bool
healthCheckRetryTimeout 在升级回滚之前,当应用程序或群集运行不正常时重试运行状况评估的时间。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthCheckStableDuration 在升级继续到下一个升级域之前,应用程序或群集必须保持正常运行的时间量。 持续时间可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthCheckWaitDuration 完成升级域后等待的时间长度,然后执行运行状况检查。 持续时间可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthPolicy 升级群集时使用的群集运行状况策略。 ClusterHealthPolicy (必需)
upgradeDomainTimeout 在升级回滚之前,每个升级域必须完成的时间。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
upgradeReplicaSetCheckTimeout 阻止处理升级域的最大时间,并在出现意外问题时防止可用性丢失。 当此超时过期时,无论可用性丢失问题如何,升级域的处理都将继续进行。 超时是在每个升级域的开头重置的。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
upgradeTimeout 在升级回滚之前,整个升级必须完成的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)

ClusterVersionDetails

名字 描述 价值
codeVersion 群集的 Service Fabric 运行时版本。 字符串
环境 指示此版本是否适用于 Windows 或 Linux 操作系统。 “Linux”
“Windows”
supportExpiryUtc 版本的支持到期日期。 字符串

DiagnosticsStorageAccountConfig

名字 描述 价值
blobEndpoint Azure 存储帐户的 Blob 终结点。 string (必需)
protectedAccountKeyName 受保护的诊断存储密钥名称。 string (必需)
queueEndpoint Azure 存储帐户的队列终结点。 string (必需)
storageAccountName Azure 存储帐户名称。 string (必需)
tableEndpoint Azure 存储帐户的表终结点。 string (必需)

EndpointRangeDescription

名字 描述 价值
endPort 一系列端口的结束端口 int (必需)
startPort 一系列端口的起始端口 int (必需)

Microsoft.ServiceFabric/clusters

名字 描述 价值
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
性能 群集资源属性 ClusterProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

NodeTypeDescription

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

- 青铜 - 无特权。 这是默认值。
- Silver - 每个 UD 可以暂停基础结构作业 30 分钟。
- 黄金 - 每个 UD 可以暂停基础结构作业 2 小时。 只能在完整节点 VM SKU(如 D15_V2、G5 等)上启用金级持续性。
“铜牌”
“Gold”
“Silver”
ephemeralPorts 应配置此节点类型的节点的临时端口范围。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 群集管理终结点端口。 int (必需)
isPrimary 运行系统服务的节点类型。 只应将一个节点类型标记为主节点。 无法删除或更改现有群集的主节点类型。 bool (必需)
名字 节点类型的名称。 string (必需)
placementProperties 应用于节点类型的节点的放置标记,可用于指示某些服务(工作负荷)应运行的位置。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向代理使用的终结点。 int
vmInstanceCount 节点类型中的节点数。 此计数应与相应 VirtualMachineScaleSet 资源中的容量属性匹配。 int

约束:
最小值 = 1
最大值 = 2147483647 (必需)

NodeTypeDescriptionCapacities

名字 描述 价值

NodeTypeDescriptionPlacementProperties

名字 描述 价值

ResourceTags

名字 描述 价值

SettingsParameterDescription

名字 描述 价值
名字 构造设置的参数名称。 string (必需)
价值 构造设置的参数值。 string (必需)

SettingsSectionDescription

名字 描述 价值
名字 结构设置的节名称。 string (必需)
参数 节中的参数集合。 SettingsParameterDescription[] (必需)

快速入门示例

以下快速入门示例部署此资源类型。

Bicep 文件 描述
部署 5 节点安全群集 使用此模板,可以在Standard_D2_v2大小 VMSS 上部署运行 Windows Server 2019 Datacenter 的安全 5 节点 Service Fabric 群集。

ARM 模板资源定义

可以使用目标操作部署群集资源类型:

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

资源格式

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

{
  "type": "Microsoft.ServiceFabric/clusters",
  "apiVersion": "2017-07-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "addOnFeatures": [ "string" ],
    "availableClusterVersions": [
      {
        "codeVersion": "string",
        "environment": "string",
        "supportExpiryUtc": "string"
      }
    ],
    "azureActiveDirectory": {
      "clientApplication": "string",
      "clusterApplication": "string",
      "tenantId": "string"
    },
    "certificate": {
      "thumbprint": "string",
      "thumbprintSecondary": "string",
      "x509StoreName": "string"
    },
    "clientCertificateCommonNames": [
      {
        "certificateCommonName": "string",
        "certificateIssuerThumbprint": "string",
        "isAdmin": "bool"
      }
    ],
    "clientCertificateThumbprints": [
      {
        "certificateThumbprint": "string",
        "isAdmin": "bool"
      }
    ],
    "clusterCodeVersion": "string",
    "clusterState": "string",
    "diagnosticsStorageAccountConfig": {
      "blobEndpoint": "string",
      "protectedAccountKeyName": "string",
      "queueEndpoint": "string",
      "storageAccountName": "string",
      "tableEndpoint": "string"
    },
    "fabricSettings": [
      {
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "value": "string"
          }
        ]
      }
    ],
    "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",
        "name": "string",
        "placementProperties": {
          "{customized property}": "string"
        },
        "reverseProxyEndpointPort": "int",
        "vmInstanceCount": "int"
      }
    ],
    "reliabilityLevel": "string",
    "reverseProxyCertificate": {
      "thumbprint": "string",
      "thumbprintSecondary": "string",
      "x509StoreName": "string"
    },
    "upgradeDescription": {
      "deltaHealthPolicy": {
        "maxPercentDeltaUnhealthyApplications": "int",
        "maxPercentDeltaUnhealthyNodes": "int",
        "maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
      },
      "forceRestart": "bool",
      "healthCheckRetryTimeout": "string",
      "healthCheckStableDuration": "string",
      "healthCheckWaitDuration": "string",
      "healthPolicy": {
        "maxPercentUnhealthyApplications": "int",
        "maxPercentUnhealthyNodes": "int"
      },
      "upgradeDomainTimeout": "string",
      "upgradeReplicaSetCheckTimeout": "string",
      "upgradeTimeout": "string"
    },
    "upgradeMode": "string",
    "vmImage": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

属性值

AzureActiveDirectory

名字 描述 价值
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active Directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串

CertificateDescription

名字 描述 价值
指纹 主证书的指纹。 string (必需)
thumbprintSecondary 辅助证书的指纹。 字符串
x509StoreName 本地证书存储位置。 “AddressBook”
“AuthRoot”
“CertificateAuthority”
“不允许”
“My”
“Root”
“TrustedPeople”
“TrustedPublisher”

ClientCertificateCommonName

名字 描述 价值
certificateCommonName 客户端证书的公用名。 string (必需)
certificateIssuerThumbprint 客户端证书的颁发者指纹。 string (必需)
isAdmin 指示客户端证书是否具有对群集的管理员访问权限。 非管理员客户端只能在群集上执行只读操作。 bool (必需)

ClientCertificateThumbprint

名字 描述 价值
certificateThumbprint 客户端证书的指纹。 string (必需)
isAdmin 指示客户端证书是否具有对群集的管理员访问权限。 非管理员客户端只能在群集上执行只读操作。 bool (必需)

ClusterHealthPolicy

名字 描述 价值
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序的百分比。 例如,若要允许 10 个应用程序% 运行不正常,此值将为 10。 int

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

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

ClusterProperties

名字 描述 价值
addOnFeatures 在群集中启用的附加功能列表。 包含任一项的字符串数组:
“BackupRestoreService”
“DnsService”
“RepairManager”
availableClusterVersions 此群集可用的 Service Fabric 运行时版本。 ClusterVersionDetails[]
azureActiveDirectory 群集的 AAD 身份验证设置。 AzureActiveDirectory
证书 用于保护群集的证书。 提供的证书将用于群集中的节点到节点安全性、群集管理终结点的 SSL 证书和默认管理客户端。 CertificateDescription
clientCertificateCommonNames 允许管理群集的公用名称引用的客户端证书列表。 ClientCertificateCommonName[]
clientCertificateThumbprints 允许管理群集的指纹引用的客户端证书列表。 ClientCertificateThumbprint[]
clusterCodeVersion 群集的 Service Fabric 运行时版本。 仅当 upgradeMode 设置为“Manual”时,此属性才能设置用户。 若要获取新群集的可用 Service Fabric 版本列表,请使用 ClusterVersion API。 若要获取现有群集的可用版本列表,请使用 availableClusterVersions 字符串
clusterState 群集的当前状态。

- WaitingForNodes - 指示已创建群集资源,并且资源提供程序正在等待 Service Fabric VM 扩展启动并报告给它。
- 部署 - 指示在 VM 上安装 Service Fabric 运行时。 群集资源将处于此状态,直到群集启动并启动系统服务。
- BaselineUpgrade - 指示群集正在升级以建立群集版本。 首次启动群集时,会自动启动此升级。
- UpdateingUserConfiguration - 指示使用用户提供的配置升级群集。
- UpdateingUserCertificate - 指示群集正在使用用户提供的证书进行升级。
- UpdateingInfrastructure - 指示群集正在使用最新的 Service Fabric 运行时版本进行升级。 仅当 upgradeMode 设置为“自动”时,才会发生这种情况。
- 强制实施ClusterVersion - 指示群集位于与预期版本不同的版本,并且群集正在升级到预期版本。
- UpgradeServiceUnreachable - 指示群集中的系统服务不再轮询资源提供程序。 处于此状态的群集不能由资源提供程序管理。
- 自动缩放 - 指示正在调整群集的 ReliabilityLevel。
- 就绪 - 指示群集处于稳定状态。
“自动缩放”
“BaselineUpgrade”
“部署”
“EnforcingClusterVersion”
“就绪”
“UpdateingInfrastructure”
“UpdateingUserCertificate”
“UpdateingUserConfiguration”
“UpgradeServiceUnreachable”
“WaitingForNodes”
diagnosticsStorageAccountConfig 用于存储 Service Fabric 诊断日志的存储帐户信息。 DiagnosticsStorageAccountConfig
fabricSettings 要配置群集的自定义结构设置列表。 SettingsSectionDescription[]
managementEndpoint 群集的 http 管理终结点。 string (必需)
nodeTypes 群集中的节点类型列表。 NodeTypeDescription[] (必需)
reliabilityLevel 可靠性级别设置系统服务的副本集大小。 了解 ReliabilityLevel

- 无 - 运行目标副本集计数为 1 的系统服务。 这只应用于测试群集。
- 青铜 - 运行目标副本集计数为 3 的系统服务。 这只应用于测试群集。
- Silver - 运行目标副本集计数为 5 的系统服务。
- Gold - 运行目标副本集计数为 7 的系统服务。
- Platinum - 运行目标副本集计数为 9 的系统服务。
“铜牌”
“Gold”
“None”
“Platinum”
“Silver”
reverseProxyCertificate 反向代理使用的服务器证书。 CertificateDescription
upgradeDescription 升级群集时要使用的策略。 ClusterUpgradePolicy
upgradeMode 新的 Service Fabric 运行时版本可用时群集的升级模式。

- 自动 - 群集将在可用后立即自动升级到最新的 Service Fabric 运行时版本。
- 手动 - 群集不会自动升级到最新的 Service Fabric 运行时版本。 通过在群集资源中设置 clusterCodeVersion 属性来升级群集。
“Automatic”
“Manual”
vmImage VM 映像 VMSS 已配置。 可以使用通用名称,例如 Windows 或 Linux。 字符串

ClusterUpgradeDeltaHealthPolicy

名字 描述 价值
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。 在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量增量。 在完成每个升级域后执行检查,以确保群集的全局状态处于允许的限制范围内。 系统服务不包括在此服务中。 int

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

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

约束:
最小值 = 0
最大值 = 100 (必需)

ClusterUpgradePolicy

名字 描述 价值
deltaHealthPolicy 升级群集时使用的增量运行状况策略。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果为 true,则即使代码版本未更改(升级仅更改配置或数据),升级期间也会强制重启进程。 bool
healthCheckRetryTimeout 在升级回滚之前,当应用程序或群集运行不正常时重试运行状况评估的时间。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthCheckStableDuration 在升级继续到下一个升级域之前,应用程序或群集必须保持正常运行的时间量。 持续时间可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthCheckWaitDuration 完成升级域后等待的时间长度,然后执行运行状况检查。 持续时间可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthPolicy 升级群集时使用的群集运行状况策略。 ClusterHealthPolicy (必需)
upgradeDomainTimeout 在升级回滚之前,每个升级域必须完成的时间。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
upgradeReplicaSetCheckTimeout 阻止处理升级域的最大时间,并在出现意外问题时防止可用性丢失。 当此超时过期时,无论可用性丢失问题如何,升级域的处理都将继续进行。 超时是在每个升级域的开头重置的。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
upgradeTimeout 在升级回滚之前,整个升级必须完成的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)

ClusterVersionDetails

名字 描述 价值
codeVersion 群集的 Service Fabric 运行时版本。 字符串
环境 指示此版本是否适用于 Windows 或 Linux 操作系统。 “Linux”
“Windows”
supportExpiryUtc 版本的支持到期日期。 字符串

DiagnosticsStorageAccountConfig

名字 描述 价值
blobEndpoint Azure 存储帐户的 Blob 终结点。 string (必需)
protectedAccountKeyName 受保护的诊断存储密钥名称。 string (必需)
queueEndpoint Azure 存储帐户的队列终结点。 string (必需)
storageAccountName Azure 存储帐户名称。 string (必需)
tableEndpoint Azure 存储帐户的表终结点。 string (必需)

EndpointRangeDescription

名字 描述 价值
endPort 一系列端口的结束端口 int (必需)
startPort 一系列端口的起始端口 int (必需)

Microsoft.ServiceFabric/clusters

名字 描述 价值
apiVersion API 版本 '2017-07-01-preview'
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
性能 群集资源属性 ClusterProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.ServiceFabric/clusters”

NodeTypeDescription

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

- 青铜 - 无特权。 这是默认值。
- Silver - 每个 UD 可以暂停基础结构作业 30 分钟。
- 黄金 - 每个 UD 可以暂停基础结构作业 2 小时。 只能在完整节点 VM SKU(如 D15_V2、G5 等)上启用金级持续性。
“铜牌”
“Gold”
“Silver”
ephemeralPorts 应配置此节点类型的节点的临时端口范围。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 群集管理终结点端口。 int (必需)
isPrimary 运行系统服务的节点类型。 只应将一个节点类型标记为主节点。 无法删除或更改现有群集的主节点类型。 bool (必需)
名字 节点类型的名称。 string (必需)
placementProperties 应用于节点类型的节点的放置标记,可用于指示某些服务(工作负荷)应运行的位置。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向代理使用的终结点。 int
vmInstanceCount 节点类型中的节点数。 此计数应与相应 VirtualMachineScaleSet 资源中的容量属性匹配。 int

约束:
最小值 = 1
最大值 = 2147483647 (必需)

NodeTypeDescriptionCapacities

名字 描述 价值

NodeTypeDescriptionPlacementProperties

名字 描述 价值

ResourceTags

名字 描述 价值

SettingsParameterDescription

名字 描述 价值
名字 构造设置的参数名称。 string (必需)
价值 构造设置的参数值。 string (必需)

SettingsSectionDescription

名字 描述 价值
名字 结构设置的节名称。 string (必需)
参数 节中的参数集合。 SettingsParameterDescription[] (必需)

快速入门模板

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

模板 描述
部署启用了 NSG 的 3 Nodetype 安全群集

部署到 Azure
此模板允许在Standard_D2大小 VM 上部署运行 Windows Server 2016 数据中心的安全 3 节点类型 Service Fabric 群集。 使用此模板,可以使用网络安全组控制入站和出站网络流量。
部署 5 节点安全群集

部署到 Azure
使用此模板,可以在Standard_D2_v2大小 VMSS 上部署运行 Windows Server 2019 Datacenter 的安全 5 节点 Service Fabric 群集。
部署 5 节点 Ubuntu Service Fabric 群集

部署到 Azure
此模板允许在Standard_D2_V2大小 VMSS 上部署运行 Ubuntu 的安全 5 节点 Service Fabric 群集。

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

可以使用目标操作部署群集资源类型:

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/clusters@2017-07-01-preview"
  name = "string"
  location = "string"
  body = jsonencode({
    properties = {
      addOnFeatures = [
        "string"
      ]
      availableClusterVersions = [
        {
          codeVersion = "string"
          environment = "string"
          supportExpiryUtc = "string"
        }
      ]
      azureActiveDirectory = {
        clientApplication = "string"
        clusterApplication = "string"
        tenantId = "string"
      }
      certificate = {
        thumbprint = "string"
        thumbprintSecondary = "string"
        x509StoreName = "string"
      }
      clientCertificateCommonNames = [
        {
          certificateCommonName = "string"
          certificateIssuerThumbprint = "string"
          isAdmin = bool
        }
      ]
      clientCertificateThumbprints = [
        {
          certificateThumbprint = "string"
          isAdmin = bool
        }
      ]
      clusterCodeVersion = "string"
      clusterState = "string"
      diagnosticsStorageAccountConfig = {
        blobEndpoint = "string"
        protectedAccountKeyName = "string"
        queueEndpoint = "string"
        storageAccountName = "string"
        tableEndpoint = "string"
      }
      fabricSettings = [
        {
          name = "string"
          parameters = [
            {
              name = "string"
              value = "string"
            }
          ]
        }
      ]
      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
          name = "string"
          placementProperties = {
            {customized property} = "string"
          }
          reverseProxyEndpointPort = int
          vmInstanceCount = int
        }
      ]
      reliabilityLevel = "string"
      reverseProxyCertificate = {
        thumbprint = "string"
        thumbprintSecondary = "string"
        x509StoreName = "string"
      }
      upgradeDescription = {
        deltaHealthPolicy = {
          maxPercentDeltaUnhealthyApplications = int
          maxPercentDeltaUnhealthyNodes = int
          maxPercentUpgradeDomainDeltaUnhealthyNodes = int
        }
        forceRestart = bool
        healthCheckRetryTimeout = "string"
        healthCheckStableDuration = "string"
        healthCheckWaitDuration = "string"
        healthPolicy = {
          maxPercentUnhealthyApplications = int
          maxPercentUnhealthyNodes = int
        }
        upgradeDomainTimeout = "string"
        upgradeReplicaSetCheckTimeout = "string"
        upgradeTimeout = "string"
      }
      upgradeMode = "string"
      vmImage = "string"
    }
  })
  tags = {
    {customized property} = "string"
  }
}

属性值

AzureActiveDirectory

名字 描述 价值
clientApplication Azure Active Directory 客户端应用程序 ID。 字符串
clusterApplication Azure Active Directory 群集应用程序 ID。 字符串
tenantId Azure Active Directory 租户 ID。 字符串

CertificateDescription

名字 描述 价值
指纹 主证书的指纹。 string (必需)
thumbprintSecondary 辅助证书的指纹。 字符串
x509StoreName 本地证书存储位置。 “AddressBook”
“AuthRoot”
“CertificateAuthority”
“不允许”
“My”
“Root”
“TrustedPeople”
“TrustedPublisher”

ClientCertificateCommonName

名字 描述 价值
certificateCommonName 客户端证书的公用名。 string (必需)
certificateIssuerThumbprint 客户端证书的颁发者指纹。 string (必需)
isAdmin 指示客户端证书是否具有对群集的管理员访问权限。 非管理员客户端只能在群集上执行只读操作。 bool (必需)

ClientCertificateThumbprint

名字 描述 价值
certificateThumbprint 客户端证书的指纹。 string (必需)
isAdmin 指示客户端证书是否具有对群集的管理员访问权限。 非管理员客户端只能在群集上执行只读操作。 bool (必需)

ClusterHealthPolicy

名字 描述 价值
maxPercentUnhealthyApplications 报告错误之前允许的最大不正常应用程序的百分比。 例如,若要允许 10 个应用程序% 运行不正常,此值将为 10。 int

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

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

ClusterProperties

名字 描述 价值
addOnFeatures 在群集中启用的附加功能列表。 包含任一项的字符串数组:
“BackupRestoreService”
“DnsService”
“RepairManager”
availableClusterVersions 此群集可用的 Service Fabric 运行时版本。 ClusterVersionDetails[]
azureActiveDirectory 群集的 AAD 身份验证设置。 AzureActiveDirectory
证书 用于保护群集的证书。 提供的证书将用于群集中的节点到节点安全性、群集管理终结点的 SSL 证书和默认管理客户端。 CertificateDescription
clientCertificateCommonNames 允许管理群集的公用名称引用的客户端证书列表。 ClientCertificateCommonName[]
clientCertificateThumbprints 允许管理群集的指纹引用的客户端证书列表。 ClientCertificateThumbprint[]
clusterCodeVersion 群集的 Service Fabric 运行时版本。 仅当 upgradeMode 设置为“Manual”时,此属性才能设置用户。 若要获取新群集的可用 Service Fabric 版本列表,请使用 ClusterVersion API。 若要获取现有群集的可用版本列表,请使用 availableClusterVersions 字符串
clusterState 群集的当前状态。

- WaitingForNodes - 指示已创建群集资源,并且资源提供程序正在等待 Service Fabric VM 扩展启动并报告给它。
- 部署 - 指示在 VM 上安装 Service Fabric 运行时。 群集资源将处于此状态,直到群集启动并启动系统服务。
- BaselineUpgrade - 指示群集正在升级以建立群集版本。 首次启动群集时,会自动启动此升级。
- UpdateingUserConfiguration - 指示使用用户提供的配置升级群集。
- UpdateingUserCertificate - 指示群集正在使用用户提供的证书进行升级。
- UpdateingInfrastructure - 指示群集正在使用最新的 Service Fabric 运行时版本进行升级。 仅当 upgradeMode 设置为“自动”时,才会发生这种情况。
- 强制实施ClusterVersion - 指示群集位于与预期版本不同的版本,并且群集正在升级到预期版本。
- UpgradeServiceUnreachable - 指示群集中的系统服务不再轮询资源提供程序。 处于此状态的群集不能由资源提供程序管理。
- 自动缩放 - 指示正在调整群集的 ReliabilityLevel。
- 就绪 - 指示群集处于稳定状态。
“自动缩放”
“BaselineUpgrade”
“部署”
“EnforcingClusterVersion”
“就绪”
“UpdateingInfrastructure”
“UpdateingUserCertificate”
“UpdateingUserConfiguration”
“UpgradeServiceUnreachable”
“WaitingForNodes”
diagnosticsStorageAccountConfig 用于存储 Service Fabric 诊断日志的存储帐户信息。 DiagnosticsStorageAccountConfig
fabricSettings 要配置群集的自定义结构设置列表。 SettingsSectionDescription[]
managementEndpoint 群集的 http 管理终结点。 string (必需)
nodeTypes 群集中的节点类型列表。 NodeTypeDescription[] (必需)
reliabilityLevel 可靠性级别设置系统服务的副本集大小。 了解 ReliabilityLevel

- 无 - 运行目标副本集计数为 1 的系统服务。 这只应用于测试群集。
- 青铜 - 运行目标副本集计数为 3 的系统服务。 这只应用于测试群集。
- Silver - 运行目标副本集计数为 5 的系统服务。
- Gold - 运行目标副本集计数为 7 的系统服务。
- Platinum - 运行目标副本集计数为 9 的系统服务。
“铜牌”
“Gold”
“None”
“Platinum”
“Silver”
reverseProxyCertificate 反向代理使用的服务器证书。 CertificateDescription
upgradeDescription 升级群集时要使用的策略。 ClusterUpgradePolicy
upgradeMode 新的 Service Fabric 运行时版本可用时群集的升级模式。

- 自动 - 群集将在可用后立即自动升级到最新的 Service Fabric 运行时版本。
- 手动 - 群集不会自动升级到最新的 Service Fabric 运行时版本。 通过在群集资源中设置 clusterCodeVersion 属性来升级群集。
“Automatic”
“Manual”
vmImage VM 映像 VMSS 已配置。 可以使用通用名称,例如 Windows 或 Linux。 字符串

ClusterUpgradeDeltaHealthPolicy

名字 描述 价值
maxPercentDeltaUnhealthyApplications 群集升级期间允许的应用程序运行状况降级的最大百分比。 在升级开始时的应用程序状态与运行状况评估时应用程序的状态之间测量增量。 在完成每个升级域后执行检查,以确保群集的全局状态处于允许的限制范围内。 系统服务不包括在此服务中。 int

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

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

约束:
最小值 = 0
最大值 = 100 (必需)

ClusterUpgradePolicy

名字 描述 价值
deltaHealthPolicy 升级群集时使用的增量运行状况策略。 ClusterUpgradeDeltaHealthPolicy
forceRestart 如果为 true,则即使代码版本未更改(升级仅更改配置或数据),升级期间也会强制重启进程。 bool
healthCheckRetryTimeout 在升级回滚之前,当应用程序或群集运行不正常时重试运行状况评估的时间。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthCheckStableDuration 在升级继续到下一个升级域之前,应用程序或群集必须保持正常运行的时间量。 持续时间可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthCheckWaitDuration 完成升级域后等待的时间长度,然后执行运行状况检查。 持续时间可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
healthPolicy 升级群集时使用的群集运行状况策略。 ClusterHealthPolicy (必需)
upgradeDomainTimeout 在升级回滚之前,每个升级域必须完成的时间。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
upgradeReplicaSetCheckTimeout 阻止处理升级域的最大时间,并在出现意外问题时防止可用性丢失。 当此超时过期时,无论可用性丢失问题如何,升级域的处理都将继续进行。 超时是在每个升级域的开头重置的。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)
upgradeTimeout 在升级回滚之前,整个升级必须完成的时间量。 超时可以采用 hh:mm:ss 或 d.hh:mm:ss.ms 格式。 string (必需)

ClusterVersionDetails

名字 描述 价值
codeVersion 群集的 Service Fabric 运行时版本。 字符串
环境 指示此版本是否适用于 Windows 或 Linux 操作系统。 “Linux”
“Windows”
supportExpiryUtc 版本的支持到期日期。 字符串

DiagnosticsStorageAccountConfig

名字 描述 价值
blobEndpoint Azure 存储帐户的 Blob 终结点。 string (必需)
protectedAccountKeyName 受保护的诊断存储密钥名称。 string (必需)
queueEndpoint Azure 存储帐户的队列终结点。 string (必需)
storageAccountName Azure 存储帐户名称。 string (必需)
tableEndpoint Azure 存储帐户的表终结点。 string (必需)

EndpointRangeDescription

名字 描述 价值
endPort 一系列端口的结束端口 int (必需)
startPort 一系列端口的起始端口 int (必需)

Microsoft.ServiceFabric/clusters

名字 描述 价值
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
性能 群集资源属性 ClusterProperties
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.ServiceFabric/clusters@2017-07-01-preview”

NodeTypeDescription

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

- 青铜 - 无特权。 这是默认值。
- Silver - 每个 UD 可以暂停基础结构作业 30 分钟。
- 黄金 - 每个 UD 可以暂停基础结构作业 2 小时。 只能在完整节点 VM SKU(如 D15_V2、G5 等)上启用金级持续性。
“铜牌”
“Gold”
“Silver”
ephemeralPorts 应配置此节点类型的节点的临时端口范围。 EndpointRangeDescription
httpGatewayEndpointPort HTTP 群集管理终结点端口。 int (必需)
isPrimary 运行系统服务的节点类型。 只应将一个节点类型标记为主节点。 无法删除或更改现有群集的主节点类型。 bool (必需)
名字 节点类型的名称。 string (必需)
placementProperties 应用于节点类型的节点的放置标记,可用于指示某些服务(工作负荷)应运行的位置。 NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort 反向代理使用的终结点。 int
vmInstanceCount 节点类型中的节点数。 此计数应与相应 VirtualMachineScaleSet 资源中的容量属性匹配。 int

约束:
最小值 = 1
最大值 = 2147483647 (必需)

NodeTypeDescriptionCapacities

名字 描述 价值

NodeTypeDescriptionPlacementProperties

名字 描述 价值

ResourceTags

名字 描述 价值

SettingsParameterDescription

名字 描述 价值
名字 构造设置的参数名称。 string (必需)
价值 构造设置的参数值。 string (必需)

SettingsSectionDescription

名字 描述 价值
名字 结构设置的节名称。 string (必需)
参数 节中的参数集合。 SettingsParameterDescription[] (必需)