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

Microsoft.ServiceFabric managedclusters/applications/services 2023-03-01-preview

Bicep 资源定义

managedclusters/applications/services 资源类型可以使用面向以下对象的操作进行部署:

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

资源格式

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

resource symbolicname 'Microsoft.ServiceFabric/managedclusters/applications/services@2023-03-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  parent: resourceSymbolicName
  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
  }
}

ServiceResourceProperties 对象

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

对于 有状态,请使用:

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

对于 无状态,请使用:

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

分区对象

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

对于 “命名”,请使用:

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

对于 Singleton,请使用:

  partitionScheme: 'Singleton'

对于 UniformInt64Range,请使用:

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

ScalingMechanism 对象

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

对于 AddRemoveIncrementalNamedPartition,请使用:

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

对于 ScalePartitionInstanceCount,请使用:

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

ScalingTrigger 对象

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

对于 AveragePartitionLoadTrigger,请使用:

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

对于 AverageServiceLoadTrigger,请使用:

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

ServicePlacementPolicy 对象

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

对于 InvalidDomain,请使用:

  type: 'InvalidDomain'
  domainName: 'string'

对于 NonPartiallyPlaceService,请使用:

  type: 'NonPartiallyPlaceService'

对于 PreferredPrimaryDomain,请使用:

  type: 'PreferredPrimaryDomain'
  domainName: 'string'

对于 RequiredDomain,请使用:

  type: 'RequiredDomain'
  domainName: 'string'

对于 RequiredDomainDistribution,请使用:

  type: 'RequiredDomainDistribution'
  domainName: 'string'

属性值

managedclusters/applications/services

名称 说明
name 资源名称

了解如何在 Bicep 中为子资源设置名称和类型。
字符串 (必需)
location 资源位置取决于父资源。 字符串
标记 Azure 资源标记。 标记名称和值的字典。 请参阅 模板中的标记
父级 (parent) 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源之外的子资源
类型为“应用程序”的资源的符号名称
properties 服务资源属性。 ServiceResourceProperties

ServiceResourceProperties

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

ServiceCorrelation

名称 说明
scheme 描述此服务与通过 ServiceName 指定的服务之间的关系的 ServiceCorrelationScheme。 'AlignedAffinity'
“NonAlignedAffinity” (必需)
serviceName 与之建立关联关系的服务的 Arm 资源 ID。 字符串 (必需)

分区

名称 说明
partitionScheme 设置对象类型 名为
Singleton
UniformInt64Range (必需)

NamedPartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 “Named” (必需)
姓名 分区名称的数组。 string[] (必需)

SingletonPartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 需要“单一实例” ()

UniformInt64RangePartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 需要“UniformInt64Range” ()
count 分区数。 int (必需)
highKey 分区键范围的上限
应在分区“Count”之间拆分
int (必需)
lowKey 分区键范围的下限
应在分区“Count”之间拆分
int (必需)

ScalingPolicy

名称 说明
scalingMechanism 指定与此缩放策略关联的机制 ScalingMechanism (必需)
scalingTrigger 指定与此缩放策略关联的触发器。 需要 ScalingTrigger ()

ScalingMechanism

名称 说明
kind 设置对象类型 AddRemoveIncrementalNamedPartition
ScalePartitionInstanceCount (必需)

AddRemoveIncrementalNamedPartitionScalingMechanism

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

PartitionInstanceCountScaleMechanism

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

ScalingTrigger

名称 说明
kind 设置对象类型 AveragePartitionLoadTrigger
AverageServiceLoadTrigger (必需)

AveragePartitionLoadScalingTrigger

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

AverageServiceLoadScalingTrigger

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

ServiceLoadMetric

名称 说明
defaultLoad 仅用于无状态服务。 此服务为此指标创建的默认负载量(数字)。 int
name 指标的名称。 如果服务选择在运行时报告负载,则负载指标名称应与 Name 中指定的名称完全匹配。 请注意,度量值名称区分大小写。 字符串 (必需)
primaryDefaultLoad 仅用于有状态服务。 当此服务为主副本时为此度量值创建的默认负载量,以数字形式提供。 int
secondaryDefaultLoad 仅用于有状态服务。 当此服务为辅助副本时为此度量值创建的默认负载量,以数字形式提供。 int
重量 服务负载度量值的相对权重(相对于为此服务配置的其他度量值),以数字形式提供。 “高”
“低”
“中”
“零”

ServicePlacementPolicy

名称 说明 Value
type 设置对象类型 InvalidDomain
NonPartiallyPlaceService
PreferredPrimaryDomain
RequiredDomain
RequiredDomainDistribution (必需)

ServicePlacementInvalidDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “InvalidDomain” (必需)
domainName 不应用于放置的域的名称。 字符串 (必需)

ServicePlacementNonPartiallyPlaceServicePolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “NonPartiallyPlaceService” (必需)

ServicePlacementPreferPrimaryDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “PreferredPrimaryDomain” (必需)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

ServicePlacementRequiredDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomain” (必需)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

ServicePlacementRequireDomainDistributionPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomainDistribution” (必需)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

StatefulServiceProperties

名称 说明
serviceKind (无状态或有状态) 的服务类型。 “有状态” (必需)
hasPersistedState 一个标志,指示此是否是在本地磁盘上存储状态的持久性服务。 如果为 ,则此属性的值为 true,否则为 false。 bool
minReplicaSetSize 数字形式的最小副本集大小。 int

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

约束:
最小值 = 1

StatelessServiceProperties

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

ARM 模板资源定义

managedclusters/applications/services 资源类型可以使用面向以下对象的操作进行部署:

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

资源格式

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

{
  "type": "Microsoft.ServiceFabric/managedclusters/applications/services",
  "apiVersion": "2023-03-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "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
  }
}

ServiceResourceProperties 对象

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

对于 有状态,请使用:

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

对于 无状态,请使用:

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

分区对象

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

对于 “命名”,请使用:

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

对于 Singleton,请使用:

  "partitionScheme": "Singleton"

对于 UniformInt64Range,请使用:

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

ScalingMechanism 对象

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

对于 AddRemoveIncrementalNamedPartition,请使用:

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

对于 ScalePartitionInstanceCount,请使用:

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

ScalingTrigger 对象

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

对于 AveragePartitionLoadTrigger,请使用:

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

对于 AverageServiceLoadTrigger,请使用:

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

ServicePlacementPolicy 对象

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

对于 InvalidDomain,请使用:

  "type": "InvalidDomain",
  "domainName": "string"

对于 NonPartiallyPlaceService,请使用:

  "type": "NonPartiallyPlaceService"

对于 PreferredPrimaryDomain,请使用:

  "type": "PreferredPrimaryDomain",
  "domainName": "string"

对于 RequiredDomain,请使用:

  "type": "RequiredDomain",
  "domainName": "string"

对于 RequiredDomainDistribution,请使用:

  "type": "RequiredDomainDistribution",
  "domainName": "string"

属性值

managedclusters/applications/services

名称 说明 Value
type 资源类型 “Microsoft.ServiceFabric/managedclusters/applications/services”
apiVersion 资源 API 版本 “2023-03-01-preview”
name 资源名称

了解如何在 JSON ARM 模板中为子资源设置名称和类型。
字符串 (必需)
location 资源位置取决于父资源。 字符串
标记 Azure 资源标记。 标记名称和值的字典。 请参阅 模板中的标记
properties 服务资源属性。 ServiceResourceProperties

ServiceResourceProperties

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

ServiceCorrelation

名称 说明
scheme 描述此服务与通过 ServiceName 指定的服务之间的关系的 ServiceCorrelationScheme。 'AlignedAffinity'
“NonAlignedAffinity” (必需)
serviceName 与之建立关联关系的服务的 Arm 资源 ID。 字符串 (必需)

分区

名称 说明
partitionScheme 设置对象类型 名为
Singleton
UniformInt64Range (必需)

NamedPartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 “Named” (必需)
姓名 分区名称的数组。 string[] (必需)

SingletonPartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 需要“单一实例” ()

UniformInt64RangePartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 需要“UniformInt64Range” ()
count 分区数。 int (必需)
highKey 分区键范围的上限
应在分区“Count”之间拆分
int (必需)
lowKey 分区键范围的下限
应在分区“Count”之间拆分
int (必需)

ScalingPolicy

名称 说明
scalingMechanism 指定与此缩放策略关联的机制 ScalingMechanism (必需)
scalingTrigger 指定与此缩放策略关联的触发器。 需要 ScalingTrigger ()

ScalingMechanism

名称 说明
kind 设置对象类型 AddRemoveIncrementalNamedPartition
ScalePartitionInstanceCount (必需)

AddRemoveIncrementalNamedPartitionScalingMechanism

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

PartitionInstanceCountScaleMechanism

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

ScalingTrigger

名称 说明
kind 设置对象类型 AveragePartitionLoadTrigger
AverageServiceLoadTrigger (必需)

AveragePartitionLoadScalingTrigger

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

AverageServiceLoadScalingTrigger

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

ServiceLoadMetric

名称 说明
defaultLoad 仅用于无状态服务。 此服务为此指标创建的默认负载量(以数字表示)。 int
name 指标的名称。 如果服务选择在运行时报告负载,则负载指标名称应与 Name 中指定的名称完全匹配。 请注意,度量值名称区分大小写。 字符串 (必需)
primaryDefaultLoad 仅用于有状态服务。 当此服务为主副本时为此度量值创建的默认负载量,以数字形式提供。 int
secondaryDefaultLoad 仅用于有状态服务。 当此服务为辅助副本时为此度量值创建的默认负载量,以数字形式提供。 int
重量 服务负载度量值的相对权重(相对于为此服务配置的其他度量值),以数字形式提供。 “High”
'Low'
'Medium'
“Zero”

ServicePlacementPolicy

名称 说明 Value
type 设置对象类型 InvalidDomain
NonPartiallyPlaceService
PreferredPrimaryDomain
RequiredDomain
RequiredDomainDistribution (必需)

ServicePlacementInvalidDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 需要“InvalidDomain” ()
domainName 不应用于放置的域的名称。 字符串 (必需)

ServicePlacementNonPartiallyPlaceServicePolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 需要“NonPartiallyPlaceService” ()

ServicePlacementPreferPrimaryDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “PreferredPrimaryDomain” (必需)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

ServicePlacementRequiredDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomain” (必需)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

ServicePlacementRequireDomainDistributionPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomainDistribution” (必需的)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

StatefulServiceProperties

名称 说明
serviceKind (无状态或有状态) 的服务类型。 “有状态” (必需)
hasPersistedState 一个标志,指示这是否是在本地磁盘上存储状态的持久性服务。 如果为 ,则此属性的值为 true,否则为 false。 bool
minReplicaSetSize 数字形式的最小副本集大小。 int

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

约束:
最小值 = 1

StatelessServiceProperties

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

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

managedclusters/applications/services 资源类型可以使用面向以下对象的操作进行部署:

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/managedclusters/applications/services@2023-03-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  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
    }
  })
}

ServiceResourceProperties 对象

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

对于 有状态,请使用:

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

对于 无状态,请使用:

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

分区对象

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

对于 “命名”,请使用:

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

对于 Singleton,请使用:

  partitionScheme = "Singleton"

对于 UniformInt64Range,请使用:

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

ScalingMechanism 对象

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

对于 AddRemoveIncrementalNamedPartition,请使用:

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

对于 ScalePartitionInstanceCount,请使用:

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

ScalingTrigger 对象

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

对于 AveragePartitionLoadTrigger,请使用:

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

对于 AverageServiceLoadTrigger,请使用:

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

ServicePlacementPolicy 对象

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

对于 InvalidDomain,请使用:

  type = "InvalidDomain"
  domainName = "string"

对于 NonPartiallyPlaceService,请使用:

  type = "NonPartiallyPlaceService"

对于 PreferredPrimaryDomain,请使用:

  type = "PreferredPrimaryDomain"
  domainName = "string"

对于 RequiredDomain,请使用:

  type = "RequiredDomain"
  domainName = "string"

对于 RequiredDomainDistribution,请使用:

  type = "RequiredDomainDistribution"
  domainName = "string"

属性值

managedclusters/applications/services

名称 说明 Value
type 资源类型 “Microsoft.ServiceFabric/managedclusters/applications/services@2023-03-01-preview”
name 资源名称 字符串 (必需)
location 资源位置取决于父资源。 字符串
parent_id 此资源的父资源 ID。 类型为“应用程序”的资源的 ID
标记 Azure 资源标记。 标记名称和值的字典。
properties 服务资源属性。 ServiceResourceProperties

ServiceResourceProperties

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

ServiceCorrelation

名称 说明
scheme 描述此服务与通过 ServiceName 指定的服务之间的关系的 ServiceCorrelationScheme。 “AlignedAffinity”
需要“NonAlignedAffinity” ()
serviceName 与之建立关联关系的服务的 Arm 资源 ID。 字符串 (必需)

分区

名称 说明
partitionScheme 设置对象类型 名为
Singleton
UniformInt64Range (必需)

NamedPartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 “命名” ()
姓名 分区名称的数组。 string[] (必需)

SingletonPartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 需要“单一实例” ()

UniformInt64RangePartitionScheme

名称 说明
partitionScheme 指定服务的分区方式。 需要“UniformInt64Range” ()
count 分区数。 int (必需)
highKey 分区键范围的上限
应在分区“Count”之间拆分
int (必需)
lowKey 分区键范围的下限
应在分区“Count”之间拆分
int (必需)

ScalingPolicy

名称 说明
scalingMechanism 指定与此缩放策略关联的机制 ScalingMechanism (必需)
scalingTrigger 指定与此缩放策略关联的触发器。 需要 ScalingTrigger ()

ScalingMechanism

名称 说明
kind 设置对象类型 AddRemoveIncrementalNamedPartition
ScalePartitionInstanceCount (必需)

AddRemoveIncrementalNamedPartitionScalingMechanism

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

PartitionInstanceCountScaleMechanism

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

ScalingTrigger

名称 说明
kind 设置对象类型 AveragePartitionLoadTrigger
AverageServiceLoadTrigger (必需)

AveragePartitionLoadScalingTrigger

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

AverageServiceLoadScalingTrigger

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

ServiceLoadMetric

名称 说明
defaultLoad 仅用于无状态服务。 此服务为此指标创建的默认负载量(数字)。 int
name 指标的名称。 如果服务选择在运行时报告负载,则负载指标名称应与 Name 中指定的名称完全匹配。 请注意,度量值名称区分大小写。 字符串 (必需)
primaryDefaultLoad 仅用于有状态服务。 当此服务为主副本时为此度量值创建的默认负载量,以数字形式提供。 int
secondaryDefaultLoad 仅用于有状态服务。 当此服务为辅助副本时为此度量值创建的默认负载量,以数字形式提供。 int
重量 服务负载度量值的相对权重(相对于为此服务配置的其他度量值),以数字形式提供。 "High"
"Low"
“中”
“零”

ServicePlacementPolicy

名称 说明 Value
type 设置对象类型 InvalidDomain
NonPartiallyPlaceService
PreferredPrimaryDomain
RequiredDomain
RequiredDomainDistribution (必需)

ServicePlacementInvalidDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “InvalidDomain” (必需)
domainName 不应用于放置的域的名称。 字符串 (必需)

ServicePlacementNonPartiallyPlaceServicePolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “NonPartiallyPlaceService” (必需)

ServicePlacementPreferPrimaryDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “PreferredPrimaryDomain” (必需)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

ServicePlacementRequiredDomainPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomain” (必需的)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

ServicePlacementRequireDomainDistributionPolicy

名称 说明 Value
type Service Fabric 服务的放置策略的类型。 下面是可能的值。 “RequiredDomainDistribution” (必需)
domainName 应根据此策略用于放置的域的名称。 字符串 (必需)

StatefulServiceProperties

名称 说明
serviceKind (无状态或有状态) 的服务类型。 需要“有状态” ()
hasPersistedState 一个标志,指示此是否是在本地磁盘上存储状态的持久性服务。 如果为 ,则此属性的值为 true,否则为 false。 bool
minReplicaSetSize 数字形式的最小副本集大小。 int

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

约束:
最小值 = 1

StatelessServiceProperties

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