你当前正在访问 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 安全群集 |
此模板允许在Standard_D2大小 VM 上部署运行 Windows Server 2016 数据中心的安全 3 节点类型 Service Fabric 群集。 使用此模板,可以使用网络安全组控制入站和出站网络流量。 |
部署 5 节点安全群集 |
使用此模板,可以在Standard_D2_v2大小 VMSS 上部署运行 Windows Server 2019 Datacenter 的安全 5 节点 Service Fabric 群集。 |
部署 5 节点 Ubuntu Service Fabric 群集 |
此模板允许在Standard_D2_V2大小 VMSS 上部署运行 Ubuntu 的安全 5 节点 Service Fabric 群集。 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署群集资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ServiceFabric/clusters 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ServiceFabric/clusters@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[] (必需) |