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

Microsoft.ServiceFabric managedclusters/applications/services 2024-04-01

Bicep 资源定义

可以使用目标操作部署 managedclusters/applications/services 资源类型:

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

资源格式

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

resource symbolicname 'Microsoft.ServiceFabric/managedclusters/applications/services@2024-04-01' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    correlationScheme: [
      {
        scheme: 'string'
        serviceName: 'string'
      }
    ]
    defaultMoveCost: 'string'
    partitionDescription: {
      partitionScheme: 'string'
      // For remaining properties, see Partition objects
    }
    placementConstraints: 'string'
    scalingPolicies: [
      {
        scalingMechanism: {
          kind: 'string'
          // For remaining properties, see ScalingMechanism objects
        }
        scalingTrigger: {
          kind: 'string'
          // For remaining properties, see ScalingTrigger objects
        }
      }
    ]
    serviceDnsName: 'string'
    serviceLoadMetrics: [
      {
        defaultLoad: int
        name: 'string'
        primaryDefaultLoad: int
        secondaryDefaultLoad: int
        weight: 'string'
      }
    ]
    servicePackageActivationMode: 'string'
    servicePlacementPolicies: [
      {
        type: 'string'
        // For remaining properties, see ServicePlacementPolicy objects
      }
    ]
    serviceTypeName: 'string'
    serviceKind: 'string'
    // For remaining properties, see ServiceResourceProperties objects
  }
  tags: {
    {customized property}: 'string'
  }
}

ScalingTrigger 对象

设置 类型 属性以指定对象的类型。

对于 AveragePartitionLoadTrigger,请使用:

{
  kind: 'AveragePartitionLoadTrigger'
  lowerLoadThreshold: int
  metricName: 'string'
  scaleInterval: 'string'
  upperLoadThreshold: int
}

对于 AverageServiceLoadTrigger,请使用:

{
  kind: 'AverageServiceLoadTrigger'
  lowerLoadThreshold: int
  metricName: 'string'
  scaleInterval: 'string'
  upperLoadThreshold: int
  useOnlyPrimaryLoad: bool
}

ServiceResourceProperties 对象

设置 serviceKind 属性以指定对象的类型。

对于 有状态,请使用:

{
  hasPersistedState: bool
  minReplicaSetSize: int
  quorumLossWaitDuration: 'string'
  replicaRestartWaitDuration: 'string'
  serviceKind: 'Stateful'
  servicePlacementTimeLimit: 'string'
  standByReplicaKeepDuration: 'string'
  targetReplicaSetSize: int
}

对于 无状态,请使用:

{
  instanceCount: int
  minInstanceCount: int
  minInstancePercentage: int
  serviceKind: 'Stateless'
}

分区对象

设置 partitionScheme 属性以指定对象的类型。

对于命名,请使用:

{
  names: [
    'string'
  ]
  partitionScheme: 'Named'
}

对于 单一实例,请使用:

{
  partitionScheme: 'Singleton'
}

对于 UniformInt64Range,请使用:

{
  count: int
  highKey: int
  lowKey: int
  partitionScheme: 'UniformInt64Range'
}

ScalingMechanism 对象

设置 类型 属性以指定对象的类型。

对于 AddRemoveIncrementalNamedPartition,请使用:

{
  kind: 'AddRemoveIncrementalNamedPartition'
  maxPartitionCount: int
  minPartitionCount: int
  scaleIncrement: int
}

对于 ScalePartitionInstanceCount,请使用:

{
  kind: 'ScalePartitionInstanceCount'
  maxInstanceCount: int
  minInstanceCount: int
  scaleIncrement: int
}

ServicePlacementPolicy 对象

设置 类型 属性以指定对象的类型。

对于 InvalidDomain,请使用:

{
  domainName: 'string'
  type: 'InvalidDomain'
}

对于 NonPartiallyPlaceService,请使用:

{
  type: 'NonPartiallyPlaceService'
}

对于 preferredPrimaryDomain,请使用:

{
  domainName: 'string'
  type: 'PreferredPrimaryDomain'
}

对于 requiredDomain,请使用:

{
  domainName: 'string'
  type: 'RequiredDomain'
}

对于 RequiredDomainDistribution,请使用:

{
  domainName: 'string'
  type: 'RequiredDomainDistribution'
}

属性值

AddRemoveIncrementalNamedPartitionScalingMechanism

名字 描述 价值
指定与此缩放策略关联的机制。 “AddRemoveIncrementalNamedPartition”(必需)
maxPartitionCount 服务命名分区的最大数目。 int (必需)
minPartitionCount 服务的命名分区的最小数目。 int (必需)
scaleIncrement 在缩放操作期间添加或删除的实例数。 int (必需)

AveragePartitionLoadScalingTrigger

名字 描述 价值
指定与此缩放策略关联的触发器。 “AveragePartitionLoadTrigger”(必需)
lowerLoadThreshold 应执行缩放操作的负载的下限。 int (必需)
metricName 应跟踪其使用情况的指标的名称。 string (必需)
scaleInterval 决定是否缩放的时间段(以秒为单位)。 此属性应采用 ISO 8601 格式“hh:mm:ss”。 string (必需)
upperLoadThreshold 要执行横向扩展操作的负载上限。 int (必需)

AverageServiceLoadScalingTrigger

名字 描述 价值
指定与此缩放策略关联的触发器。 “AverageServiceLoadTrigger”(必需)
lowerLoadThreshold 应执行缩放操作的负载的下限。 int (必需)
metricName 应跟踪其使用情况的指标的名称。 string (必需)
scaleInterval 决定是否缩放的时间段(以秒为单位)。 此属性应采用 ISO 8601 格式“hh:mm:ss”。 string (必需)
upperLoadThreshold 要执行横向扩展操作的负载上限。 int (必需)
useOnlyPrimaryLoad 标志确定是否只应考虑主要副本的负载进行缩放。 如果设置为 true,则触发器将仅考虑加载有状态服务的主要副本。 如果设置为 false,触发器将考虑加载所有副本。 对于无状态服务,此参数不能设置为 true。 bool (必需)

Microsoft.ServiceFabric/managedclusters/applications/services

名字 描述 价值
位置 资源位置取决于父资源。 字符串
名字 资源名称 string (必需)
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:managedclusters/applications
性能 服务资源属性。 ServiceResourceProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

NamedPartitionScheme

名字 描述 价值
名字 分区名称的数组。 string[] (必需)
partitionScheme 指定如何对服务进行分区。 “Named”(必需)

分区

名字 描述 价值
partitionScheme 对于 type NamedPartitionScheme,设置为“Named”。 设置为 SingletonPartitionScheme类型的“Singleton”。 对于 type UniformInt64RangePartitionScheme,设置为“UniformInt64Range”。 “Named”
“Singleton”
“UniformInt64Range”(必需)

PartitionInstanceCountScaleMechanism

名字 描述 价值
指定与此缩放策略关联的机制。 “ScalePartitionInstanceCount”(必需)
maxInstanceCount 分区的最大实例数。 int (必需)
minInstanceCount 分区的最小实例数。 int (必需)
scaleIncrement 在缩放操作期间添加或删除的实例数。 int (必需)

ProxyResourceTags

名字 描述 价值

ScalingMechanism

名字 描述 价值
对于 type AddRemoveIncrementalNamedPartition,设置为“AddRemoveIncrementalNamedPartitionScalingMechanism”。 对于 type PartitionInstanceCountScaleMechanism,设置为“ScalePartitionInstanceCount”。 “AddRemoveIncrementalNamedPartition”
“ScalePartitionInstanceCount”(必需)

ScalingPolicy

名字 描述 价值
scalingMechanism 指定与此缩放策略关联的机制 缩放机械(必需)
scalingTrigger 指定与此缩放策略关联的触发器。 ScalingTrigger(必需)

ScalingTrigger

名字 描述 价值
对于 averagePartitionLoadScalingTrigger类型,设置为“AveragePartitionLoadTrigger”。 对于 AverageServiceLoadScalingTrigger类型,设置为“AverageServiceLoadTrigger”。 “AveragePartitionLoadTrigger”
“AverageServiceLoadTrigger”(必需)

ServiceCorrelation

名字 描述 价值
方案 ServiceCorrelationScheme,描述此服务与通过 ServiceName 指定的服务之间的关系。 “AlignedAffinity”
“NonAlignedAffinity”(必需)
serviceName 与之建立关联关系的服务的 Arm 资源 ID。 string (必需)

ServiceLoadMetric

名字 描述 价值
defaultLoad 仅用于无状态服务。 此服务为此指标创建的默认负载量(以数字表示)。 int
名字 指标的名称。 如果服务选择在运行时报告负载,则负载指标名称应与 Name 中指定的名称完全匹配。 请注意,指标名称区分大小写。 string (必需)
primaryDefaultLoad 仅用于有状态服务。 此服务在作为主要副本时为此指标创建的默认负载量(作为数字)。 int
secondaryDefaultLoad 仅用于有状态服务。 此服务在作为次要副本时为此指标创建的默认负载量(作为数字)。 int
重量 与为此服务配置的其他指标相比,服务负载指标相对权重为数字。 “High”
“Low”
“Medium”
“Zero”

ServicePlacementInvalidDomainPolicy

名字 描述 价值
domainName 不应用于放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “InvalidDomain”(必需)

ServicePlacementNonPartiallyPlaceServicePolicy

名字 描述 价值
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “NonPartiallyPlaceService”(必需)

ServicePlacementPolicy

名字 描述 价值
类型 对于 ServicePlacementInvalidDomainPolicy,请设置为“InvalidDomain”。 对于 type ServicePlacementNonPartiallyPlaceServicePolicy,设置为“NonPartiallyPlaceServiceService”。 对于 type ServicePlacementPreferPrimaryDomainPolicy,设置为“PreferredPrimaryDomain”。 对于 ServicePlacementRequiredDomainPolicy,请设置为“RequiredDomain”。 对于 type ServicePlacementRequireDomainDistributionPolicy,设置为“RequiredDomainDistribution”。 “InvalidDomain”
“NonPartiallyPlaceService”
“PreferredPrimaryDomain”
“RequiredDomain”
“RequiredDomainDistribution”(必需)

ServicePlacementPreferPrimaryDomainPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “PreferredPrimaryDomain”(必需)

ServicePlacementRequiredDomainPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomain”(必需)

ServicePlacementRequireDomainDistributionPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomainDistribution”(必需)

ServiceResourceProperties

名字 描述 价值
correlationScheme 描述服务与其他服务关联的列表。 ServiceCorrelation[]
defaultMoveCost 指定服务的移动成本。 “High”
“Low”
“Medium”
“Zero”
partitionDescription 描述如何对服务进行分区。 分区(必需)
placementConstraints 作为字符串的放置约束。 放置约束是节点属性上的布尔表达式,允许根据服务要求将服务限制为特定节点。 例如,若要在 NodeType 为蓝色的节点上放置服务,请指定以下内容:“NodeColor == blue”。。 字符串
scalingPolicies 此服务的缩放策略。 ScalingPolicy[]
serviceDnsName 用于服务的 Dns 名称。 如果已指定,则 DNS 名称可用于返回应用程序层协议的服务终结点的 IP 地址(例如 HTTP)。
更新 serviceDnsName 时,旧名称可能会暂时解析。 但是,依赖于新名称。
删除 serviceDnsName 时,删除的名称可能会暂时解析。 不要依赖于无法解决的名称。
字符串
serviceKind 对于 StatefulServiceProperties类型,设置为“有状态”。 对于 StatelessServiceProperties类型,设置为“无状态”。 “有状态”
“无状态”(必需)
serviceLoadMetrics 服务负载指标作为 ServiceLoadMetric 对象的数组提供。 ServiceLoadMetric[]
servicePackageActivationMode 服务包的激活模式 “ExclusiveProcess”
“SharedProcess”
servicePlacementPolicies 描述服务与其他服务关联的列表。 ServicePlacementPolicy[]
serviceTypeName 服务类型的名称 string (必需)

SingletonPartitionScheme

名字 描述 价值
partitionScheme 指定如何对服务进行分区。 “Singleton”(必需)

StatefulServiceProperties

名字 描述 价值
hasPersistedState 一个标志,指示这是一个持久服务,用于将状态存储在本地磁盘上。 如果是,则此属性的值为 true,否则为 false。 bool
minReplicaSetSize 最小副本集大小为数字。 int

约束:
最小值 = 1
quorumLossWaitDuration 允许分区处于仲裁丢失状态的最大持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
replicaRestartWaitDuration 副本关闭和创建新副本之间的持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
serviceKind 服务类型(无状态或有状态服务)。 “有状态”(必需)
servicePlacementTimeLimit 副本在报告生成停滞之前可以保留 InBuild 的持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
standByReplicaKeepDuration 有关在删除之前应保留 StandBy 副本时长的定义,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
targetReplicaSetSize 目标副本集大小为数字。 int

约束:
最小值 = 1

StatelessServiceProperties

名字 描述 价值
instanceCount 实例计数。 int

约束:
最小值 = -1 (必需)
minInstanceCount MinInstanceCount 是必须满足 EnsureAvailability 安全检查(例如升级或停用节点)的最小实例数。 使用的实际数字是 max(MinInstanceCount,ceil(MinInstancePercentage/100.0 * InstanceCount) 。 请注意,如果将 InstanceCount 设置为 -1,则 MinInstanceCount 计算期间,-1 首先转换为允许根据服务放置约束放置实例的节点数。 int
minInstancePercentage MinInstancePercentage 是 InstanceCount 的最低百分比,必须在升级或停用节点等操作期间满足 EnsureAvailability 安全检查。 使用的实际数字是 max(MinInstanceCount,ceil(MinInstancePercentage/100.0 * InstanceCount) 。 请注意,如果在 MinInstancePercentage 计算期间将 InstanceCount 设置为 -1,则 -1 首先转换为允许根据服务的放置约束放置实例的节点数。 int
serviceKind 服务类型(无状态或有状态服务)。 “无状态”(必需)

UniformInt64RangePartitionScheme

名字 描述 价值
计数 分区数。 int (必需)
highKey 分区键范围的上限
应在分区“Count”之间拆分
int (必需)
lowKey 分区键范围的下限
应在分区“Count”之间拆分
int (必需)
partitionScheme 指定如何对服务进行分区。 “UniformInt64Range”(必需)

ARM 模板资源定义

可以使用目标操作部署 managedclusters/applications/services 资源类型:

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

资源格式

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

{
  "type": "Microsoft.ServiceFabric/managedclusters/applications/services",
  "apiVersion": "2024-04-01",
  "name": "string",
  "location": "string",
  "properties": {
    "correlationScheme": [
      {
        "scheme": "string",
        "serviceName": "string"
      }
    ],
    "defaultMoveCost": "string",
    "partitionDescription": {
      "partitionScheme": "string"
      // For remaining properties, see Partition objects
    },
    "placementConstraints": "string",
    "scalingPolicies": [
      {
        "scalingMechanism": {
          "kind": "string"
          // For remaining properties, see ScalingMechanism objects
        },
        "scalingTrigger": {
          "kind": "string"
          // For remaining properties, see ScalingTrigger objects
        }
      }
    ],
    "serviceDnsName": "string",
    "serviceLoadMetrics": [
      {
        "defaultLoad": "int",
        "name": "string",
        "primaryDefaultLoad": "int",
        "secondaryDefaultLoad": "int",
        "weight": "string"
      }
    ],
    "servicePackageActivationMode": "string",
    "servicePlacementPolicies": [ {
      "type": "string"
      // For remaining properties, see ServicePlacementPolicy objects
    } ],
    "serviceTypeName": "string",
    "serviceKind": "string"
    // For remaining properties, see ServiceResourceProperties objects
  },
  "tags": {
    "{customized property}": "string"
  }
}

ScalingTrigger 对象

设置 类型 属性以指定对象的类型。

对于 AveragePartitionLoadTrigger,请使用:

{
  "kind": "AveragePartitionLoadTrigger",
  "lowerLoadThreshold": "int",
  "metricName": "string",
  "scaleInterval": "string",
  "upperLoadThreshold": "int"
}

对于 AverageServiceLoadTrigger,请使用:

{
  "kind": "AverageServiceLoadTrigger",
  "lowerLoadThreshold": "int",
  "metricName": "string",
  "scaleInterval": "string",
  "upperLoadThreshold": "int",
  "useOnlyPrimaryLoad": "bool"
}

ServiceResourceProperties 对象

设置 serviceKind 属性以指定对象的类型。

对于 有状态,请使用:

{
  "hasPersistedState": "bool",
  "minReplicaSetSize": "int",
  "quorumLossWaitDuration": "string",
  "replicaRestartWaitDuration": "string",
  "serviceKind": "Stateful",
  "servicePlacementTimeLimit": "string",
  "standByReplicaKeepDuration": "string",
  "targetReplicaSetSize": "int"
}

对于 无状态,请使用:

{
  "instanceCount": "int",
  "minInstanceCount": "int",
  "minInstancePercentage": "int",
  "serviceKind": "Stateless"
}

分区对象

设置 partitionScheme 属性以指定对象的类型。

对于命名,请使用:

{
  "names": [ "string" ],
  "partitionScheme": "Named"
}

对于 单一实例,请使用:

{
  "partitionScheme": "Singleton"
}

对于 UniformInt64Range,请使用:

{
  "count": "int",
  "highKey": "int",
  "lowKey": "int",
  "partitionScheme": "UniformInt64Range"
}

ScalingMechanism 对象

设置 类型 属性以指定对象的类型。

对于 AddRemoveIncrementalNamedPartition,请使用:

{
  "kind": "AddRemoveIncrementalNamedPartition",
  "maxPartitionCount": "int",
  "minPartitionCount": "int",
  "scaleIncrement": "int"
}

对于 ScalePartitionInstanceCount,请使用:

{
  "kind": "ScalePartitionInstanceCount",
  "maxInstanceCount": "int",
  "minInstanceCount": "int",
  "scaleIncrement": "int"
}

ServicePlacementPolicy 对象

设置 类型 属性以指定对象的类型。

对于 InvalidDomain,请使用:

{
  "domainName": "string",
  "type": "InvalidDomain"
}

对于 NonPartiallyPlaceService,请使用:

{
  "type": "NonPartiallyPlaceService"
}

对于 preferredPrimaryDomain,请使用:

{
  "domainName": "string",
  "type": "PreferredPrimaryDomain"
}

对于 requiredDomain,请使用:

{
  "domainName": "string",
  "type": "RequiredDomain"
}

对于 RequiredDomainDistribution,请使用:

{
  "domainName": "string",
  "type": "RequiredDomainDistribution"
}

属性值

AddRemoveIncrementalNamedPartitionScalingMechanism

名字 描述 价值
指定与此缩放策略关联的机制。 “AddRemoveIncrementalNamedPartition”(必需)
maxPartitionCount 服务命名分区的最大数目。 int (必需)
minPartitionCount 服务的命名分区的最小数目。 int (必需)
scaleIncrement 在缩放操作期间添加或删除的实例数。 int (必需)

AveragePartitionLoadScalingTrigger

名字 描述 价值
指定与此缩放策略关联的触发器。 “AveragePartitionLoadTrigger”(必需)
lowerLoadThreshold 应执行缩放操作的负载的下限。 int (必需)
metricName 应跟踪其使用情况的指标的名称。 string (必需)
scaleInterval 决定是否缩放的时间段(以秒为单位)。 此属性应采用 ISO 8601 格式“hh:mm:ss”。 string (必需)
upperLoadThreshold 要执行横向扩展操作的负载上限。 int (必需)

AverageServiceLoadScalingTrigger

名字 描述 价值
指定与此缩放策略关联的触发器。 “AverageServiceLoadTrigger”(必需)
lowerLoadThreshold 应执行缩放操作的负载的下限。 int (必需)
metricName 应跟踪其使用情况的指标的名称。 string (必需)
scaleInterval 决定是否缩放的时间段(以秒为单位)。 此属性应采用 ISO 8601 格式“hh:mm:ss”。 string (必需)
upperLoadThreshold 要执行横向扩展操作的负载上限。 int (必需)
useOnlyPrimaryLoad 标志确定是否只应考虑主要副本的负载进行缩放。 如果设置为 true,则触发器将仅考虑加载有状态服务的主要副本。 如果设置为 false,触发器将考虑加载所有副本。 对于无状态服务,此参数不能设置为 true。 bool (必需)

Microsoft.ServiceFabric/managedclusters/applications/services

名字 描述 价值
apiVersion API 版本 '2024-04-01'
位置 资源位置取决于父资源。 字符串
名字 资源名称 string (必需)
性能 服务资源属性。 ServiceResourceProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.ServiceFabric/managedclusters/applications/services”

NamedPartitionScheme

名字 描述 价值
名字 分区名称的数组。 string[] (必需)
partitionScheme 指定如何对服务进行分区。 “Named”(必需)

分区

名字 描述 价值
partitionScheme 对于 type NamedPartitionScheme,设置为“Named”。 设置为 SingletonPartitionScheme类型的“Singleton”。 对于 type UniformInt64RangePartitionScheme,设置为“UniformInt64Range”。 “Named”
“Singleton”
“UniformInt64Range”(必需)

PartitionInstanceCountScaleMechanism

名字 描述 价值
指定与此缩放策略关联的机制。 “ScalePartitionInstanceCount”(必需)
maxInstanceCount 分区的最大实例数。 int (必需)
minInstanceCount 分区的最小实例数。 int (必需)
scaleIncrement 在缩放操作期间添加或删除的实例数。 int (必需)

ProxyResourceTags

名字 描述 价值

ScalingMechanism

名字 描述 价值
对于 type AddRemoveIncrementalNamedPartition,设置为“AddRemoveIncrementalNamedPartitionScalingMechanism”。 对于 type PartitionInstanceCountScaleMechanism,设置为“ScalePartitionInstanceCount”。 “AddRemoveIncrementalNamedPartition”
“ScalePartitionInstanceCount”(必需)

ScalingPolicy

名字 描述 价值
scalingMechanism 指定与此缩放策略关联的机制 缩放机械(必需)
scalingTrigger 指定与此缩放策略关联的触发器。 ScalingTrigger(必需)

ScalingTrigger

名字 描述 价值
对于 averagePartitionLoadScalingTrigger类型,设置为“AveragePartitionLoadTrigger”。 对于 AverageServiceLoadScalingTrigger类型,设置为“AverageServiceLoadTrigger”。 “AveragePartitionLoadTrigger”
“AverageServiceLoadTrigger”(必需)

ServiceCorrelation

名字 描述 价值
方案 ServiceCorrelationScheme,描述此服务与通过 ServiceName 指定的服务之间的关系。 “AlignedAffinity”
“NonAlignedAffinity”(必需)
serviceName 与之建立关联关系的服务的 Arm 资源 ID。 string (必需)

ServiceLoadMetric

名字 描述 价值
defaultLoad 仅用于无状态服务。 此服务为此指标创建的默认负载量(以数字表示)。 int
名字 指标的名称。 如果服务选择在运行时报告负载,则负载指标名称应与 Name 中指定的名称完全匹配。 请注意,指标名称区分大小写。 string (必需)
primaryDefaultLoad 仅用于有状态服务。 此服务在作为主要副本时为此指标创建的默认负载量(作为数字)。 int
secondaryDefaultLoad 仅用于有状态服务。 此服务在作为次要副本时为此指标创建的默认负载量(作为数字)。 int
重量 与为此服务配置的其他指标相比,服务负载指标相对权重为数字。 “High”
“Low”
“Medium”
“Zero”

ServicePlacementInvalidDomainPolicy

名字 描述 价值
domainName 不应用于放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “InvalidDomain”(必需)

ServicePlacementNonPartiallyPlaceServicePolicy

名字 描述 价值
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “NonPartiallyPlaceService”(必需)

ServicePlacementPolicy

名字 描述 价值
类型 对于 ServicePlacementInvalidDomainPolicy,请设置为“InvalidDomain”。 对于 type ServicePlacementNonPartiallyPlaceServicePolicy,设置为“NonPartiallyPlaceServiceService”。 对于 type ServicePlacementPreferPrimaryDomainPolicy,设置为“PreferredPrimaryDomain”。 对于 ServicePlacementRequiredDomainPolicy,请设置为“RequiredDomain”。 对于 type ServicePlacementRequireDomainDistributionPolicy,设置为“RequiredDomainDistribution”。 “InvalidDomain”
“NonPartiallyPlaceService”
“PreferredPrimaryDomain”
“RequiredDomain”
“RequiredDomainDistribution”(必需)

ServicePlacementPreferPrimaryDomainPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “PreferredPrimaryDomain”(必需)

ServicePlacementRequiredDomainPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomain”(必需)

ServicePlacementRequireDomainDistributionPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomainDistribution”(必需)

ServiceResourceProperties

名字 描述 价值
correlationScheme 描述服务与其他服务关联的列表。 ServiceCorrelation[]
defaultMoveCost 指定服务的移动成本。 “High”
“Low”
“Medium”
“Zero”
partitionDescription 描述如何对服务进行分区。 分区(必需)
placementConstraints 作为字符串的放置约束。 放置约束是节点属性上的布尔表达式,允许根据服务要求将服务限制为特定节点。 例如,若要在 NodeType 为蓝色的节点上放置服务,请指定以下内容:“NodeColor == blue”。。 字符串
scalingPolicies 此服务的缩放策略。 ScalingPolicy[]
serviceDnsName 用于服务的 Dns 名称。 如果已指定,则 DNS 名称可用于返回应用程序层协议的服务终结点的 IP 地址(例如 HTTP)。
更新 serviceDnsName 时,旧名称可能会暂时解析。 但是,依赖于新名称。
删除 serviceDnsName 时,删除的名称可能会暂时解析。 不要依赖于无法解决的名称。
字符串
serviceKind 对于 StatefulServiceProperties类型,设置为“有状态”。 对于 StatelessServiceProperties类型,设置为“无状态”。 “有状态”
“无状态”(必需)
serviceLoadMetrics 服务负载指标作为 ServiceLoadMetric 对象的数组提供。 ServiceLoadMetric[]
servicePackageActivationMode 服务包的激活模式 “ExclusiveProcess”
“SharedProcess”
servicePlacementPolicies 描述服务与其他服务关联的列表。 ServicePlacementPolicy[]
serviceTypeName 服务类型的名称 string (必需)

SingletonPartitionScheme

名字 描述 价值
partitionScheme 指定如何对服务进行分区。 “Singleton”(必需)

StatefulServiceProperties

名字 描述 价值
hasPersistedState 一个标志,指示这是一个持久服务,用于将状态存储在本地磁盘上。 如果是,则此属性的值为 true,否则为 false。 bool
minReplicaSetSize 最小副本集大小为数字。 int

约束:
最小值 = 1
quorumLossWaitDuration 允许分区处于仲裁丢失状态的最大持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
replicaRestartWaitDuration 副本关闭和创建新副本之间的持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
serviceKind 服务类型(无状态或有状态服务)。 “有状态”(必需)
servicePlacementTimeLimit 副本在报告生成停滞之前可以保留 InBuild 的持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
standByReplicaKeepDuration 有关在删除之前应保留 StandBy 副本时长的定义,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
targetReplicaSetSize 目标副本集大小为数字。 int

约束:
最小值 = 1

StatelessServiceProperties

名字 描述 价值
instanceCount 实例计数。 int

约束:
最小值 = -1 (必需)
minInstanceCount MinInstanceCount 是必须满足 EnsureAvailability 安全检查(例如升级或停用节点)的最小实例数。 使用的实际数字是 max(MinInstanceCount,ceil(MinInstancePercentage/100.0 * InstanceCount) 。 请注意,如果将 InstanceCount 设置为 -1,则 MinInstanceCount 计算期间,-1 首先转换为允许根据服务放置约束放置实例的节点数。 int
minInstancePercentage MinInstancePercentage 是 InstanceCount 的最低百分比,必须在升级或停用节点等操作期间满足 EnsureAvailability 安全检查。 使用的实际数字是 max(MinInstanceCount,ceil(MinInstancePercentage/100.0 * InstanceCount) 。 请注意,如果在 MinInstancePercentage 计算期间将 InstanceCount 设置为 -1,则 -1 首先转换为允许根据服务的放置约束放置实例的节点数。 int
serviceKind 服务类型(无状态或有状态服务)。 “无状态”(必需)

UniformInt64RangePartitionScheme

名字 描述 价值
计数 分区数。 int (必需)
highKey 分区键范围的上限
应在分区“Count”之间拆分
int (必需)
lowKey 分区键范围的下限
应在分区“Count”之间拆分
int (必需)
partitionScheme 指定如何对服务进行分区。 “UniformInt64Range”(必需)

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

可以使用目标操作部署 managedclusters/applications/services 资源类型:

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/managedclusters/applications/services@2024-04-01"
  name = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      correlationScheme = [
        {
          scheme = "string"
          serviceName = "string"
        }
      ]
      defaultMoveCost = "string"
      partitionDescription = {
        partitionScheme = "string"
        // For remaining properties, see Partition objects
      }
      placementConstraints = "string"
      scalingPolicies = [
        {
          scalingMechanism = {
            kind = "string"
            // For remaining properties, see ScalingMechanism objects
          }
          scalingTrigger = {
            kind = "string"
            // For remaining properties, see ScalingTrigger objects
          }
        }
      ]
      serviceDnsName = "string"
      serviceLoadMetrics = [
        {
          defaultLoad = int
          name = "string"
          primaryDefaultLoad = int
          secondaryDefaultLoad = int
          weight = "string"
        }
      ]
      servicePackageActivationMode = "string"
      servicePlacementPolicies = [
        {
          type = "string"
          // For remaining properties, see ServicePlacementPolicy objects
        }
      ]
      serviceTypeName = "string"
      serviceKind = "string"
      // For remaining properties, see ServiceResourceProperties objects
    }
  })
}

ScalingTrigger 对象

设置 类型 属性以指定对象的类型。

对于 AveragePartitionLoadTrigger,请使用:

{
  kind = "AveragePartitionLoadTrigger"
  lowerLoadThreshold = int
  metricName = "string"
  scaleInterval = "string"
  upperLoadThreshold = int
}

对于 AverageServiceLoadTrigger,请使用:

{
  kind = "AverageServiceLoadTrigger"
  lowerLoadThreshold = int
  metricName = "string"
  scaleInterval = "string"
  upperLoadThreshold = int
  useOnlyPrimaryLoad = bool
}

ServiceResourceProperties 对象

设置 serviceKind 属性以指定对象的类型。

对于 有状态,请使用:

{
  hasPersistedState = bool
  minReplicaSetSize = int
  quorumLossWaitDuration = "string"
  replicaRestartWaitDuration = "string"
  serviceKind = "Stateful"
  servicePlacementTimeLimit = "string"
  standByReplicaKeepDuration = "string"
  targetReplicaSetSize = int
}

对于 无状态,请使用:

{
  instanceCount = int
  minInstanceCount = int
  minInstancePercentage = int
  serviceKind = "Stateless"
}

分区对象

设置 partitionScheme 属性以指定对象的类型。

对于命名,请使用:

{
  names = [
    "string"
  ]
  partitionScheme = "Named"
}

对于 单一实例,请使用:

{
  partitionScheme = "Singleton"
}

对于 UniformInt64Range,请使用:

{
  count = int
  highKey = int
  lowKey = int
  partitionScheme = "UniformInt64Range"
}

ScalingMechanism 对象

设置 类型 属性以指定对象的类型。

对于 AddRemoveIncrementalNamedPartition,请使用:

{
  kind = "AddRemoveIncrementalNamedPartition"
  maxPartitionCount = int
  minPartitionCount = int
  scaleIncrement = int
}

对于 ScalePartitionInstanceCount,请使用:

{
  kind = "ScalePartitionInstanceCount"
  maxInstanceCount = int
  minInstanceCount = int
  scaleIncrement = int
}

ServicePlacementPolicy 对象

设置 类型 属性以指定对象的类型。

对于 InvalidDomain,请使用:

{
  domainName = "string"
  type = "InvalidDomain"
}

对于 NonPartiallyPlaceService,请使用:

{
  type = "NonPartiallyPlaceService"
}

对于 preferredPrimaryDomain,请使用:

{
  domainName = "string"
  type = "PreferredPrimaryDomain"
}

对于 requiredDomain,请使用:

{
  domainName = "string"
  type = "RequiredDomain"
}

对于 RequiredDomainDistribution,请使用:

{
  domainName = "string"
  type = "RequiredDomainDistribution"
}

属性值

AddRemoveIncrementalNamedPartitionScalingMechanism

名字 描述 价值
指定与此缩放策略关联的机制。 “AddRemoveIncrementalNamedPartition”(必需)
maxPartitionCount 服务命名分区的最大数目。 int (必需)
minPartitionCount 服务的命名分区的最小数目。 int (必需)
scaleIncrement 在缩放操作期间添加或删除的实例数。 int (必需)

AveragePartitionLoadScalingTrigger

名字 描述 价值
指定与此缩放策略关联的触发器。 “AveragePartitionLoadTrigger”(必需)
lowerLoadThreshold 应执行缩放操作的负载的下限。 int (必需)
metricName 应跟踪其使用情况的指标的名称。 string (必需)
scaleInterval 决定是否缩放的时间段(以秒为单位)。 此属性应采用 ISO 8601 格式“hh:mm:ss”。 string (必需)
upperLoadThreshold 要执行横向扩展操作的负载上限。 int (必需)

AverageServiceLoadScalingTrigger

名字 描述 价值
指定与此缩放策略关联的触发器。 “AverageServiceLoadTrigger”(必需)
lowerLoadThreshold 应执行缩放操作的负载的下限。 int (必需)
metricName 应跟踪其使用情况的指标的名称。 string (必需)
scaleInterval 决定是否缩放的时间段(以秒为单位)。 此属性应采用 ISO 8601 格式“hh:mm:ss”。 string (必需)
upperLoadThreshold 要执行横向扩展操作的负载上限。 int (必需)
useOnlyPrimaryLoad 标志确定是否只应考虑主要副本的负载进行缩放。 如果设置为 true,则触发器将仅考虑加载有状态服务的主要副本。 如果设置为 false,触发器将考虑加载所有副本。 对于无状态服务,此参数不能设置为 true。 bool (必需)

Microsoft.ServiceFabric/managedclusters/applications/services

名字 描述 价值
位置 资源位置取决于父资源。 字符串
名字 资源名称 string (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:managedclusters/applications
性能 服务资源属性。 ServiceResourceProperties
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.ServiceFabric/managedclusters/applications/services@2024-04-01”

NamedPartitionScheme

名字 描述 价值
名字 分区名称的数组。 string[] (必需)
partitionScheme 指定如何对服务进行分区。 “Named”(必需)

分区

名字 描述 价值
partitionScheme 对于 type NamedPartitionScheme,设置为“Named”。 设置为 SingletonPartitionScheme类型的“Singleton”。 对于 type UniformInt64RangePartitionScheme,设置为“UniformInt64Range”。 “Named”
“Singleton”
“UniformInt64Range”(必需)

PartitionInstanceCountScaleMechanism

名字 描述 价值
指定与此缩放策略关联的机制。 “ScalePartitionInstanceCount”(必需)
maxInstanceCount 分区的最大实例数。 int (必需)
minInstanceCount 分区的最小实例数。 int (必需)
scaleIncrement 在缩放操作期间添加或删除的实例数。 int (必需)

ProxyResourceTags

名字 描述 价值

ScalingMechanism

名字 描述 价值
对于 type AddRemoveIncrementalNamedPartition,设置为“AddRemoveIncrementalNamedPartitionScalingMechanism”。 对于 type PartitionInstanceCountScaleMechanism,设置为“ScalePartitionInstanceCount”。 “AddRemoveIncrementalNamedPartition”
“ScalePartitionInstanceCount”(必需)

ScalingPolicy

名字 描述 价值
scalingMechanism 指定与此缩放策略关联的机制 缩放机械(必需)
scalingTrigger 指定与此缩放策略关联的触发器。 ScalingTrigger(必需)

ScalingTrigger

名字 描述 价值
对于 averagePartitionLoadScalingTrigger类型,设置为“AveragePartitionLoadTrigger”。 对于 AverageServiceLoadScalingTrigger类型,设置为“AverageServiceLoadTrigger”。 “AveragePartitionLoadTrigger”
“AverageServiceLoadTrigger”(必需)

ServiceCorrelation

名字 描述 价值
方案 ServiceCorrelationScheme,描述此服务与通过 ServiceName 指定的服务之间的关系。 “AlignedAffinity”
“NonAlignedAffinity”(必需)
serviceName 与之建立关联关系的服务的 Arm 资源 ID。 string (必需)

ServiceLoadMetric

名字 描述 价值
defaultLoad 仅用于无状态服务。 此服务为此指标创建的默认负载量(以数字表示)。 int
名字 指标的名称。 如果服务选择在运行时报告负载,则负载指标名称应与 Name 中指定的名称完全匹配。 请注意,指标名称区分大小写。 string (必需)
primaryDefaultLoad 仅用于有状态服务。 此服务在作为主要副本时为此指标创建的默认负载量(作为数字)。 int
secondaryDefaultLoad 仅用于有状态服务。 此服务在作为次要副本时为此指标创建的默认负载量(作为数字)。 int
重量 与为此服务配置的其他指标相比,服务负载指标相对权重为数字。 “High”
“Low”
“Medium”
“Zero”

ServicePlacementInvalidDomainPolicy

名字 描述 价值
domainName 不应用于放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “InvalidDomain”(必需)

ServicePlacementNonPartiallyPlaceServicePolicy

名字 描述 价值
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “NonPartiallyPlaceService”(必需)

ServicePlacementPolicy

名字 描述 价值
类型 对于 ServicePlacementInvalidDomainPolicy,请设置为“InvalidDomain”。 对于 type ServicePlacementNonPartiallyPlaceServicePolicy,设置为“NonPartiallyPlaceServiceService”。 对于 type ServicePlacementPreferPrimaryDomainPolicy,设置为“PreferredPrimaryDomain”。 对于 ServicePlacementRequiredDomainPolicy,请设置为“RequiredDomain”。 对于 type ServicePlacementRequireDomainDistributionPolicy,设置为“RequiredDomainDistribution”。 “InvalidDomain”
“NonPartiallyPlaceService”
“PreferredPrimaryDomain”
“RequiredDomain”
“RequiredDomainDistribution”(必需)

ServicePlacementPreferPrimaryDomainPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “PreferredPrimaryDomain”(必需)

ServicePlacementRequiredDomainPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomain”(必需)

ServicePlacementRequireDomainDistributionPolicy

名字 描述 价值
domainName 应按此策略放置的域的名称。 string (必需)
类型 Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomainDistribution”(必需)

ServiceResourceProperties

名字 描述 价值
correlationScheme 描述服务与其他服务关联的列表。 ServiceCorrelation[]
defaultMoveCost 指定服务的移动成本。 “High”
“Low”
“Medium”
“Zero”
partitionDescription 描述如何对服务进行分区。 分区(必需)
placementConstraints 作为字符串的放置约束。 放置约束是节点属性上的布尔表达式,允许根据服务要求将服务限制为特定节点。 例如,若要在 NodeType 为蓝色的节点上放置服务,请指定以下内容:“NodeColor == blue”。。 字符串
scalingPolicies 此服务的缩放策略。 ScalingPolicy[]
serviceDnsName 用于服务的 Dns 名称。 如果已指定,则 DNS 名称可用于返回应用程序层协议的服务终结点的 IP 地址(例如 HTTP)。
更新 serviceDnsName 时,旧名称可能会暂时解析。 但是,依赖于新名称。
删除 serviceDnsName 时,删除的名称可能会暂时解析。 不要依赖于无法解决的名称。
字符串
serviceKind 对于 StatefulServiceProperties类型,设置为“有状态”。 对于 StatelessServiceProperties类型,设置为“无状态”。 “有状态”
“无状态”(必需)
serviceLoadMetrics 服务负载指标作为 ServiceLoadMetric 对象的数组提供。 ServiceLoadMetric[]
servicePackageActivationMode 服务包的激活模式 “ExclusiveProcess”
“SharedProcess”
servicePlacementPolicies 描述服务与其他服务关联的列表。 ServicePlacementPolicy[]
serviceTypeName 服务类型的名称 string (必需)

SingletonPartitionScheme

名字 描述 价值
partitionScheme 指定如何对服务进行分区。 “Singleton”(必需)

StatefulServiceProperties

名字 描述 价值
hasPersistedState 一个标志,指示这是一个持久服务,用于将状态存储在本地磁盘上。 如果是,则此属性的值为 true,否则为 false。 bool
minReplicaSetSize 最小副本集大小为数字。 int

约束:
最小值 = 1
quorumLossWaitDuration 允许分区处于仲裁丢失状态的最大持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
replicaRestartWaitDuration 副本关闭和创建新副本之间的持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
serviceKind 服务类型(无状态或有状态服务)。 “有状态”(必需)
servicePlacementTimeLimit 副本在报告生成停滞之前可以保留 InBuild 的持续时间,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
standByReplicaKeepDuration 有关在删除之前应保留 StandBy 副本时长的定义,以 ISO 8601 格式“hh:mm:ss”表示。 字符串
targetReplicaSetSize 目标副本集大小为数字。 int

约束:
最小值 = 1

StatelessServiceProperties

名字 描述 价值
instanceCount 实例计数。 int

约束:
最小值 = -1 (必需)
minInstanceCount MinInstanceCount 是必须满足 EnsureAvailability 安全检查(例如升级或停用节点)的最小实例数。 使用的实际数字是 max(MinInstanceCount,ceil(MinInstancePercentage/100.0 * InstanceCount) 。 请注意,如果将 InstanceCount 设置为 -1,则 MinInstanceCount 计算期间,-1 首先转换为允许根据服务放置约束放置实例的节点数。 int
minInstancePercentage MinInstancePercentage 是 InstanceCount 的最低百分比,必须在升级或停用节点等操作期间满足 EnsureAvailability 安全检查。 使用的实际数字是 max(MinInstanceCount,ceil(MinInstancePercentage/100.0 * InstanceCount) 。 请注意,如果在 MinInstancePercentage 计算期间将 InstanceCount 设置为 -1,则 -1 首先转换为允许根据服务的放置约束放置实例的节点数。 int
serviceKind 服务类型(无状态或有状态服务)。 “无状态”(必需)

UniformInt64RangePartitionScheme

名字 描述 价值
计数 分区数。 int (必需)
highKey 分区键范围的上限
应在分区“Count”之间拆分
int (必需)
lowKey 分区键范围的下限
应在分区“Count”之间拆分
int (必需)
partitionScheme 指定如何对服务进行分区。 “UniformInt64Range”(必需)