你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.Compute virtualMachineScaleSets 2023-09-01
Bicep 资源定义
可以使用目标操作部署 virtualMachineScaleSets 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachineScaleSets 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Compute/virtualMachineScaleSets@2023-09-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
capacity: int
name: 'string'
tier: 'string'
}
extendedLocation: {
name: 'string'
type: 'EdgeZone'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
plan: {
name: 'string'
product: 'string'
promotionCode: 'string'
publisher: 'string'
}
properties: {
additionalCapabilities: {
hibernationEnabled: bool
ultraSSDEnabled: bool
}
automaticRepairsPolicy: {
enabled: bool
gracePeriod: 'string'
repairAction: 'string'
}
constrainedMaximumCapacity: bool
doNotRunExtensionsOnOverprovisionedVMs: bool
hostGroup: {
id: 'string'
}
orchestrationMode: 'string'
overprovision: bool
platformFaultDomainCount: int
priorityMixPolicy: {
baseRegularPriorityCount: int
regularPriorityPercentageAboveBase: int
}
proximityPlacementGroup: {
id: 'string'
}
resiliencyPolicy: {
resilientVMCreationPolicy: {
enabled: bool
}
resilientVMDeletionPolicy: {
enabled: bool
}
}
scaleInPolicy: {
forceDeletion: bool
rules: [
'string'
]
}
singlePlacementGroup: bool
spotRestorePolicy: {
enabled: bool
restoreTimeout: 'string'
}
upgradePolicy: {
automaticOSUpgradePolicy: {
disableAutomaticRollback: bool
enableAutomaticOSUpgrade: bool
osRollingUpgradeDeferral: bool
useRollingUpgradePolicy: bool
}
mode: 'string'
rollingUpgradePolicy: {
enableCrossZoneUpgrade: bool
maxBatchInstancePercent: int
maxSurge: bool
maxUnhealthyInstancePercent: int
maxUnhealthyUpgradedInstancePercent: int
pauseTimeBetweenBatches: 'string'
prioritizeUnhealthyInstances: bool
rollbackFailedInstancesOnPolicyBreach: bool
}
}
virtualMachineProfile: {
applicationProfile: {
galleryApplications: [
{
configurationReference: 'string'
enableAutomaticUpgrade: bool
order: int
packageReferenceId: 'string'
tags: 'string'
treatFailureAsDeploymentFailure: bool
}
]
}
billingProfile: {
maxPrice: json('decimal-as-string')
}
capacityReservation: {
capacityReservationGroup: {
id: 'string'
}
}
diagnosticsProfile: {
bootDiagnostics: {
enabled: bool
storageUri: 'string'
}
}
evictionPolicy: 'string'
extensionProfile: {
extensions: [
{
name: 'string'
properties: {
autoUpgradeMinorVersion: bool
enableAutomaticUpgrade: bool
forceUpdateTag: 'string'
protectedSettings: any()
protectedSettingsFromKeyVault: {
secretUrl: 'string'
sourceVault: {
id: 'string'
}
}
provisionAfterExtensions: [
'string'
]
publisher: 'string'
settings: any()
suppressFailures: bool
type: 'string'
typeHandlerVersion: 'string'
}
}
]
extensionsTimeBudget: 'string'
}
hardwareProfile: {
vmSizeProperties: {
vCPUsAvailable: int
vCPUsPerCore: int
}
}
licenseType: 'string'
networkProfile: {
healthProbe: {
id: 'string'
}
networkApiVersion: '2020-11-01'
networkInterfaceConfigurations: [
{
name: 'string'
properties: {
auxiliaryMode: 'string'
auxiliarySku: 'string'
deleteOption: 'string'
disableTcpStateTracking: bool
dnsSettings: {
dnsServers: [
'string'
]
}
enableAcceleratedNetworking: bool
enableFpga: bool
enableIPForwarding: bool
ipConfigurations: [
{
name: 'string'
properties: {
applicationGatewayBackendAddressPools: [
{
id: 'string'
}
]
applicationSecurityGroups: [
{
id: 'string'
}
]
loadBalancerBackendAddressPools: [
{
id: 'string'
}
]
loadBalancerInboundNatPools: [
{
id: 'string'
}
]
primary: bool
privateIPAddressVersion: 'string'
publicIPAddressConfiguration: {
name: 'string'
properties: {
deleteOption: 'string'
dnsSettings: {
domainNameLabel: 'string'
domainNameLabelScope: 'string'
}
idleTimeoutInMinutes: int
ipTags: [
{
ipTagType: 'string'
tag: 'string'
}
]
publicIPAddressVersion: 'string'
publicIPPrefix: {
id: 'string'
}
}
sku: {
name: 'string'
tier: 'string'
}
}
subnet: {
id: 'string'
}
}
}
]
networkSecurityGroup: {
id: 'string'
}
primary: bool
}
}
]
}
osProfile: {
adminPassword: 'string'
adminUsername: 'string'
allowExtensionOperations: bool
computerNamePrefix: 'string'
customData: 'string'
linuxConfiguration: {
disablePasswordAuthentication: bool
enableVMAgentPlatformUpdates: bool
patchSettings: {
assessmentMode: 'string'
automaticByPlatformSettings: {
bypassPlatformSafetyChecksOnUserSchedule: bool
rebootSetting: 'string'
}
patchMode: 'string'
}
provisionVMAgent: bool
ssh: {
publicKeys: [
{
keyData: 'string'
path: 'string'
}
]
}
}
requireGuestProvisionSignal: bool
secrets: [
{
sourceVault: {
id: 'string'
}
vaultCertificates: [
{
certificateStore: 'string'
certificateUrl: 'string'
}
]
}
]
windowsConfiguration: {
additionalUnattendContent: [
{
componentName: 'Microsoft-Windows-Shell-Setup'
content: 'string'
passName: 'OobeSystem'
settingName: 'string'
}
]
enableAutomaticUpdates: bool
enableVMAgentPlatformUpdates: bool
patchSettings: {
assessmentMode: 'string'
automaticByPlatformSettings: {
bypassPlatformSafetyChecksOnUserSchedule: bool
rebootSetting: 'string'
}
enableHotpatching: bool
patchMode: 'string'
}
provisionVMAgent: bool
timeZone: 'string'
winRM: {
listeners: [
{
certificateUrl: 'string'
protocol: 'string'
}
]
}
}
}
priority: 'string'
scheduledEventsProfile: {
osImageNotificationProfile: {
enable: bool
notBeforeTimeout: 'string'
}
terminateNotificationProfile: {
enable: bool
notBeforeTimeout: 'string'
}
}
securityPostureReference: {
excludeExtensions: [
{
location: 'string'
properties: {
autoUpgradeMinorVersion: bool
enableAutomaticUpgrade: bool
forceUpdateTag: 'string'
instanceView: {
name: 'string'
statuses: [
{
code: 'string'
displayStatus: 'string'
level: 'string'
message: 'string'
time: 'string'
}
]
substatuses: [
{
code: 'string'
displayStatus: 'string'
level: 'string'
message: 'string'
time: 'string'
}
]
type: 'string'
typeHandlerVersion: 'string'
}
protectedSettings: any()
protectedSettingsFromKeyVault: {
secretUrl: 'string'
sourceVault: {
id: 'string'
}
}
provisionAfterExtensions: [
'string'
]
publisher: 'string'
settings: any()
suppressFailures: bool
type: 'string'
typeHandlerVersion: 'string'
}
tags: {}
}
]
id: 'string'
}
securityProfile: {
encryptionAtHost: bool
encryptionIdentity: {
userAssignedIdentityResourceId: 'string'
}
proxyAgentSettings: {
enabled: bool
keyIncarnationId: int
mode: 'string'
}
securityType: 'string'
uefiSettings: {
secureBootEnabled: bool
vTpmEnabled: bool
}
}
serviceArtifactReference: {
id: 'string'
}
storageProfile: {
dataDisks: [
{
caching: 'string'
createOption: 'string'
deleteOption: 'string'
diskIOPSReadWrite: int
diskMBpsReadWrite: int
diskSizeGB: int
lun: int
managedDisk: {
diskEncryptionSet: {
id: 'string'
}
securityProfile: {
diskEncryptionSet: {
id: 'string'
}
securityEncryptionType: 'string'
}
storageAccountType: 'string'
}
name: 'string'
writeAcceleratorEnabled: bool
}
]
diskControllerType: 'string'
imageReference: {
communityGalleryImageId: 'string'
id: 'string'
offer: 'string'
publisher: 'string'
sharedGalleryImageId: 'string'
sku: 'string'
version: 'string'
}
osDisk: {
caching: 'string'
createOption: 'string'
deleteOption: 'string'
diffDiskSettings: {
option: 'Local'
placement: 'string'
}
diskSizeGB: int
image: {
uri: 'string'
}
managedDisk: {
diskEncryptionSet: {
id: 'string'
}
securityProfile: {
diskEncryptionSet: {
id: 'string'
}
securityEncryptionType: 'string'
}
storageAccountType: 'string'
}
name: 'string'
osType: 'string'
vhdContainers: [
'string'
]
writeAcceleratorEnabled: bool
}
}
userData: 'string'
}
zoneBalance: bool
}
zones: [
'string' or int
]
}
属性值
virtualMachineScaleSets
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | string (必需) 字符限制:1-15 (Windows) 1-64 (Linux) 有效字符: 不能使用空格、控制字符或以下字符: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ? 不能以下划线开头。 不能以句点或连字符结尾。 |
位置 | 资源位置 | string (必需) |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
sku | 虚拟机规模集 SKU。 | Sku |
extendedLocation | 虚拟机规模集的扩展位置。 | ExtendedLocation |
身份 | 虚拟机规模集的标识(如果已配置)。 | VirtualMachineScaleSetIdentity |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机规模集的属性。 | VirtualMachineScaleSetProperties |
区 | 虚拟机规模集区域。 注意:只能在创建规模集时设置可用性区域 | 作为字符串或 int 的可用性区域数组。 |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
VirtualMachineScaleSetIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 用于虚拟机规模集的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机规模集中删除任何标识。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned” |
userAssignedIdentities | 与虚拟机规模集关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | UserAssignedIdentities |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentitiesValue |
UserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
VirtualMachineScaleSetProperties
名字 | 描述 | 价值 |
---|---|---|
additionalCapabilities | 指定在虚拟机规模集中的虚拟机上启用或禁用的其他功能。 例如:虚拟机是否能够支持使用 UltraSSD_LRS 存储帐户类型附加托管数据磁盘。 | AdditionalCapabilities |
automaticRepairsPolicy | 自动修复的策略。 | AutomaticRepairsPolicy |
constrainedMaximumCapacity | 必须设置为 True 或省略的可选属性。 | bool |
doNotRunExtensionsOnOverprovisionedVMs | 启用过度预配后,仅在请求的 VM 数量上启动扩展,这些 VM 最终会保留。 因此,此属性将确保扩展不会在额外的过度预配的 VM 上运行。 | bool |
hostGroup | 指定虚拟机规模集所在的专用主机组的信息。 最低 API 版本:2020-06-01。 | SubResource |
orchestrationMode | 指定虚拟机规模集的业务流程模式。 | “灵活” “Uniform” |
overprovision | 指定是否应过度预配虚拟机规模集。 | bool |
platformFaultDomainCount | 每个放置组的容错域计数。 | int |
priorityMixPolicy | 指定用于在同一 VMSS Flex 实例中混合现成和常规优先级 VM 的所需目标。 | PriorityMixPolicy |
proximityPlacementGroup | 指定应向其分配虚拟机规模集的邻近放置组的相关信息。 最低 api 版本:2018-04-01。 | SubResource |
resiliencyPolicy | 复原策略 | ResiliencyPolicy |
scaleInPolicy | 指定在虚拟机规模集中的虚拟机中缩放时应用的策略。 | ScaleInPolicy |
singlePlacementGroup | 如果为 true,则规模集限制为单个放置组,最大大小为 100 个虚拟机。 注意:如果 singlePlacementGroup 为 true,则可能会将其修改为 false。 但是,如果 singlePlacementGroup 为 false,则可能不会将其修改为 true。 | bool |
spotRestorePolicy | 指定虚拟机规模集的现成还原属性。 | SpotRestorePolicy |
upgradePolicy | 升级策略。 | UpgradePolicy |
virtualMachineProfile | 虚拟机配置文件。 | VirtualMachineScaleSetVMProfile |
zoneBalance | 如果发生区域中断,是否强制甚至跨 x 区域进行虚拟机分发。 仅当规模集的区域属性包含多个区域时,才能设置 zoneBalance 属性。 如果没有区域或仅指定一个区域,则不应设置 zoneBalance 属性。 | bool |
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
hibernationEnabled | 在 VM 上启用或禁用休眠功能的标志。 | bool |
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
AutomaticRepairsPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用自动修复。 默认值为 false。 | bool |
gracePeriod | 由于 VM 上的状态更改,自动修复暂停的时间。 状态更改完成后的宽限时间开始。 这有助于避免过早或意外修复。 持续时间应采用 ISO 8601 格式指定。 允许的最小宽限期为 10 分钟(PT10M),这也是默认值。 允许的最大宽限期为 90 分钟(PT90M)。 | 字符串 |
repairAction | 用于修复规模集中运行不正常的虚拟机的修复操作类型(替换、重启、重置映像)。 默认值将被替换。 | “Reimage” “Replace” “重启” |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
PriorityMixPolicy
名字 | 描述 | 价值 |
---|---|---|
baseRegularPriorityCount | 将在横向扩展时在此规模集中创建的常规优先级 VM 的基数。 | int 约束: 最小值 = 0 |
regularPriorityPercentageAboveBase | 达到基本常规优先级计数后,VM 实例的百分比应使用常规优先级。 | int 约束: 最小值 = 0 最大值 = 100 |
ResiliencyPolicy
名字 | 描述 | 价值 |
---|---|---|
resilientVMCreationPolicy | 执行可复原 VM 创建时使用的配置参数。 | ResilientVMCreationPolicy |
resilientVMDeletionPolicy | 执行弹性 VM 删除时使用的配置参数。 | ResilientVMDeletionPolicy |
ResilientVMCreationPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用可复原的 VM 创建。 默认值为 false。 | bool |
ResilientVMDeletionPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用可复原的 VM 删除。 默认值为 false。 | bool |
ScaleInPolicy
名字 | 描述 | 价值 |
---|---|---|
forceDeletion | 此属性允许指定在虚拟机规模集进行缩减时,是否必须强制删除选择删除的虚拟机。(预览版中的功能) | bool |
规则 | 在虚拟机规模集中进行缩放时要遵循的规则。 可能的值包括: 默认 当虚拟机规模集进行缩放时,如果规模集是区域性规模集,则规模集将首先跨区域均衡。 然后,它将尽可能跨容错域进行均衡。 在每个容错域中,选择删除的虚拟机将是不受横向扩展保护的最新虚拟机。 OldestVM 当虚拟机规模集正在缩减时,将选择不从横向扩展保护的最早虚拟机进行删除。 对于区域虚拟机规模集,规模集将首先跨区域均衡。 在每个区域中,将选择不受保护的最早虚拟机进行删除。 NewestVM 当虚拟机规模集进行缩减时,将选择不受横向缩减保护的最新虚拟机以供删除。 对于区域虚拟机规模集,规模集将首先跨区域均衡。 在每个区域中,将选择不受保护的最新虚拟机进行删除。 |
包含任一项的字符串数组: “Default” “NewestVM” “OldestVM” |
SpotRestorePolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 启用现成Try-Restore 功能,其中将尝试根据容量可用性和定价约束以机会方式还原逐出的 VMSS SPOT 实例 | bool |
restoreTimeout | 超时值表示为 ISO 8601 持续时间,之后平台不会尝试还原 VMSS SPOT 实例 | 字符串 |
UpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
automaticOSUpgradePolicy | 用于执行自动 OS 升级的配置参数。 | AutomaticOSUpgradePolicy |
模式 | 指定升级到规模集中虚拟机的模式。 可能的值包括: 手动 - 控制对规模集中虚拟机的更新的应用程序。 使用 manualUpgrade 操作执行此操作。 自动 - 规模集中的所有虚拟机同时自动更新。 |
“Automatic” “Manual” “滚动” |
rollingUpgradePolicy | 执行滚动升级时使用的配置参数。 | RollingUpgradePolicy |
AutomaticOSUpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
disableAutomaticRollback | 是否应禁用 OS 映像回滚功能。 默认值为 false。 | bool |
enableAutomaticOSUpgrade | 指示当较新版本的 OS 映像可用时,是否应以滚动方式自动将 OS 升级应用于规模集实例。 默认值为 false。 如果此选项设置为基于 Windows 的规模集,enableAutomaticUpdates 将自动设置为 false,并且不能设置为 true。 | bool |
osRollingUpgradeDeferral | 指示自动 OS 升级是否应延迟。 延迟的 OS 升级将根据每个 VM 发送高级通知,即通过 IMDS 标记“Platform.PendingOSUpgrade”从滚动升级进行 OS 升级。 然后,升级会延迟,直到通过 ApprovRollingUpgrade 调用批准升级。 | bool |
useRollingUpgradePolicy | 指示是否应在自动 OS 升级期间使用滚动升级策略。 默认值为 false。 如果未在 VMSS 上定义任何策略,则自动 OS 升级将回退到默认策略。 | bool |
RollingUpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
enableCrossZoneUpgrade | 允许 VMSS 在构造升级批处理时忽略 AZ 边界。 考虑 Update 域和 maxBatchInstancePercent 以确定批大小。 | bool |
maxBatchInstancePercent | 一批滚动升级同时升级的总虚拟机实例的最大百分比。 由于这是一个最大值,因此以前的或将来的批中的不正常实例可能会导致批处理中的实例百分比降低,以确保更高的可靠性。 此参数的默认值为 20%。 | int 约束: 最小值 = 5 最大值 = 100 |
maxSurge | 创建新的虚拟机来升级规模集,而不是更新现有虚拟机。 为每个批创建新虚拟机后,将删除现有虚拟机。 | bool |
maxUnhealthyInstancePercent | 规模集中可能同时运行不正常的虚拟机实例的最大百分比,无论是由于升级,还是虚拟机运行状况检查在滚动升级中止之前处于不正常状态。 在启动任何批处理之前,将检查此约束。 此参数的默认值为 20%。 | int 约束: 最小值 = 5 最大值 = 100 |
maxUnhealthyUpgradedInstancePercent | 可发现处于不正常状态的已升级虚拟机实例的最大百分比。 升级每个批处理后,将进行此检查。 如果超过此百分比,滚动更新将中止。 此参数的默认值为 20%。 | int 约束: 最小值 = 0 最大值 = 100 |
pauseTimeBetweenBatches | 完成一批中所有虚拟机的更新和开始下一批之间的等待时间。 持续时间应采用 ISO 8601 格式指定。 默认值为 0 秒(PT0S)。 | 字符串 |
prioritizeUnhealthyInstances | 在任何正常运行的实例之前,升级规模集中的所有不正常实例。 | bool |
rollbackFailedInstancesOnPolicyBreach | 如果违反滚动升级策略,回滚失败实例到以前的模型。 | bool |
VirtualMachineScaleSetVMProfile
名字 | 描述 | 价值 |
---|---|---|
applicationProfile | 指定应提供给 VM/VMSS 的库应用程序 | ApplicationProfile |
billingProfile | 指定 Azure 现成 VMSS 的计费相关详细信息。 最低 API 版本:2019-03-01。 | BillingProfile |
capacityReservation | 指定规模集的容量预留相关详细信息。 最低 API 版本:2021-04-01。 | CapacityReservationProfile |
diagnosticsProfile | 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 | DiagnosticsProfile |
evictionPolicy | 指定 Azure 现成虚拟机和 Azure Spot 规模集的逐出策略。 对于 Azure 现成虚拟机,支持“解除分配”和“删除”,最低 API 版本为 2019-03-01。 对于 Azure Spot 规模集,支持“Deallocate”和“Delete”,最低 API 版本为 2017-10-30-preview。 | “Deallocate” “Delete” |
extensionProfile | 指定规模集中虚拟机上安装的扩展的设置集合。 | VirtualMachineScaleSetExtensionProfile |
hardwareProfile | 指定规模集的硬件配置文件相关详细信息。 最低 api 版本:2021-11-01。 | VirtualMachineScaleSetHardwareProfile |
licenseType | 指定正在使用的映像或磁盘在本地获得许可。 Windows Server 操作系统的可能值为: Windows_Client Windows_Server Linux Server 操作系统的可能值为: RHEL_BYOS(适用于 RHEL) SLES_BYOS(对于 SUSE) 有关详细信息,请参阅 Windows Server 的 Azure 混合使用权益 Linux Server 的 Azure 混合使用权益 最低 API 版本:2015-06-15 |
字符串 |
networkProfile | 指定规模集中虚拟机网络接口的属性。 | VirtualMachineScaleSetNetworkProfile |
osProfile | 指定规模集中虚拟机的操作系统设置。 | VirtualMachineScaleSetOSProfile |
优先权 | 指定规模集中虚拟机的优先级。 最低 api 版本:2017-10-30-preview。 | “Low” “Regular” “Spot” |
scheduledEventsProfile | 指定与计划事件相关的配置。 | ScheduledEventsProfile |
securityPostureReference | 指定要用于规模集中所有虚拟机的安全状况。 最低 API 版本:2023-03-01 | SecurityPostureReference |
securityProfile | 指定规模集中虚拟机的安全相关配置文件设置。 | SecurityProfile |
serviceArtifactReference | 指定使用“latest”映像版本时,用于为规模集中的所有虚拟机设置相同映像版本的服务项目引用 ID。 最低 API 版本:2022-11-01 | ServiceArtifactReference |
storageProfile | 指定虚拟机磁盘的存储设置。 | VirtualMachineScaleSetStorageProfile |
userData | 规模集中虚拟机的 UserData,必须进行 base-64 编码。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01。 | 字符串 |
ApplicationProfile
名字 | 描述 | 价值 |
---|---|---|
galleryApplications | 指定应提供给 VM/VMSS 的库应用程序 | VMGalleryApplication[] |
VMGalleryApplication
名字 | 描述 | 价值 |
---|---|---|
configurationReference | 可选,指定 Azure Blob 的 URI,该 URI 将替换包的默认配置(如果提供) | 字符串 |
enableAutomaticUpgrade | 如果设置为 true,当 PIR/SIG 中提供了新的库应用程序版本时,它将自动更新 VM/VMSS | bool |
次序 | 可选,指定包必须安装的顺序 | int |
packageReferenceId | 指定 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/applications/{application}/versions/{version} 形式的 GalleryApplicationVersion 资源 ID | string (必需) |
标签 | 可选,指定更多泛型上下文的传递值。 | 字符串 |
treatFailureAsDeploymentFailure | 可选,如果为 true,则 VmApplication 中任何操作的任何失败都会使部署失败 | bool |
BillingProfile
名字 | 描述 | 价值 |
---|---|---|
maxPrice | 指定愿意为 Azure 现成 VM/VMSS 付费的最高价格。 这个价格是美元。 此价格将与 VM 大小的当前 Azure 现成价格进行比较。 此外,价格是在创建/更新 Azure 现成 VM/VMSS 时进行比较的,并且仅当 maxPrice 大于当前 Azure 现成价格时,该操作才会成功。 如果当前 Azure 现成价格超出创建 VM/VMSS 后的最大价格,maxPrice 还将用于逐出 Azure 现成 VM/VMSS。 可能的值包括: - 大于零的任何十进制值。 示例:0.01538 -1 – 指示按需 up-to 的默认价格。 可以将 maxPrice 设置为 -1,以指示出于价格原因不应逐出 Azure Spot VM/VMSS。 此外,如果未提供默认最大价格,则 -1。 最低 API 版本:2019-03-01。 若要指定十进制值,请使用 json() 函数。 |
int 或 json decimal |
CapacityReservationProfile
名字 | 描述 | 价值 |
---|---|---|
capacityReservationGroup | 指定容量预留组资源 ID,该 ID 应用于分配已保留足够容量的虚拟机或规模集 VM 实例。 有关详细信息,请参阅 https://aka.ms/CapacityReservation 。 |
SubResource |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 注意:如果指定 storageUri,请确保存储帐户与 VM 位于同一区域和订阅中。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 | BootDiagnostics |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 | 字符串 |
VirtualMachineScaleSetExtensionProfile
名字 | 描述 | 价值 |
---|---|---|
扩展 | 虚拟机规模集子扩展资源。 | VirtualMachineScaleSetExtension[] |
extensionsTimeBudget | 指定分配所有扩展开始的时间。 持续时间应介于 15 分钟到 120 分钟(含)之间,应采用 ISO 8601 格式指定。 默认值为 90 分钟(PT1H30M)。 最低 API 版本:2020-06-01。 | 字符串 |
VirtualMachineScaleSetExtension
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展的名称。 | 字符串 |
性能 | 描述虚拟机规模集扩展的属性。 | VirtualMachineScaleSetExtensionProperties |
VirtualMachineScaleSetExtensionProperties
名字 | 描述 | 价值 |
---|---|---|
autoUpgradeMinorVersion | 指示扩展是否应在部署时使用较新的次要版本。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。 | bool |
enableAutomaticUpgrade | 指示如果有较新版本的扩展可用,平台是否应自动升级扩展。 | bool |
forceUpdateTag | 如果提供值并且与上一个值不同,则即使扩展配置未更改,扩展处理程序也会强制更新。 | 字符串 |
protectedSettings | 该扩展可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或者根本不包含受保护的设置。 | 对于 Bicep,可以使用 any() 函数。 |
protectedSettingsFromKeyVault | 由引用传递的扩展保护的设置,并从密钥保管库使用 | KeyVaultSecretReference |
provisionAfterExtensions | 需要预配此扩展的扩展名称的集合。 | string[] |
发行人 | 扩展处理程序发布者的名称。 | 字符串 |
设置 | 扩展的 Json 格式公共设置。 | 对于 Bicep,可以使用 any() 函数。 |
suppressFailures | 指示是否取消来自扩展的故障(不连接到 VM 等操作故障不会取消,而不管此值如何)。 默认值为 false。 | bool |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
VirtualMachineScaleSetHardwareProfile
名字 | 描述 | 价值 |
---|---|---|
vmSizeProperties | 指定用于自定义虚拟机大小的属性。 最低 api 版本:2021-11-01。 有关详细信息,请按照 VM 自定义 中的说明进行操作。 | VMSizeProperties |
VMSizeProperties
名字 | 描述 | 价值 |
---|---|---|
vCPUUsAvailable | 指定可用于 VM 的 vCPU 数。 如果未在请求正文中指定此属性,则默认行为是将其设置为 api 响应中公开的 vCPU 的值,列出区域中所有可用的虚拟机大小。 | int |
vCPUUsPerCore | 指定 vCPU 与物理核心比率。 如果未在请求正文中指定此属性,则默认行为设置为 api 响应中公开的 vm 大小的 vCPUUsPerCore 值,列出区域中的所有可用虚拟机大小。 将此属性设置为 1 也意味着禁用了超线程处理。 | int |
VirtualMachineScaleSetNetworkProfile
名字 | 描述 | 价值 |
---|---|---|
healthProbe | 对负载均衡器探测的引用,用于确定虚拟机规模集中实例的运行状况。 引用的格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}”。 | ApiEntityReference |
networkApiVersion | 指定使用业务流程模式“灵活”在虚拟机规模集的网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 | '2020-11-01' |
networkInterfaceConfigurations | 网络配置列表。 | VirtualMachineScaleSetNetworkConfiguration[] |
ApiEntityReference
名字 | 描述 | 价值 |
---|---|---|
id | /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID | 字符串 |
VirtualMachineScaleSetNetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | 网络配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集网络配置文件的 IP 配置。 | VirtualMachineScaleSetNetworkConfigurationProperties |
VirtualMachineScaleSetNetworkConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
auxiliaryMode | 指定是否为网络接口资源启用辅助模式。 | “AcceleratedConnections” “浮动” “None” |
auxiliarySku | 指定是否为网络接口资源启用辅助 SKU。 | “A1” “A2” “A4” “A8” “None” |
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “Detach” |
disableTcpStateTracking | 指定是否为 tcp 状态跟踪禁用网络接口。 | bool |
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineScaleSetNetworkConfigurationDnsSetting... |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineScaleSetIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineScaleSetNetworkConfigurationDnsSetting...
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineScaleSetIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | IP 配置名称。 | string (必需) |
性能 | 描述虚拟机规模集网络配置文件的 IP 配置属性。 | VirtualMachineScaleSetIPConfigurationProperties |
VirtualMachineScaleSetIPConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
applicationGatewayBackendAddressPools | 指定对应用程序网关后端地址池的引用数组。 规模集可以引用多个应用程序网关的后端地址池。 多个规模集不能使用相同的应用程序网关。 | SubResource[] |
applicationSecurityGroups | 指定对应用程序安全组的引用数组。 | SubResource[] |
loadBalancerBackendAddressPools | 指定对负载均衡器后端地址池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 | SubResource[] |
loadBalancerInboundNatPools | 指定对负载均衡器的入站 Nat 池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的入站 NAT 池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 | SubResource[] |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
privateIPAddressVersion | 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAddressConfiguration | publicIPAddressConfiguration。 | VirtualMachineScaleSetPublicIPAddressConfiguration |
子 | 指定子网的标识符。 | ApiEntityReference |
VirtualMachineScaleSetPublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 | VirtualMachineScaleSetPublicIPAddressConfigurationPr... |
sku | 描述公共 IP Sku。 只能将 OrchestrationMode 设置为灵活。 | PublicIPAddressSku |
VirtualMachineScaleSetPublicIPAddressConfigurationPr...
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时公共 IP 会发生什么情况 | “Delete” “Detach” |
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachineScaleSetPublicIPAddressConfigurationDn... |
idleTimeoutInMinutes | 公共 IP 地址的空闲超时。 | int |
ipTags | 与公共 IP 地址关联的 IP 标记列表。 | VirtualMachineScaleSetIpTag[] |
publicIPAddressVersion | 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPPrefix | 要从中分配 publicIP 地址的 PublicIPPrefix。 | SubResource |
VirtualMachineScaleSetPublicIPAddressConfigurationDn...
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 | string (必需) |
domainNameLabelScope | 域名标签范围。根据域名标签范围和 vm 索引的策略生成的哈希域名标签的串联将是将创建的 PublicIPAddress 资源的域名标签 | “NoReuse” “ResourceGroupReuse” “SubscriptionReuse” “TenantReuse” |
VirtualMachineScaleSetIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
PublicIPAddressSku
名字 | 描述 | 价值 |
---|---|---|
名字 | 指定公共 IP SKU 名称 | “Basic” “Standard” |
层 | 指定公共 IP SKU 层 | “Global” “区域” |
VirtualMachineScaleSetOSProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度(Windows): 8 个字符 最小长度(Linux): 6 个字符 最大长度(Windows): 123 个字符 最大长度(Linux): 72 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” 若要重置密码,请参阅 如何在 Windows VM 中重置远程桌面服务或其登录密码 有关重置根密码,请参阅 使用 VMAccess 扩展 管理用户、SSH 并检查或修复 Azure Linux VM 上的磁盘 |
字符串 约束: 敏感值。 以安全参数的形式传入。 |
adminUsername | 指定管理员帐户的名称。 仅限 Windows 的限制: 不能以“.” 结尾。 不允许的值:“administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度(Linux): 1 个字符 最大长度(Linux): 64 个字符 最大长度(Windows): 20 个字符 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机规模集上允许扩展操作。 仅当虚拟机规模集上没有扩展时,此选项才可设置为 False。 | bool |
computerNamePrefix | 指定规模集中所有虚拟机的计算机名称前缀。 计算机名称前缀长度必须为 1 到 15 个字符。 | 字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 有关为 VM 使用 cloud-init,请参阅 使用 cloud-init 在创建期间自定义 Linux VM | 字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux。 | LinuxConfiguration |
requireGuestProvisionSignal | 必须设置为 True 或省略的可选属性。 | bool |
秘密 | 指定应在规模集中的虚拟机上安装的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
enableVMAgentPlatformUpdates | 指示是否为 Linux 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 | bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
automaticByPlatformSettings | 指定 Linux 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 | LinuxVMGuestPatchAutomaticByPlatformSettings |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
LinuxVMGuestPatchAutomaticByPlatformSettings
名字 | 描述 | 价值 |
---|---|---|
bypassPlatformSafetyChecksOnUserSchedule | 使客户能够在不意外升级的情况下计划修补 | bool |
rebootSetting | 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 | “Always” “IfRequired” “永不” “未知” |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 [在 Azure 中为 Linux VM 在 Linux 和 Mac 上创建 SSH 密钥]/azure/virtual-machines/linux/create-ssh-keys-detailed。 | 字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VaultCertificate
名字 | 描述 | 价值 |
---|---|---|
certificateStore | 对于 Windows VM,指定应向其添加证书的虚拟机上的证书存储。 指定的证书存储隐式位于 LocalMachine 帐户中。 对于 Linux VM,证书文件位于 /var/lib/waagent 目录下,文件名为 X509 证书文件 <大写Thumbprint>.crt,<用于私钥的 uppercaseThumbprint>.prv。 这两个文件都是 .pem 格式的。 | 字符串 |
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
字符串 |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
additionalUnattendContent | 指定其他 base-64 编码的 XML 格式信息,这些信息可以包含在 Windows 安装程序使用的 Unattend.xml 文件中。 | AdditionalUnattendContent[] |
enableAutomaticUpdates | 指示是否为 Windows 虚拟机启用自动更新。 默认值为 true。 对于虚拟机规模集,可以更新此属性,更新将对 OS 重新预配生效。 | bool |
enableVMAgentPlatformUpdates | 指示是否为 Windows 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 | bool |
patchSettings | [预览功能]指定与 Windows 上的 VM 来宾修补相关的设置。 | PatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认情况下此属性设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 | bool |
timeZone | 指定虚拟机的时区。 例如“太平洋标准时间”。 可能的值可以从 TimeZoneInfo.GetSystemTimeZones返回的时区 TimeZoneInfo.Id 值。 | 字符串 |
winRM | 指定 Windows 远程管理侦听器。 这将启用远程 Windows PowerShell。 | WinRMConfiguration |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到 unattend.xml 文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补程序评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
automaticByPlatformSettings | 指定 Windows 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 | WindowsVMGuestPatchAutomaticByPlatformSettings |
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “Manual” |
WindowsVMGuestPatchAutomaticByPlatformSettings
名字 | 描述 | 价值 |
---|---|---|
bypassPlatformSafetyChecksOnUserSchedule | 使客户能够在不意外升级的情况下计划修补 | bool |
rebootSetting | 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 | “Always” “IfRequired” “永不” “未知” |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值为:http、https。 | “Http” “Https” |
ScheduledEventsProfile
名字 | 描述 | 价值 |
---|---|---|
osImageNotificationProfile | 指定 OS 映像计划事件相关配置。 | OSImageNotificationProfile |
terminateNotificationProfile | 指定终止计划事件相关配置。 | TerminateNotificationProfile |
OSImageNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用 OS 映像计划事件。 | bool |
notBeforeTimeout | 虚拟机重新映像或升级其 OS 的时间长度将不得不在事件自动批准(超时)之前批准 OS 映像计划事件。 配置以 ISO 8601 格式指定,该值必须为 15 分钟(PT15M) | 字符串 |
TerminateNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用终止计划事件。 | bool |
notBeforeTimeout | 删除虚拟机的可配置时间长度可能需要在事件自动批准(超时)之前批准终止计划事件。 必须以 ISO 8601 格式指定配置,默认值为 5 分钟(PT5M) | 字符串 |
SecurityPostureReference
名字 | 描述 | 价值 |
---|---|---|
excludeExtensions | 应用安全状况时要排除的虚拟机扩展列表。 | VirtualMachineExtension[] |
id | 安全状况引用 ID,格式为 /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch},{major.*},latest | 字符串 |
VirtualMachineExtension
名字 | 描述 | 价值 |
---|---|---|
位置 | 资源位置 | 字符串 |
性能 | 描述虚拟机扩展的属性。 | VirtualMachineExtensionProperties |
标签 | 资源标记 | 对象 |
VirtualMachineExtensionProperties
名字 | 描述 | 价值 |
---|---|---|
autoUpgradeMinorVersion | 指示扩展是否应在部署时使用较新的次要版本。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。 | bool |
enableAutomaticUpgrade | 指示如果有较新版本的扩展可用,平台是否应自动升级扩展。 | bool |
forceUpdateTag | 即使扩展配置未更改,扩展处理程序也应强制更新。 | 字符串 |
instanceView | 虚拟机扩展实例视图。 | VirtualMachineExtensionInstanceView |
protectedSettings | 该扩展可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或者根本不包含受保护的设置。 | 对于 Bicep,可以使用 any() 函数。 |
protectedSettingsFromKeyVault | 由引用传递的扩展保护的设置,并从密钥保管库使用 | KeyVaultSecretReference |
provisionAfterExtensions | 需要预配此扩展的扩展名称的集合。 | string[] |
发行人 | 扩展处理程序发布者的名称。 | 字符串 |
设置 | 扩展的 Json 格式公共设置。 | 对于 Bicep,可以使用 any() 函数。 |
suppressFailures | 指示是否取消来自扩展的故障(不连接到 VM 等操作故障不会取消,而不管此值如何)。 默认值为 false。 | bool |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
VirtualMachineExtensionInstanceView
名字 | 描述 | 价值 |
---|---|---|
名字 | 虚拟机扩展名称。 | 字符串 |
状态 | 资源状态信息。 | InstanceViewStatus[] |
substatuses | 资源状态信息。 | InstanceViewStatus[] |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
InstanceViewStatus
名字 | 描述 | 价值 |
---|---|---|
法典 | 状态代码。 | 字符串 |
displayStatus | 状态的简短可本地化标签。 | 字符串 |
水平 | 级别代码。 | “Error” “Info” “Warning” |
消息 | 详细状态消息,包括警报和错误消息。 | 字符串 |
时间 | 状态的时间。 | 字符串 |
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认行为为:除非将此属性设置为 true,否则将禁用主机上的加密。 | bool |
encryptionIdentity | 指定 ADE 用于获取 keyvault 操作的访问令牌的托管标识。 | EncryptionIdentity |
proxyAgentSettings | 在创建虚拟机时指定 ProxyAgent 设置。 最低 API 版本:2023-09-01。 | ProxyAgentSettings |
securityType | 指定虚拟机的 SecurityType。 必须将其设置为任何指定值才能启用 UefiSettings。 默认行为为:除非设置了此属性,否则不会启用 UefiSettings。 | “ConfidentialVM” “TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 api 版本:2020-12-01。 | UefiSettings |
EncryptionIdentity
名字 | 描述 | 价值 |
---|---|---|
userAssignedIdentityResourceId | 指定与 VM 关联的用户标识之一的 ARM 资源 ID。 | 字符串 |
ProxyAgentSettings
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机或虚拟机规模集上启用 ProxyAgent 功能。 | bool |
keyIncarnationId | 增加此属性的值允许用户重置用于保护来宾和主机之间的通信通道的密钥。 | int |
模式 | 指定在启用该功能时 ProxyAgent 将执行的模式。 ProxyAgent 将开始审核或监视,但不强制对审核模式下主机终结点的请求实施访问控制,而在“强制”模式下,将强制实施访问控制。 默认值为“强制”模式。 | “Audit” “强制” |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 api 版本:2020-12-01。 | bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 api 版本:2020-12-01。 | bool |
ServiceArtifactReference
名字 | 描述 | 价值 |
---|---|---|
id | 以 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} 的形式的服务项目引用 ID | 字符串 |
VirtualMachineScaleSetStorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向规模集中的虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 | VirtualMachineScaleSetDataDisk[] |
diskControllerType | 字符串 | |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关规模集中虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 | VirtualMachineScaleSetOSDisk |
VirtualMachineScaleSetDataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认值为:标准存储的 None。高级存储的 ReadOnly。 | “None” “ReadOnly” “ReadWrite” |
createOption | 创建选项。 | “Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在 VMSS Flex 删除时是否应删除或分离数据磁盘(此功能仅适用于具有灵活 OrchestrationMode 的 VMSS)。 可能的值: 删除 如果使用此值,则删除 VMSS Flex VM 时删除数据磁盘。 分离 如果使用此值,则在删除 VMSS Flex VM 后保留数据磁盘。 默认值设置为 Delete。 |
“Delete” “Detach” |
diskIOPSReadWrite | 指定托管磁盘的 Read-Write IOPS。 仅当 StorageAccountType UltraSSD_LRS时才应使用。 如果未指定,则会根据 diskSizeGB 分配默认值。 | int |
diskMBpsReadWrite | 指定托管磁盘的带宽(以 MB/秒为单位)。 仅当 StorageAccountType UltraSSD_LRS时才应使用。 如果未指定,则会根据 diskSizeGB 分配默认值。 | int |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性 diskSizeGB 是磁盘的字节数 x 1024^3,该值不能大于 1023。 | int |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | VirtualMachineScaleSetManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
VirtualMachineScaleSetManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
securityProfile | 指定托管磁盘的安全配置文件。 | VMDiskSecurityProfile |
storageAccountType | 指定托管磁盘的存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “PremiumV2_LRS” “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
VMDiskSecurityProfile
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定用于客户托管密钥加密的 ConfidentialVM OS 磁盘和 VMGuest Blob 的托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
securityEncryptionType | 指定托管磁盘的 EncryptionType。 它设置为 DiskWithVMGuestState,用于加密托管磁盘以及 VMGuestState blob、VMGuestStateOnly 以仅加密 VMGuestState blob,并将 NonPersistedTPM 设置为不保留 VMGuestState blob 中的固件状态。 注意: 只能为机密 VM 设置它。 | “DiskWithVMGuestState” “NonPersistedTPM” “VMGuestStateOnly” |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
communityGalleryImageId | 为 vm 部署指定社区库映像唯一 ID。 这可以从社区库映像 GET 调用中提取。 | 字符串 |
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sharedGalleryImageId | 为 vm 部署指定共享库映像唯一 ID。 这可以从共享库映像 GET 调用中提取。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 请不要对库映像部署使用字段“version”,库映像应始终使用“id”字段进行部署,若要使用库映像的“latest”版本,只需在“id”字段中设置“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}”,而不输入版本。 | 字符串 |
VirtualMachineScaleSetOSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认值为:标准存储的 None。高级存储的 ReadOnly。 | “None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建规模集中的虚拟机。 唯一允许的值是:FromImage。 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 | “Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在 VMSS Flex 删除时是否应删除或分离 OS 磁盘(此功能仅适用于具有灵活 OrchestrationMode 的 VMSS)。 可能的值: 删除 如果使用此值,则删除 VMSS Flex VM 时会删除 OS 磁盘。 分离 如果使用此值,则会在删除 VMSS Flex VM 后保留 OS 磁盘。 默认值设置为 Delete。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 |
“Delete” “Detach” |
diffDiskSettings | 指定虚拟机规模集使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 | int |
图像 | 指定要基于规模集的非托管用户映像的信息。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | VirtualMachineScaleSetManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括:Windows、Linux。 | “Linux” “Windows” |
vhdContainers | 指定用于存储规模集操作系统磁盘的容器 URL。 | string[] |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值为: |
“CacheDisk” “ResourceDisk” |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
Sku
名字 | 描述 | 价值 |
---|---|---|
能力 | 指定规模集中的虚拟机数。 | int |
名字 | SKU 名称。 | 字符串 |
层 | 指定规模集中的虚拟机层。 可能的值: 标准 基本 |
字符串 |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
使用 LB 探测和自动修复部署 VM 规模集 |
使用此模板,可以在配置了运行状况探测的负载均衡器后面部署一组 Linux VM 规模集。 规模集还启用了自动实例修复策略,宽限期为 30 分钟。 |
部署将每个 VM 连接到 Azure 文件共享的 VMSS |
此模板部署 Ubuntu 虚拟机规模集,并使用自定义脚本扩展将每个 VM 连接到 Azure 文件共享 |
使用自定义脚本扩展部署 Windows VM 规模集 |
使用此模板,可以使用各种 Windows 版本的最新修补版本部署 Windows VM 的 VM 规模集。 这些 VM 具有用于自定义的自定义脚本扩展,并且位于负载均衡器后面,其中包含用于 rdp 连接的 NAT 规则。 |
将规模集部署到现有 vnet |
此模板将 VM 规模集部署到一个前发的 vnet 中。 |
将多个 VM 添加到虚拟机规模集 |
此模板将使用托管磁盘、公共 IP 和网络接口创建 N 个 VM 数量。 它将在灵活业务流程模式下在虚拟机规模集中创建 VM。 它们将在虚拟网络中预配,该虚拟网络也将作为部署的一部分创建 |
VMSS 灵活业务流程模式快速入门 Linux |
此模板部署一个简单的 VM 规模集,其中包含 Azure 负载均衡器后面的实例。 VM 规模集处于灵活的业务流程模式。 使用 os 参数选择 Linux(Ubuntu)或 Windows(Windows Server Datacenter 2019)部署。 注意:本快速入门模板允许从任何 Internet 地址访问 VM 管理端口(SSH、RDP),并且不应用于生产部署。 |
在 ILB 后面部署具有 Linux VM 的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 15.10 或 14.04.4-LTS 部署 VM 规模集。 这些 VM 位于内部负载均衡器后面,其中包含 SSH 连接的 NAT 规则。 |
使用 Linux 自定义映像部署 VM 规模集 |
此模板允许在规模集中部署自定义 VM Linux 映像。 这些 VM 位于具有 HTTP 负载均衡的负载均衡器后面(默认情况下在端口 80 上)。 该示例使用自定义脚本执行应用程序部署和更新,可能需要为自己的更新过程提供自定义脚本。 必须在创建 VMSS 的同一订阅和区域中提供 VM 的通用化映像。 |
使用 Linux VM 部署简单的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 部署简单的 Linux VM 规模集。 这些 VM 位于具有 SSH 连接的 NAT 规则的负载均衡器后面。 |
在可用性区域中部署具有 Linux VM 的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 部署简单的 Linux VM 规模集。 这些 VM 位于具有 SSH 连接的 NAT 规则的负载均衡器后面。 |
部署 Linux VMSS 主要/辅助体系结构 |
使用此模板,可以在主要辅助体系结构中使用自定义脚本扩展部署 Linux VMSS |
使用 Linux VM 和每个 VM 的公共 IPv4 简单 VM 规模集 |
此模板演示如何为每个 VM 部署一个包含负载均衡器、入站 NAT 规则和公共 IP 的简单规模集。 |
部署支持受信任的启动的 Windows VM 规模集 |
使用此模板,可以使用最新修补版本的 Windows Server 2016、Windows Server 2019 或 Windows Server 2022 Azure Edition 部署支持受信任的启动的 Windows VM 规模集。 这些 VM 位于具有 RDP 连接的 NAT 规则的负载均衡器后面。 如果启用 Secureboot 和 vTPM,则会在 VMSS 上安装来宾证明扩展。 此扩展将通过云执行远程 证明。 |
使用 Azure 应用程序网关部署 Ubuntu VM 规模集 |
此模板允许部署与 Azure 应用程序网关集成的简单 Ubuntu VM 规模集,并支持最多 1000 个 VM |
使用 Linux VM 和自动缩放 部署 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 15.04 或 14.04.4-LTS 部署简单的 LINUX VM 规模集。 这些 VM 位于具有 SSH 连接的 NAT 规则的负载均衡器后面。它们还集成了自动缩放 |
已启用 SSL 的 VM 规模集 |
使用安全部署的 SSL 证书部署 Web 服务器配置 Azure Key Vault |
将规模集部署到 Windows 上的现有 vnet |
此模板将 Windows 2016 Datacenter VM 规模集部署到除名资源组、vnet 和子网中。 |
使用 Azure 应用程序网关部署 Windows VM 规模集 |
此模板允许部署与 Azure 应用程序网关集成的简单 Windows VM 规模集,并支持最多 1000 个 VM |
使用 Windows VM 和自动缩放 部署 VM 规模集 |
使用此模板,可以使用最新修补版本的 Windows 2008-R2-SP1、2012-Datacenter 或 2012-R2-Datacenter 部署简单的 WINDOWS VM 规模集。 这些 VM 位于具有 RDP 连接的 NAT 规则的负载均衡器后面。 它们还集成了自动缩放 |
使用 Windows 自定义映像部署 VM 规模集 |
使用此模板可以部署简单的 VM 规模集,从而部署自定义 Windows 映像。 这些 VM 位于具有 HTTP 负载均衡的负载均衡器后面(默认情况下在端口 80 上) |
使用 Windows VM 部署简单的 VM 规模集 |
使用此模板,可以使用各种 Windows 版本的最新修补版本部署简单的 Windows VM 规模集。 这些 VM 位于负载均衡器后面,其中包含用于 rdp 连接的 NAT 规则。 |
在可用性区域中部署具有 Windows VM 的 VM 规模集 |
使用此模板,可以使用各种 Windows 版本的最新修补版本部署 Windows VM 的 VM 规模集。 这些 VM 位于负载均衡器后面,其中包含用于 rdp 连接的 NAT 规则。 |
使用公共 IP 前缀 |
用于部署具有公共 IP 前缀的 VMSS 的模板 |
ARM 模板资源定义
可以使用目标操作部署 virtualMachineScaleSets 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachineScaleSets 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"apiVersion": "2023-09-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"capacity": "int",
"name": "string",
"tier": "string"
},
"extendedLocation": {
"name": "string",
"type": "EdgeZone"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"plan": {
"name": "string",
"product": "string",
"promotionCode": "string",
"publisher": "string"
},
"properties": {
"additionalCapabilities": {
"hibernationEnabled": "bool",
"ultraSSDEnabled": "bool"
},
"automaticRepairsPolicy": {
"enabled": "bool",
"gracePeriod": "string",
"repairAction": "string"
},
"constrainedMaximumCapacity": "bool",
"doNotRunExtensionsOnOverprovisionedVMs": "bool",
"hostGroup": {
"id": "string"
},
"orchestrationMode": "string",
"overprovision": "bool",
"platformFaultDomainCount": "int",
"priorityMixPolicy": {
"baseRegularPriorityCount": "int",
"regularPriorityPercentageAboveBase": "int"
},
"proximityPlacementGroup": {
"id": "string"
},
"resiliencyPolicy": {
"resilientVMCreationPolicy": {
"enabled": "bool"
},
"resilientVMDeletionPolicy": {
"enabled": "bool"
}
},
"scaleInPolicy": {
"forceDeletion": "bool",
"rules": [ "string" ]
},
"singlePlacementGroup": "bool",
"spotRestorePolicy": {
"enabled": "bool",
"restoreTimeout": "string"
},
"upgradePolicy": {
"automaticOSUpgradePolicy": {
"disableAutomaticRollback": "bool",
"enableAutomaticOSUpgrade": "bool",
"osRollingUpgradeDeferral": "bool",
"useRollingUpgradePolicy": "bool"
},
"mode": "string",
"rollingUpgradePolicy": {
"enableCrossZoneUpgrade": "bool",
"maxBatchInstancePercent": "int",
"maxSurge": "bool",
"maxUnhealthyInstancePercent": "int",
"maxUnhealthyUpgradedInstancePercent": "int",
"pauseTimeBetweenBatches": "string",
"prioritizeUnhealthyInstances": "bool",
"rollbackFailedInstancesOnPolicyBreach": "bool"
}
},
"virtualMachineProfile": {
"applicationProfile": {
"galleryApplications": [
{
"configurationReference": "string",
"enableAutomaticUpgrade": "bool",
"order": "int",
"packageReferenceId": "string",
"tags": "string",
"treatFailureAsDeploymentFailure": "bool"
}
]
},
"billingProfile": {
"maxPrice": "[json('decimal-as-string')]"
},
"capacityReservation": {
"capacityReservationGroup": {
"id": "string"
}
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": "bool",
"storageUri": "string"
}
},
"evictionPolicy": "string",
"extensionProfile": {
"extensions": [
{
"name": "string",
"properties": {
"autoUpgradeMinorVersion": "bool",
"enableAutomaticUpgrade": "bool",
"forceUpdateTag": "string",
"protectedSettings": {},
"protectedSettingsFromKeyVault": {
"secretUrl": "string",
"sourceVault": {
"id": "string"
}
},
"provisionAfterExtensions": [ "string" ],
"publisher": "string",
"settings": {},
"suppressFailures": "bool",
"type": "string",
"typeHandlerVersion": "string"
}
}
],
"extensionsTimeBudget": "string"
},
"hardwareProfile": {
"vmSizeProperties": {
"vCPUsAvailable": "int",
"vCPUsPerCore": "int"
}
},
"licenseType": "string",
"networkProfile": {
"healthProbe": {
"id": "string"
},
"networkApiVersion": "2020-11-01",
"networkInterfaceConfigurations": [
{
"name": "string",
"properties": {
"auxiliaryMode": "string",
"auxiliarySku": "string",
"deleteOption": "string",
"disableTcpStateTracking": "bool",
"dnsSettings": {
"dnsServers": [ "string" ]
},
"enableAcceleratedNetworking": "bool",
"enableFpga": "bool",
"enableIPForwarding": "bool",
"ipConfigurations": [
{
"name": "string",
"properties": {
"applicationGatewayBackendAddressPools": [
{
"id": "string"
}
],
"applicationSecurityGroups": [
{
"id": "string"
}
],
"loadBalancerBackendAddressPools": [
{
"id": "string"
}
],
"loadBalancerInboundNatPools": [
{
"id": "string"
}
],
"primary": "bool",
"privateIPAddressVersion": "string",
"publicIPAddressConfiguration": {
"name": "string",
"properties": {
"deleteOption": "string",
"dnsSettings": {
"domainNameLabel": "string",
"domainNameLabelScope": "string"
},
"idleTimeoutInMinutes": "int",
"ipTags": [
{
"ipTagType": "string",
"tag": "string"
}
],
"publicIPAddressVersion": "string",
"publicIPPrefix": {
"id": "string"
}
},
"sku": {
"name": "string",
"tier": "string"
}
},
"subnet": {
"id": "string"
}
}
}
],
"networkSecurityGroup": {
"id": "string"
},
"primary": "bool"
}
}
]
},
"osProfile": {
"adminPassword": "string",
"adminUsername": "string",
"allowExtensionOperations": "bool",
"computerNamePrefix": "string",
"customData": "string",
"linuxConfiguration": {
"disablePasswordAuthentication": "bool",
"enableVMAgentPlatformUpdates": "bool",
"patchSettings": {
"assessmentMode": "string",
"automaticByPlatformSettings": {
"bypassPlatformSafetyChecksOnUserSchedule": "bool",
"rebootSetting": "string"
},
"patchMode": "string"
},
"provisionVMAgent": "bool",
"ssh": {
"publicKeys": [
{
"keyData": "string",
"path": "string"
}
]
}
},
"requireGuestProvisionSignal": "bool",
"secrets": [
{
"sourceVault": {
"id": "string"
},
"vaultCertificates": [
{
"certificateStore": "string",
"certificateUrl": "string"
}
]
}
],
"windowsConfiguration": {
"additionalUnattendContent": [
{
"componentName": "Microsoft-Windows-Shell-Setup",
"content": "string",
"passName": "OobeSystem",
"settingName": "string"
}
],
"enableAutomaticUpdates": "bool",
"enableVMAgentPlatformUpdates": "bool",
"patchSettings": {
"assessmentMode": "string",
"automaticByPlatformSettings": {
"bypassPlatformSafetyChecksOnUserSchedule": "bool",
"rebootSetting": "string"
},
"enableHotpatching": "bool",
"patchMode": "string"
},
"provisionVMAgent": "bool",
"timeZone": "string",
"winRM": {
"listeners": [
{
"certificateUrl": "string",
"protocol": "string"
}
]
}
}
},
"priority": "string",
"scheduledEventsProfile": {
"osImageNotificationProfile": {
"enable": "bool",
"notBeforeTimeout": "string"
},
"terminateNotificationProfile": {
"enable": "bool",
"notBeforeTimeout": "string"
}
},
"securityPostureReference": {
"excludeExtensions": [
{
"location": "string",
"properties": {
"autoUpgradeMinorVersion": "bool",
"enableAutomaticUpgrade": "bool",
"forceUpdateTag": "string",
"instanceView": {
"name": "string",
"statuses": [
{
"code": "string",
"displayStatus": "string",
"level": "string",
"message": "string",
"time": "string"
}
],
"substatuses": [
{
"code": "string",
"displayStatus": "string",
"level": "string",
"message": "string",
"time": "string"
}
],
"type": "string",
"typeHandlerVersion": "string"
},
"protectedSettings": {},
"protectedSettingsFromKeyVault": {
"secretUrl": "string",
"sourceVault": {
"id": "string"
}
},
"provisionAfterExtensions": [ "string" ],
"publisher": "string",
"settings": {},
"suppressFailures": "bool",
"type": "string",
"typeHandlerVersion": "string"
},
"tags": {}
}
],
"id": "string"
},
"securityProfile": {
"encryptionAtHost": "bool",
"encryptionIdentity": {
"userAssignedIdentityResourceId": "string"
},
"proxyAgentSettings": {
"enabled": "bool",
"keyIncarnationId": "int",
"mode": "string"
},
"securityType": "string",
"uefiSettings": {
"secureBootEnabled": "bool",
"vTpmEnabled": "bool"
}
},
"serviceArtifactReference": {
"id": "string"
},
"storageProfile": {
"dataDisks": [
{
"caching": "string",
"createOption": "string",
"deleteOption": "string",
"diskIOPSReadWrite": "int",
"diskMBpsReadWrite": "int",
"diskSizeGB": "int",
"lun": "int",
"managedDisk": {
"diskEncryptionSet": {
"id": "string"
},
"securityProfile": {
"diskEncryptionSet": {
"id": "string"
},
"securityEncryptionType": "string"
},
"storageAccountType": "string"
},
"name": "string",
"writeAcceleratorEnabled": "bool"
}
],
"diskControllerType": "string",
"imageReference": {
"communityGalleryImageId": "string",
"id": "string",
"offer": "string",
"publisher": "string",
"sharedGalleryImageId": "string",
"sku": "string",
"version": "string"
},
"osDisk": {
"caching": "string",
"createOption": "string",
"deleteOption": "string",
"diffDiskSettings": {
"option": "Local",
"placement": "string"
},
"diskSizeGB": "int",
"image": {
"uri": "string"
},
"managedDisk": {
"diskEncryptionSet": {
"id": "string"
},
"securityProfile": {
"diskEncryptionSet": {
"id": "string"
},
"securityEncryptionType": "string"
},
"storageAccountType": "string"
},
"name": "string",
"osType": "string",
"vhdContainers": [ "string" ],
"writeAcceleratorEnabled": "bool"
}
},
"userData": "string"
},
"zoneBalance": "bool"
},
"zones": [ "string" or int ]
}
属性值
virtualMachineScaleSets
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.Compute/virtualMachineScaleSets” |
apiVersion | 资源 API 版本 | '2023-09-01' |
名字 | 资源名称 | string (必需) 字符限制:1-15 (Windows) 1-64 (Linux) 有效字符: 不能使用空格、控制字符或以下字符: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ? 不能以下划线开头。 不能以句点或连字符结尾。 |
位置 | 资源位置 | string (必需) |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
sku | 虚拟机规模集 SKU。 | Sku |
extendedLocation | 虚拟机规模集的扩展位置。 | ExtendedLocation |
身份 | 虚拟机规模集的标识(如果已配置)。 | VirtualMachineScaleSetIdentity |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机规模集的属性。 | VirtualMachineScaleSetProperties |
区 | 虚拟机规模集区域。 注意:只能在创建规模集时设置可用性区域 | 作为字符串或 int 的可用性区域数组。 |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
VirtualMachineScaleSetIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 用于虚拟机规模集的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机规模集中删除任何标识。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned” |
userAssignedIdentities | 与虚拟机规模集关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | UserAssignedIdentities |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentitiesValue |
UserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
VirtualMachineScaleSetProperties
名字 | 描述 | 价值 |
---|---|---|
additionalCapabilities | 指定在虚拟机规模集中的虚拟机上启用或禁用的其他功能。 例如:虚拟机是否能够支持使用 UltraSSD_LRS 存储帐户类型附加托管数据磁盘。 | AdditionalCapabilities |
automaticRepairsPolicy | 自动修复的策略。 | AutomaticRepairsPolicy |
constrainedMaximumCapacity | 必须设置为 True 或省略的可选属性。 | bool |
doNotRunExtensionsOnOverprovisionedVMs | 启用过度预配后,仅在请求的 VM 数量上启动扩展,这些 VM 最终会保留。 因此,此属性将确保扩展不会在额外的过度预配的 VM 上运行。 | bool |
hostGroup | 指定虚拟机规模集所在的专用主机组的信息。 最低 API 版本:2020-06-01。 | SubResource |
orchestrationMode | 指定虚拟机规模集的业务流程模式。 | “灵活” “Uniform” |
overprovision | 指定是否应过度预配虚拟机规模集。 | bool |
platformFaultDomainCount | 每个放置组的容错域计数。 | int |
priorityMixPolicy | 指定用于在同一 VMSS Flex 实例中混合现成和常规优先级 VM 的所需目标。 | PriorityMixPolicy |
proximityPlacementGroup | 指定应向其分配虚拟机规模集的邻近放置组的相关信息。 最低 api 版本:2018-04-01。 | SubResource |
resiliencyPolicy | 复原策略 | ResiliencyPolicy |
scaleInPolicy | 指定在虚拟机规模集中的虚拟机中缩放时应用的策略。 | ScaleInPolicy |
singlePlacementGroup | 如果为 true,则规模集限制为单个放置组,最大大小为 100 个虚拟机。 注意:如果 singlePlacementGroup 为 true,则可能会将其修改为 false。 但是,如果 singlePlacementGroup 为 false,则可能不会将其修改为 true。 | bool |
spotRestorePolicy | 指定虚拟机规模集的现成还原属性。 | SpotRestorePolicy |
upgradePolicy | 升级策略。 | UpgradePolicy |
virtualMachineProfile | 虚拟机配置文件。 | VirtualMachineScaleSetVMProfile |
zoneBalance | 如果发生区域中断,是否强制甚至跨 x 区域进行虚拟机分发。 仅当规模集的区域属性包含多个区域时,才能设置 zoneBalance 属性。 如果没有区域或仅指定一个区域,则不应设置 zoneBalance 属性。 | bool |
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
hibernationEnabled | 在 VM 上启用或禁用休眠功能的标志。 | bool |
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
AutomaticRepairsPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用自动修复。 默认值为 false。 | bool |
gracePeriod | 由于 VM 上的状态更改,自动修复暂停的时间。 状态更改完成后的宽限时间开始。 这有助于避免过早或意外修复。 持续时间应采用 ISO 8601 格式指定。 允许的最小宽限期为 10 分钟(PT10M),这也是默认值。 允许的最大宽限期为 90 分钟(PT90M)。 | 字符串 |
repairAction | 用于修复规模集中运行不正常的虚拟机的修复操作类型(替换、重启、重置映像)。 默认值将被替换。 | “Reimage” “Replace” “重启” |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
PriorityMixPolicy
名字 | 描述 | 价值 |
---|---|---|
baseRegularPriorityCount | 将在横向扩展时在此规模集中创建的常规优先级 VM 的基数。 | int 约束: 最小值 = 0 |
regularPriorityPercentageAboveBase | 达到基本常规优先级计数后,VM 实例的百分比应使用常规优先级。 | int 约束: 最小值 = 0 最大值 = 100 |
ResiliencyPolicy
名字 | 描述 | 价值 |
---|---|---|
resilientVMCreationPolicy | 执行可复原 VM 创建时使用的配置参数。 | ResilientVMCreationPolicy |
resilientVMDeletionPolicy | 执行弹性 VM 删除时使用的配置参数。 | ResilientVMDeletionPolicy |
ResilientVMCreationPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用可复原的 VM 创建。 默认值为 false。 | bool |
ResilientVMDeletionPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用可复原的 VM 删除。 默认值为 false。 | bool |
ScaleInPolicy
名字 | 描述 | 价值 |
---|---|---|
forceDeletion | 此属性允许指定在虚拟机规模集进行缩减时,是否必须强制删除选择删除的虚拟机。(预览版中的功能) | bool |
规则 | 在虚拟机规模集中进行缩放时要遵循的规则。 可能的值包括: 默认 当虚拟机规模集进行缩放时,如果规模集是区域性规模集,则规模集将首先跨区域均衡。 然后,它将尽可能跨容错域进行均衡。 在每个容错域中,选择删除的虚拟机将是不受横向扩展保护的最新虚拟机。 OldestVM 当虚拟机规模集正在缩减时,将选择不从横向扩展保护的最早虚拟机进行删除。 对于区域虚拟机规模集,规模集将首先跨区域均衡。 在每个区域中,将选择不受保护的最早虚拟机进行删除。 NewestVM 当虚拟机规模集进行缩减时,将选择不受横向缩减保护的最新虚拟机以供删除。 对于区域虚拟机规模集,规模集将首先跨区域均衡。 在每个区域中,将选择不受保护的最新虚拟机进行删除。 |
包含任一项的字符串数组: “Default” “NewestVM” “OldestVM” |
SpotRestorePolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 启用现成Try-Restore 功能,其中将尝试根据容量可用性和定价约束以机会方式还原逐出的 VMSS SPOT 实例 | bool |
restoreTimeout | 超时值表示为 ISO 8601 持续时间,之后平台不会尝试还原 VMSS SPOT 实例 | 字符串 |
UpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
automaticOSUpgradePolicy | 用于执行自动 OS 升级的配置参数。 | AutomaticOSUpgradePolicy |
模式 | 指定升级到规模集中虚拟机的模式。 可能的值包括: 手动 - 控制对规模集中虚拟机的更新的应用程序。 使用 manualUpgrade 操作执行此操作。 自动 - 规模集中的所有虚拟机同时自动更新。 |
“Automatic” “Manual” “滚动” |
rollingUpgradePolicy | 执行滚动升级时使用的配置参数。 | RollingUpgradePolicy |
AutomaticOSUpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
disableAutomaticRollback | 是否应禁用 OS 映像回滚功能。 默认值为 false。 | bool |
enableAutomaticOSUpgrade | 指示当较新版本的 OS 映像可用时,是否应以滚动方式自动将 OS 升级应用于规模集实例。 默认值为 false。 如果此选项设置为基于 Windows 的规模集,enableAutomaticUpdates 将自动设置为 false,并且不能设置为 true。 | bool |
osRollingUpgradeDeferral | 指示自动 OS 升级是否应延迟。 延迟的 OS 升级将根据每个 VM 发送高级通知,即通过 IMDS 标记“Platform.PendingOSUpgrade”从滚动升级进行 OS 升级。 然后,升级会延迟,直到通过 ApprovRollingUpgrade 调用批准升级。 | bool |
useRollingUpgradePolicy | 指示是否应在自动 OS 升级期间使用滚动升级策略。 默认值为 false。 如果未在 VMSS 上定义任何策略,则自动 OS 升级将回退到默认策略。 | bool |
RollingUpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
enableCrossZoneUpgrade | 允许 VMSS 在构造升级批处理时忽略 AZ 边界。 考虑 Update 域和 maxBatchInstancePercent 以确定批大小。 | bool |
maxBatchInstancePercent | 一批滚动升级同时升级的总虚拟机实例的最大百分比。 由于这是一个最大值,因此以前的或将来的批中的不正常实例可能会导致批处理中的实例百分比降低,以确保更高的可靠性。 此参数的默认值为 20%。 | int 约束: 最小值 = 5 最大值 = 100 |
maxSurge | 创建新的虚拟机来升级规模集,而不是更新现有虚拟机。 为每个批创建新虚拟机后,将删除现有虚拟机。 | bool |
maxUnhealthyInstancePercent | 规模集中可能同时运行不正常的虚拟机实例的最大百分比,无论是由于升级,还是虚拟机运行状况检查在滚动升级中止之前处于不正常状态。 在启动任何批处理之前,将检查此约束。 此参数的默认值为 20%。 | int 约束: 最小值 = 5 最大值 = 100 |
maxUnhealthyUpgradedInstancePercent | 可发现处于不正常状态的已升级虚拟机实例的最大百分比。 升级每个批处理后,将进行此检查。 如果超过此百分比,滚动更新将中止。 此参数的默认值为 20%。 | int 约束: 最小值 = 0 最大值 = 100 |
pauseTimeBetweenBatches | 完成一批中所有虚拟机的更新和开始下一批之间的等待时间。 持续时间应采用 ISO 8601 格式指定。 默认值为 0 秒(PT0S)。 | 字符串 |
prioritizeUnhealthyInstances | 在任何正常运行的实例之前,升级规模集中的所有不正常实例。 | bool |
rollbackFailedInstancesOnPolicyBreach | 如果违反滚动升级策略,回滚失败实例到以前的模型。 | bool |
VirtualMachineScaleSetVMProfile
名字 | 描述 | 价值 |
---|---|---|
applicationProfile | 指定应提供给 VM/VMSS 的库应用程序 | ApplicationProfile |
billingProfile | 指定 Azure 现成 VMSS 的计费相关详细信息。 最低 API 版本:2019-03-01。 | BillingProfile |
capacityReservation | 指定规模集的容量预留相关详细信息。 最低 API 版本:2021-04-01。 | CapacityReservationProfile |
diagnosticsProfile | 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 | DiagnosticsProfile |
evictionPolicy | 指定 Azure 现成虚拟机和 Azure Spot 规模集的逐出策略。 对于 Azure 现成虚拟机,支持“解除分配”和“删除”,最低 API 版本为 2019-03-01。 对于 Azure Spot 规模集,支持“Deallocate”和“Delete”,最低 API 版本为 2017-10-30-preview。 | “Deallocate” “Delete” |
extensionProfile | 指定规模集中虚拟机上安装的扩展的设置集合。 | VirtualMachineScaleSetExtensionProfile |
hardwareProfile | 指定规模集的硬件配置文件相关详细信息。 最低 api 版本:2021-11-01。 | VirtualMachineScaleSetHardwareProfile |
licenseType | 指定正在使用的映像或磁盘在本地获得许可。 Windows Server 操作系统的可能值为: Windows_Client Windows_Server Linux Server 操作系统的可能值为: RHEL_BYOS(适用于 RHEL) SLES_BYOS(对于 SUSE) 有关详细信息,请参阅 Windows Server 的 Azure 混合使用权益 Linux Server 的 Azure 混合使用权益 最低 API 版本:2015-06-15 |
字符串 |
networkProfile | 指定规模集中虚拟机网络接口的属性。 | VirtualMachineScaleSetNetworkProfile |
osProfile | 指定规模集中虚拟机的操作系统设置。 | VirtualMachineScaleSetOSProfile |
优先权 | 指定规模集中虚拟机的优先级。 最低 api 版本:2017-10-30-preview。 | “Low” “Regular” “Spot” |
scheduledEventsProfile | 指定与计划事件相关的配置。 | ScheduledEventsProfile |
securityPostureReference | 指定要用于规模集中所有虚拟机的安全状况。 最低 API 版本:2023-03-01 | SecurityPostureReference |
securityProfile | 指定规模集中虚拟机的安全相关配置文件设置。 | SecurityProfile |
serviceArtifactReference | 指定使用“latest”映像版本时,用于为规模集中的所有虚拟机设置相同映像版本的服务项目引用 ID。 最低 API 版本:2022-11-01 | ServiceArtifactReference |
storageProfile | 指定虚拟机磁盘的存储设置。 | VirtualMachineScaleSetStorageProfile |
userData | 规模集中虚拟机的 UserData,必须进行 base-64 编码。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01。 | 字符串 |
ApplicationProfile
名字 | 描述 | 价值 |
---|---|---|
galleryApplications | 指定应提供给 VM/VMSS 的库应用程序 | VMGalleryApplication[] |
VMGalleryApplication
名字 | 描述 | 价值 |
---|---|---|
configurationReference | 可选,指定 Azure Blob 的 URI,该 URI 将替换包的默认配置(如果提供) | 字符串 |
enableAutomaticUpgrade | 如果设置为 true,当 PIR/SIG 中提供了新的库应用程序版本时,它将自动更新 VM/VMSS | bool |
次序 | 可选,指定包必须安装的顺序 | int |
packageReferenceId | 指定 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/applications/{application}/versions/{version} 形式的 GalleryApplicationVersion 资源 ID | string (必需) |
标签 | 可选,指定更多泛型上下文的传递值。 | 字符串 |
treatFailureAsDeploymentFailure | 可选,如果为 true,则 VmApplication 中任何操作的任何失败都会使部署失败 | bool |
BillingProfile
名字 | 描述 | 价值 |
---|---|---|
maxPrice | 指定愿意为 Azure 现成 VM/VMSS 付费的最高价格。 这个价格是美元。 此价格将与 VM 大小的当前 Azure 现成价格进行比较。 此外,价格是在创建/更新 Azure 现成 VM/VMSS 时进行比较的,并且仅当 maxPrice 大于当前 Azure 现成价格时,该操作才会成功。 如果当前 Azure 现成价格超出创建 VM/VMSS 后的最大价格,maxPrice 还将用于逐出 Azure 现成 VM/VMSS。 可能的值包括: - 大于零的任何十进制值。 示例:0.01538 -1 – 指示按需 up-to 的默认价格。 可以将 maxPrice 设置为 -1,以指示出于价格原因不应逐出 Azure Spot VM/VMSS。 此外,如果未提供默认最大价格,则 -1。 最低 API 版本:2019-03-01。 若要指定十进制值,请使用 json() 函数。 |
int 或 json decimal |
CapacityReservationProfile
名字 | 描述 | 价值 |
---|---|---|
capacityReservationGroup | 指定容量预留组资源 ID,该 ID 应用于分配已保留足够容量的虚拟机或规模集 VM 实例。 有关详细信息,请参阅 https://aka.ms/CapacityReservation 。 |
SubResource |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 注意:如果指定 storageUri,请确保存储帐户与 VM 位于同一区域和订阅中。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 | BootDiagnostics |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 | 字符串 |
VirtualMachineScaleSetExtensionProfile
名字 | 描述 | 价值 |
---|---|---|
扩展 | 虚拟机规模集子扩展资源。 | VirtualMachineScaleSetExtension[] |
extensionsTimeBudget | 指定分配所有扩展开始的时间。 持续时间应介于 15 分钟到 120 分钟(含)之间,应采用 ISO 8601 格式指定。 默认值为 90 分钟(PT1H30M)。 最低 API 版本:2020-06-01。 | 字符串 |
VirtualMachineScaleSetExtension
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展的名称。 | 字符串 |
性能 | 描述虚拟机规模集扩展的属性。 | VirtualMachineScaleSetExtensionProperties |
VirtualMachineScaleSetExtensionProperties
名字 | 描述 | 价值 |
---|---|---|
autoUpgradeMinorVersion | 指示扩展是否应在部署时使用较新的次要版本。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。 | bool |
enableAutomaticUpgrade | 指示如果有较新版本的扩展可用,平台是否应自动升级扩展。 | bool |
forceUpdateTag | 如果提供值并且与上一个值不同,则即使扩展配置未更改,扩展处理程序也会强制更新。 | 字符串 |
protectedSettings | 该扩展可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或者根本不包含受保护的设置。 | |
protectedSettingsFromKeyVault | 由引用传递的扩展保护的设置,并从密钥保管库使用 | KeyVaultSecretReference |
provisionAfterExtensions | 需要预配此扩展的扩展名称的集合。 | string[] |
发行人 | 扩展处理程序发布者的名称。 | 字符串 |
设置 | 扩展的 Json 格式公共设置。 | |
suppressFailures | 指示是否取消来自扩展的故障(不连接到 VM 等操作故障不会取消,而不管此值如何)。 默认值为 false。 | bool |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
VirtualMachineScaleSetHardwareProfile
名字 | 描述 | 价值 |
---|---|---|
vmSizeProperties | 指定用于自定义虚拟机大小的属性。 最低 api 版本:2021-11-01。 有关详细信息,请按照 VM 自定义 中的说明进行操作。 | VMSizeProperties |
VMSizeProperties
名字 | 描述 | 价值 |
---|---|---|
vCPUUsAvailable | 指定可用于 VM 的 vCPU 数。 如果未在请求正文中指定此属性,则默认行为是将其设置为 api 响应中公开的 vCPU 的值,列出区域中所有可用的虚拟机大小。 | int |
vCPUUsPerCore | 指定 vCPU 与物理核心比率。 如果未在请求正文中指定此属性,则默认行为设置为 api 响应中公开的 vm 大小的 vCPUUsPerCore 值,列出区域中的所有可用虚拟机大小。 将此属性设置为 1 也意味着禁用了超线程处理。 | int |
VirtualMachineScaleSetNetworkProfile
名字 | 描述 | 价值 |
---|---|---|
healthProbe | 对负载均衡器探测的引用,用于确定虚拟机规模集中实例的运行状况。 引用的格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}”。 | ApiEntityReference |
networkApiVersion | 指定使用业务流程模式“灵活”在虚拟机规模集的网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 | '2020-11-01' |
networkInterfaceConfigurations | 网络配置列表。 | VirtualMachineScaleSetNetworkConfiguration[] |
ApiEntityReference
名字 | 描述 | 价值 |
---|---|---|
id | /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID | 字符串 |
VirtualMachineScaleSetNetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | 网络配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集网络配置文件的 IP 配置。 | VirtualMachineScaleSetNetworkConfigurationProperties |
VirtualMachineScaleSetNetworkConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
auxiliaryMode | 指定是否为网络接口资源启用辅助模式。 | “AcceleratedConnections” “浮动” “None” |
auxiliarySku | 指定是否为网络接口资源启用辅助 SKU。 | “A1” “A2” “A4” “A8” “None” |
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “Detach” |
disableTcpStateTracking | 指定是否为 tcp 状态跟踪禁用网络接口。 | bool |
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineScaleSetNetworkConfigurationDnsSetting... |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineScaleSetIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineScaleSetNetworkConfigurationDnsSetting...
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineScaleSetIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | IP 配置名称。 | string (必需) |
性能 | 描述虚拟机规模集网络配置文件的 IP 配置属性。 | VirtualMachineScaleSetIPConfigurationProperties |
VirtualMachineScaleSetIPConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
applicationGatewayBackendAddressPools | 指定对应用程序网关后端地址池的引用数组。 规模集可以引用多个应用程序网关的后端地址池。 多个规模集不能使用相同的应用程序网关。 | SubResource[] |
applicationSecurityGroups | 指定对应用程序安全组的引用数组。 | SubResource[] |
loadBalancerBackendAddressPools | 指定对负载均衡器后端地址池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 | SubResource[] |
loadBalancerInboundNatPools | 指定对负载均衡器的入站 Nat 池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的入站 NAT 池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 | SubResource[] |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
privateIPAddressVersion | 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAddressConfiguration | publicIPAddressConfiguration。 | VirtualMachineScaleSetPublicIPAddressConfiguration |
子 | 指定子网的标识符。 | ApiEntityReference |
VirtualMachineScaleSetPublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 | VirtualMachineScaleSetPublicIPAddressConfigurationPr... |
sku | 描述公共 IP Sku。 只能将 OrchestrationMode 设置为灵活。 | PublicIPAddressSku |
VirtualMachineScaleSetPublicIPAddressConfigurationPr...
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时公共 IP 会发生什么情况 | “Delete” “Detach” |
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachineScaleSetPublicIPAddressConfigurationDn... |
idleTimeoutInMinutes | 公共 IP 地址的空闲超时。 | int |
ipTags | 与公共 IP 地址关联的 IP 标记列表。 | VirtualMachineScaleSetIpTag[] |
publicIPAddressVersion | 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPPrefix | 要从中分配 publicIP 地址的 PublicIPPrefix。 | SubResource |
VirtualMachineScaleSetPublicIPAddressConfigurationDn...
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 | string (必需) |
domainNameLabelScope | 域名标签范围。根据域名标签范围和 vm 索引的策略生成的哈希域名标签的串联将是将创建的 PublicIPAddress 资源的域名标签 | “NoReuse” “ResourceGroupReuse” “SubscriptionReuse” “TenantReuse” |
VirtualMachineScaleSetIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
PublicIPAddressSku
名字 | 描述 | 价值 |
---|---|---|
名字 | 指定公共 IP SKU 名称 | “Basic” “Standard” |
层 | 指定公共 IP SKU 层 | “Global” “区域” |
VirtualMachineScaleSetOSProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度(Windows): 8 个字符 最小长度(Linux): 6 个字符 最大长度(Windows): 123 个字符 最大长度(Linux): 72 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” 若要重置密码,请参阅 如何在 Windows VM 中重置远程桌面服务或其登录密码 有关重置根密码,请参阅 使用 VMAccess 扩展 管理用户、SSH 并检查或修复 Azure Linux VM 上的磁盘 |
字符串 约束: 敏感值。 以安全参数的形式传入。 |
adminUsername | 指定管理员帐户的名称。 仅限 Windows 的限制: 不能以“.” 结尾。 不允许的值:“administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度(Linux): 1 个字符 最大长度(Linux): 64 个字符 最大长度(Windows): 20 个字符 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机规模集上允许扩展操作。 仅当虚拟机规模集上没有扩展时,此选项才可设置为 False。 | bool |
computerNamePrefix | 指定规模集中所有虚拟机的计算机名称前缀。 计算机名称前缀长度必须为 1 到 15 个字符。 | 字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 有关为 VM 使用 cloud-init,请参阅 使用 cloud-init 在创建期间自定义 Linux VM | 字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux。 | LinuxConfiguration |
requireGuestProvisionSignal | 必须设置为 True 或省略的可选属性。 | bool |
秘密 | 指定应在规模集中的虚拟机上安装的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
enableVMAgentPlatformUpdates | 指示是否为 Linux 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 | bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
automaticByPlatformSettings | 指定 Linux 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 | LinuxVMGuestPatchAutomaticByPlatformSettings |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
LinuxVMGuestPatchAutomaticByPlatformSettings
名字 | 描述 | 价值 |
---|---|---|
bypassPlatformSafetyChecksOnUserSchedule | 使客户能够在不意外升级的情况下计划修补 | bool |
rebootSetting | 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 | “Always” “IfRequired” “永不” “未知” |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 [在 Azure 中为 Linux VM 在 Linux 和 Mac 上创建 SSH 密钥]/azure/virtual-machines/linux/create-ssh-keys-detailed。 | 字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VaultCertificate
名字 | 描述 | 价值 |
---|---|---|
certificateStore | 对于 Windows VM,指定应向其添加证书的虚拟机上的证书存储。 指定的证书存储隐式位于 LocalMachine 帐户中。 对于 Linux VM,证书文件位于 /var/lib/waagent 目录下,文件名为 X509 证书文件 <大写Thumbprint>.crt,<用于私钥的 uppercaseThumbprint>.prv。 这两个文件都是 .pem 格式的。 | 字符串 |
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
字符串 |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
additionalUnattendContent | 指定其他 base-64 编码的 XML 格式信息,这些信息可以包含在 Windows 安装程序使用的 Unattend.xml 文件中。 | AdditionalUnattendContent[] |
enableAutomaticUpdates | 指示是否为 Windows 虚拟机启用自动更新。 默认值为 true。 对于虚拟机规模集,可以更新此属性,更新将对 OS 重新预配生效。 | bool |
enableVMAgentPlatformUpdates | 指示是否为 Windows 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 | bool |
patchSettings | [预览功能]指定与 Windows 上的 VM 来宾修补相关的设置。 | PatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认情况下此属性设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 | bool |
timeZone | 指定虚拟机的时区。 例如“太平洋标准时间”。 可能的值可以从 TimeZoneInfo.GetSystemTimeZones返回的时区 TimeZoneInfo.Id 值。 | 字符串 |
winRM | 指定 Windows 远程管理侦听器。 这将启用远程 Windows PowerShell。 | WinRMConfiguration |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到 unattend.xml 文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补程序评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
automaticByPlatformSettings | 指定 Windows 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 | WindowsVMGuestPatchAutomaticByPlatformSettings |
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “Manual” |
WindowsVMGuestPatchAutomaticByPlatformSettings
名字 | 描述 | 价值 |
---|---|---|
bypassPlatformSafetyChecksOnUserSchedule | 使客户能够在不意外升级的情况下计划修补 | bool |
rebootSetting | 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 | “Always” “IfRequired” “永不” “未知” |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值为:http、https。 | “Http” “Https” |
ScheduledEventsProfile
名字 | 描述 | 价值 |
---|---|---|
osImageNotificationProfile | 指定 OS 映像计划事件相关配置。 | OSImageNotificationProfile |
terminateNotificationProfile | 指定终止计划事件相关配置。 | TerminateNotificationProfile |
OSImageNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用 OS 映像计划事件。 | bool |
notBeforeTimeout | 虚拟机重新映像或升级其 OS 的时间长度将不得不在事件自动批准(超时)之前批准 OS 映像计划事件。 配置以 ISO 8601 格式指定,该值必须为 15 分钟(PT15M) | 字符串 |
TerminateNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用终止计划事件。 | bool |
notBeforeTimeout | 删除虚拟机的可配置时间长度可能需要在事件自动批准(超时)之前批准终止计划事件。 必须以 ISO 8601 格式指定配置,默认值为 5 分钟(PT5M) | 字符串 |
SecurityPostureReference
名字 | 描述 | 价值 |
---|---|---|
excludeExtensions | 应用安全状况时要排除的虚拟机扩展列表。 | VirtualMachineExtension[] |
id | 安全状况引用 ID,格式为 /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch},{major.*},latest | 字符串 |
VirtualMachineExtension
名字 | 描述 | 价值 |
---|---|---|
位置 | 资源位置 | 字符串 |
性能 | 描述虚拟机扩展的属性。 | VirtualMachineExtensionProperties |
标签 | 资源标记 | 对象 |
VirtualMachineExtensionProperties
名字 | 描述 | 价值 |
---|---|---|
autoUpgradeMinorVersion | 指示扩展是否应在部署时使用较新的次要版本。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。 | bool |
enableAutomaticUpgrade | 指示如果有较新版本的扩展可用,平台是否应自动升级扩展。 | bool |
forceUpdateTag | 即使扩展配置未更改,扩展处理程序也应强制更新。 | 字符串 |
instanceView | 虚拟机扩展实例视图。 | VirtualMachineExtensionInstanceView |
protectedSettings | 该扩展可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或者根本不包含受保护的设置。 | |
protectedSettingsFromKeyVault | 由引用传递的扩展保护的设置,并从密钥保管库使用 | KeyVaultSecretReference |
provisionAfterExtensions | 需要预配此扩展的扩展名称的集合。 | string[] |
发行人 | 扩展处理程序发布者的名称。 | 字符串 |
设置 | 扩展的 Json 格式公共设置。 | |
suppressFailures | 指示是否取消来自扩展的故障(不连接到 VM 等操作故障不会取消,而不管此值如何)。 默认值为 false。 | bool |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
VirtualMachineExtensionInstanceView
名字 | 描述 | 价值 |
---|---|---|
名字 | 虚拟机扩展名称。 | 字符串 |
状态 | 资源状态信息。 | InstanceViewStatus[] |
substatuses | 资源状态信息。 | InstanceViewStatus[] |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
InstanceViewStatus
名字 | 描述 | 价值 |
---|---|---|
法典 | 状态代码。 | 字符串 |
displayStatus | 状态的简短可本地化标签。 | 字符串 |
水平 | 级别代码。 | “Error” “Info” “Warning” |
消息 | 详细状态消息,包括警报和错误消息。 | 字符串 |
时间 | 状态的时间。 | 字符串 |
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认行为为:除非将此属性设置为 true,否则将禁用主机上的加密。 | bool |
encryptionIdentity | 指定 ADE 用于获取 keyvault 操作的访问令牌的托管标识。 | EncryptionIdentity |
proxyAgentSettings | 在创建虚拟机时指定 ProxyAgent 设置。 最低 API 版本:2023-09-01。 | ProxyAgentSettings |
securityType | 指定虚拟机的 SecurityType。 必须将其设置为任何指定值才能启用 UefiSettings。 默认行为为:除非设置了此属性,否则不会启用 UefiSettings。 | “ConfidentialVM” “TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 api 版本:2020-12-01。 | UefiSettings |
EncryptionIdentity
名字 | 描述 | 价值 |
---|---|---|
userAssignedIdentityResourceId | 指定与 VM 关联的用户标识之一的 ARM 资源 ID。 | 字符串 |
ProxyAgentSettings
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机或虚拟机规模集上启用 ProxyAgent 功能。 | bool |
keyIncarnationId | 增加此属性的值允许用户重置用于保护来宾和主机之间的通信通道的密钥。 | int |
模式 | 指定在启用该功能时 ProxyAgent 将执行的模式。 ProxyAgent 将开始审核或监视,但不强制对审核模式下主机终结点的请求实施访问控制,而在“强制”模式下,将强制实施访问控制。 默认值为“强制”模式。 | “Audit” “强制” |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 api 版本:2020-12-01。 | bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 api 版本:2020-12-01。 | bool |
ServiceArtifactReference
名字 | 描述 | 价值 |
---|---|---|
id | 以 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} 的形式的服务项目引用 ID | 字符串 |
VirtualMachineScaleSetStorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向规模集中的虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 | VirtualMachineScaleSetDataDisk[] |
diskControllerType | 字符串 | |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关规模集中虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 | VirtualMachineScaleSetOSDisk |
VirtualMachineScaleSetDataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认值为:标准存储的 None。高级存储的 ReadOnly。 | “None” “ReadOnly” “ReadWrite” |
createOption | 创建选项。 | “Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在 VMSS Flex 删除时是否应删除或分离数据磁盘(此功能仅适用于具有灵活 OrchestrationMode 的 VMSS)。 可能的值: 删除 如果使用此值,则删除 VMSS Flex VM 时删除数据磁盘。 分离 如果使用此值,则在删除 VMSS Flex VM 后保留数据磁盘。 默认值设置为 Delete。 |
“Delete” “Detach” |
diskIOPSReadWrite | 指定托管磁盘的 Read-Write IOPS。 仅当 StorageAccountType UltraSSD_LRS时才应使用。 如果未指定,则会根据 diskSizeGB 分配默认值。 | int |
diskMBpsReadWrite | 指定托管磁盘的带宽(以 MB/秒为单位)。 仅当 StorageAccountType UltraSSD_LRS时才应使用。 如果未指定,则会根据 diskSizeGB 分配默认值。 | int |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性 diskSizeGB 是磁盘的字节数 x 1024^3,该值不能大于 1023。 | int |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | VirtualMachineScaleSetManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
VirtualMachineScaleSetManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
securityProfile | 指定托管磁盘的安全配置文件。 | VMDiskSecurityProfile |
storageAccountType | 指定托管磁盘的存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “PremiumV2_LRS” “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
VMDiskSecurityProfile
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定用于客户托管密钥加密的 ConfidentialVM OS 磁盘和 VMGuest Blob 的托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
securityEncryptionType | 指定托管磁盘的 EncryptionType。 它设置为 DiskWithVMGuestState,用于加密托管磁盘以及 VMGuestState blob、VMGuestStateOnly 以仅加密 VMGuestState blob,并将 NonPersistedTPM 设置为不保留 VMGuestState blob 中的固件状态。 注意: 只能为机密 VM 设置它。 | “DiskWithVMGuestState” “NonPersistedTPM” “VMGuestStateOnly” |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
communityGalleryImageId | 为 vm 部署指定社区库映像唯一 ID。 这可以从社区库映像 GET 调用中提取。 | 字符串 |
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sharedGalleryImageId | 为 vm 部署指定共享库映像唯一 ID。 这可以从共享库映像 GET 调用中提取。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 请不要对库映像部署使用字段“version”,库映像应始终使用“id”字段进行部署,若要使用库映像的“latest”版本,只需在“id”字段中设置“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}”,而不输入版本。 | 字符串 |
VirtualMachineScaleSetOSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认值为:标准存储的 None。高级存储的 ReadOnly。 | “None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建规模集中的虚拟机。 唯一允许的值是:FromImage。 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 | “Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在 VMSS Flex 删除时是否应删除或分离 OS 磁盘(此功能仅适用于具有灵活 OrchestrationMode 的 VMSS)。 可能的值: 删除 如果使用此值,则删除 VMSS Flex VM 时会删除 OS 磁盘。 分离 如果使用此值,则会在删除 VMSS Flex VM 后保留 OS 磁盘。 默认值设置为 Delete。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 |
“Delete” “Detach” |
diffDiskSettings | 指定虚拟机规模集使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 | int |
图像 | 指定要基于规模集的非托管用户映像的信息。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | VirtualMachineScaleSetManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括:Windows、Linux。 | “Linux” “Windows” |
vhdContainers | 指定用于存储规模集操作系统磁盘的容器 URL。 | string[] |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值为: |
“CacheDisk” “ResourceDisk” |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
Sku
名字 | 描述 | 价值 |
---|---|---|
能力 | 指定规模集中的虚拟机数。 | int |
名字 | SKU 名称。 | 字符串 |
层 | 指定规模集中的虚拟机层。 可能的值: 标准 基本 |
字符串 |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
使用 LB 探测和自动修复部署 VM 规模集 |
使用此模板,可以在配置了运行状况探测的负载均衡器后面部署一组 Linux VM 规模集。 规模集还启用了自动实例修复策略,宽限期为 30 分钟。 |
部署将每个 VM 连接到 Azure 文件共享的 VMSS |
此模板部署 Ubuntu 虚拟机规模集,并使用自定义脚本扩展将每个 VM 连接到 Azure 文件共享 |
使用自定义脚本扩展部署 Windows VM 规模集 |
使用此模板,可以使用各种 Windows 版本的最新修补版本部署 Windows VM 的 VM 规模集。 这些 VM 具有用于自定义的自定义脚本扩展,并且位于负载均衡器后面,其中包含用于 rdp 连接的 NAT 规则。 |
将规模集部署到现有 vnet |
此模板将 VM 规模集部署到一个前发的 vnet 中。 |
将多个 VM 添加到虚拟机规模集 |
此模板将使用托管磁盘、公共 IP 和网络接口创建 N 个 VM 数量。 它将在灵活业务流程模式下在虚拟机规模集中创建 VM。 它们将在虚拟网络中预配,该虚拟网络也将作为部署的一部分创建 |
VMSS 灵活业务流程模式快速入门 Linux |
此模板部署一个简单的 VM 规模集,其中包含 Azure 负载均衡器后面的实例。 VM 规模集处于灵活的业务流程模式。 使用 os 参数选择 Linux(Ubuntu)或 Windows(Windows Server Datacenter 2019)部署。 注意:本快速入门模板允许从任何 Internet 地址访问 VM 管理端口(SSH、RDP),并且不应用于生产部署。 |
在 ILB 后面部署具有 Linux VM 的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 15.10 或 14.04.4-LTS 部署 VM 规模集。 这些 VM 位于内部负载均衡器后面,其中包含 SSH 连接的 NAT 规则。 |
使用 Linux 自定义映像部署 VM 规模集 |
此模板允许在规模集中部署自定义 VM Linux 映像。 这些 VM 位于具有 HTTP 负载均衡的负载均衡器后面(默认情况下在端口 80 上)。 该示例使用自定义脚本执行应用程序部署和更新,可能需要为自己的更新过程提供自定义脚本。 必须在创建 VMSS 的同一订阅和区域中提供 VM 的通用化映像。 |
使用 Linux VM 部署简单的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 部署简单的 Linux VM 规模集。 这些 VM 位于具有 SSH 连接的 NAT 规则的负载均衡器后面。 |
在可用性区域中部署具有 Linux VM 的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 部署简单的 Linux VM 规模集。 这些 VM 位于具有 SSH 连接的 NAT 规则的负载均衡器后面。 |
部署 Linux VMSS 主要/辅助体系结构 |
使用此模板,可以在主要辅助体系结构中使用自定义脚本扩展部署 Linux VMSS |
使用 Linux VM 和每个 VM 的公共 IPv4 简单 VM 规模集 |
此模板演示如何为每个 VM 部署一个包含负载均衡器、入站 NAT 规则和公共 IP 的简单规模集。 |
部署支持受信任的启动的 Windows VM 规模集 |
使用此模板,可以使用最新修补版本的 Windows Server 2016、Windows Server 2019 或 Windows Server 2022 Azure Edition 部署支持受信任的启动的 Windows VM 规模集。 这些 VM 位于具有 RDP 连接的 NAT 规则的负载均衡器后面。 如果启用 Secureboot 和 vTPM,则会在 VMSS 上安装来宾证明扩展。 此扩展将通过云执行远程 证明。 |
使用 Azure 应用程序网关部署 Ubuntu VM 规模集 |
此模板允许部署与 Azure 应用程序网关集成的简单 Ubuntu VM 规模集,并支持最多 1000 个 VM |
使用 Linux VM 和自动缩放 部署 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 15.04 或 14.04.4-LTS 部署简单的 LINUX VM 规模集。 这些 VM 位于具有 SSH 连接的 NAT 规则的负载均衡器后面。它们还集成了自动缩放 |
已启用 SSL 的 VM 规模集 |
使用安全部署的 SSL 证书部署 Web 服务器配置 Azure Key Vault |
将规模集部署到 Windows 上的现有 vnet |
此模板将 Windows 2016 Datacenter VM 规模集部署到除名资源组、vnet 和子网中。 |
使用 Azure 应用程序网关部署 Windows VM 规模集 |
此模板允许部署与 Azure 应用程序网关集成的简单 Windows VM 规模集,并支持最多 1000 个 VM |
使用 Windows VM 和自动缩放 部署 VM 规模集 |
使用此模板,可以使用最新修补版本的 Windows 2008-R2-SP1、2012-Datacenter 或 2012-R2-Datacenter 部署简单的 WINDOWS VM 规模集。 这些 VM 位于具有 RDP 连接的 NAT 规则的负载均衡器后面。 它们还集成了自动缩放 |
使用 Windows 自定义映像部署 VM 规模集 |
使用此模板可以部署简单的 VM 规模集,从而部署自定义 Windows 映像。 这些 VM 位于具有 HTTP 负载均衡的负载均衡器后面(默认情况下在端口 80 上) |
使用 Windows VM 部署简单的 VM 规模集 |
使用此模板,可以使用各种 Windows 版本的最新修补版本部署简单的 Windows VM 规模集。 这些 VM 位于负载均衡器后面,其中包含用于 rdp 连接的 NAT 规则。 |
在可用性区域中部署具有 Windows VM 的 VM 规模集 |
使用此模板,可以使用各种 Windows 版本的最新修补版本部署 Windows VM 的 VM 规模集。 这些 VM 位于负载均衡器后面,其中包含用于 rdp 连接的 NAT 规则。 |
使用公共 IP 前缀 |
用于部署具有公共 IP 前缀的 VMSS 的模板 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 virtualMachineScaleSets 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachineScaleSets 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Compute/virtualMachineScaleSets@2023-09-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
additionalCapabilities = {
hibernationEnabled = bool
ultraSSDEnabled = bool
}
automaticRepairsPolicy = {
enabled = bool
gracePeriod = "string"
repairAction = "string"
}
constrainedMaximumCapacity = bool
doNotRunExtensionsOnOverprovisionedVMs = bool
hostGroup = {
id = "string"
}
orchestrationMode = "string"
overprovision = bool
platformFaultDomainCount = int
priorityMixPolicy = {
baseRegularPriorityCount = int
regularPriorityPercentageAboveBase = int
}
proximityPlacementGroup = {
id = "string"
}
resiliencyPolicy = {
resilientVMCreationPolicy = {
enabled = bool
}
resilientVMDeletionPolicy = {
enabled = bool
}
}
scaleInPolicy = {
forceDeletion = bool
rules = [
"string"
]
}
singlePlacementGroup = bool
spotRestorePolicy = {
enabled = bool
restoreTimeout = "string"
}
upgradePolicy = {
automaticOSUpgradePolicy = {
disableAutomaticRollback = bool
enableAutomaticOSUpgrade = bool
osRollingUpgradeDeferral = bool
useRollingUpgradePolicy = bool
}
mode = "string"
rollingUpgradePolicy = {
enableCrossZoneUpgrade = bool
maxBatchInstancePercent = int
maxSurge = bool
maxUnhealthyInstancePercent = int
maxUnhealthyUpgradedInstancePercent = int
pauseTimeBetweenBatches = "string"
prioritizeUnhealthyInstances = bool
rollbackFailedInstancesOnPolicyBreach = bool
}
}
virtualMachineProfile = {
applicationProfile = {
galleryApplications = [
{
configurationReference = "string"
enableAutomaticUpgrade = bool
order = int
packageReferenceId = "string"
tags = "string"
treatFailureAsDeploymentFailure = bool
}
]
}
billingProfile = {
maxPrice = "decimal-as-string"
}
capacityReservation = {
capacityReservationGroup = {
id = "string"
}
}
diagnosticsProfile = {
bootDiagnostics = {
enabled = bool
storageUri = "string"
}
}
evictionPolicy = "string"
extensionProfile = {
extensions = [
{
name = "string"
properties = {
autoUpgradeMinorVersion = bool
enableAutomaticUpgrade = bool
forceUpdateTag = "string"
protectedSettingsFromKeyVault = {
secretUrl = "string"
sourceVault = {
id = "string"
}
}
provisionAfterExtensions = [
"string"
]
publisher = "string"
suppressFailures = bool
type = "string"
typeHandlerVersion = "string"
}
}
]
extensionsTimeBudget = "string"
}
hardwareProfile = {
vmSizeProperties = {
vCPUsAvailable = int
vCPUsPerCore = int
}
}
licenseType = "string"
networkProfile = {
healthProbe = {
id = "string"
}
networkApiVersion = "2020-11-01"
networkInterfaceConfigurations = [
{
name = "string"
properties = {
auxiliaryMode = "string"
auxiliarySku = "string"
deleteOption = "string"
disableTcpStateTracking = bool
dnsSettings = {
dnsServers = [
"string"
]
}
enableAcceleratedNetworking = bool
enableFpga = bool
enableIPForwarding = bool
ipConfigurations = [
{
name = "string"
properties = {
applicationGatewayBackendAddressPools = [
{
id = "string"
}
]
applicationSecurityGroups = [
{
id = "string"
}
]
loadBalancerBackendAddressPools = [
{
id = "string"
}
]
loadBalancerInboundNatPools = [
{
id = "string"
}
]
primary = bool
privateIPAddressVersion = "string"
publicIPAddressConfiguration = {
name = "string"
properties = {
deleteOption = "string"
dnsSettings = {
domainNameLabel = "string"
domainNameLabelScope = "string"
}
idleTimeoutInMinutes = int
ipTags = [
{
ipTagType = "string"
tag = "string"
}
]
publicIPAddressVersion = "string"
publicIPPrefix = {
id = "string"
}
}
sku = {
name = "string"
tier = "string"
}
}
subnet = {
id = "string"
}
}
}
]
networkSecurityGroup = {
id = "string"
}
primary = bool
}
}
]
}
osProfile = {
adminPassword = "string"
adminUsername = "string"
allowExtensionOperations = bool
computerNamePrefix = "string"
customData = "string"
linuxConfiguration = {
disablePasswordAuthentication = bool
enableVMAgentPlatformUpdates = bool
patchSettings = {
assessmentMode = "string"
automaticByPlatformSettings = {
bypassPlatformSafetyChecksOnUserSchedule = bool
rebootSetting = "string"
}
patchMode = "string"
}
provisionVMAgent = bool
ssh = {
publicKeys = [
{
keyData = "string"
path = "string"
}
]
}
}
requireGuestProvisionSignal = bool
secrets = [
{
sourceVault = {
id = "string"
}
vaultCertificates = [
{
certificateStore = "string"
certificateUrl = "string"
}
]
}
]
windowsConfiguration = {
additionalUnattendContent = [
{
componentName = "Microsoft-Windows-Shell-Setup"
content = "string"
passName = "OobeSystem"
settingName = "string"
}
]
enableAutomaticUpdates = bool
enableVMAgentPlatformUpdates = bool
patchSettings = {
assessmentMode = "string"
automaticByPlatformSettings = {
bypassPlatformSafetyChecksOnUserSchedule = bool
rebootSetting = "string"
}
enableHotpatching = bool
patchMode = "string"
}
provisionVMAgent = bool
timeZone = "string"
winRM = {
listeners = [
{
certificateUrl = "string"
protocol = "string"
}
]
}
}
}
priority = "string"
scheduledEventsProfile = {
osImageNotificationProfile = {
enable = bool
notBeforeTimeout = "string"
}
terminateNotificationProfile = {
enable = bool
notBeforeTimeout = "string"
}
}
securityPostureReference = {
excludeExtensions = [
{
location = "string"
properties = {
autoUpgradeMinorVersion = bool
enableAutomaticUpgrade = bool
forceUpdateTag = "string"
instanceView = {
name = "string"
statuses = [
{
code = "string"
displayStatus = "string"
level = "string"
message = "string"
time = "string"
}
]
substatuses = [
{
code = "string"
displayStatus = "string"
level = "string"
message = "string"
time = "string"
}
]
type = "string"
typeHandlerVersion = "string"
}
protectedSettingsFromKeyVault = {
secretUrl = "string"
sourceVault = {
id = "string"
}
}
provisionAfterExtensions = [
"string"
]
publisher = "string"
suppressFailures = bool
type = "string"
typeHandlerVersion = "string"
}
tags = {}
}
]
id = "string"
}
securityProfile = {
encryptionAtHost = bool
encryptionIdentity = {
userAssignedIdentityResourceId = "string"
}
proxyAgentSettings = {
enabled = bool
keyIncarnationId = int
mode = "string"
}
securityType = "string"
uefiSettings = {
secureBootEnabled = bool
vTpmEnabled = bool
}
}
serviceArtifactReference = {
id = "string"
}
storageProfile = {
dataDisks = [
{
caching = "string"
createOption = "string"
deleteOption = "string"
diskIOPSReadWrite = int
diskMBpsReadWrite = int
diskSizeGB = int
lun = int
managedDisk = {
diskEncryptionSet = {
id = "string"
}
securityProfile = {
diskEncryptionSet = {
id = "string"
}
securityEncryptionType = "string"
}
storageAccountType = "string"
}
name = "string"
writeAcceleratorEnabled = bool
}
]
diskControllerType = "string"
imageReference = {
communityGalleryImageId = "string"
id = "string"
offer = "string"
publisher = "string"
sharedGalleryImageId = "string"
sku = "string"
version = "string"
}
osDisk = {
caching = "string"
createOption = "string"
deleteOption = "string"
diffDiskSettings = {
option = "Local"
placement = "string"
}
diskSizeGB = int
image = {
uri = "string"
}
managedDisk = {
diskEncryptionSet = {
id = "string"
}
securityProfile = {
diskEncryptionSet = {
id = "string"
}
securityEncryptionType = "string"
}
storageAccountType = "string"
}
name = "string"
osType = "string"
vhdContainers = [
"string"
]
writeAcceleratorEnabled = bool
}
}
userData = "string"
}
zoneBalance = bool
}
zones = [
"string" or int
]
sku = {
capacity = int
name = "string"
tier = "string"
}
extendedLocation = {
name = "string"
type = "EdgeZone"
}
plan = {
name = "string"
product = "string"
promotionCode = "string"
publisher = "string"
}
})
}
属性值
virtualMachineScaleSets
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.Compute/virtualMachineScaleSets@2023-09-01” |
名字 | 资源名称 | string (必需) 字符限制:1-15 (Windows) 1-64 (Linux) 有效字符: 不能使用空格、控制字符或以下字符: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ? 不能以下划线开头。 不能以句点或连字符结尾。 |
位置 | 资源位置 | string (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | string (必需) |
标签 | 资源标记 | 标记名称和值的字典。 |
sku | 虚拟机规模集 SKU。 | Sku |
extendedLocation | 虚拟机规模集的扩展位置。 | ExtendedLocation |
身份 | 虚拟机规模集的标识(如果已配置)。 | VirtualMachineScaleSetIdentity |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机规模集的属性。 | VirtualMachineScaleSetProperties |
区 | 虚拟机规模集区域。 注意:只能在创建规模集时设置可用性区域 | 作为字符串或 int 的可用性区域数组。 |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
VirtualMachineScaleSetIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 用于虚拟机规模集的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机规模集中删除任何标识。 | “SystemAssigned” “SystemAssigned, UserAssigned” “UserAssigned” |
identity_ids | 与虚拟机规模集关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | 用户标识 ID 的数组。 |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentitiesValue |
UserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
VirtualMachineScaleSetProperties
名字 | 描述 | 价值 |
---|---|---|
additionalCapabilities | 指定在虚拟机规模集中的虚拟机上启用或禁用的其他功能。 例如:虚拟机是否能够支持使用 UltraSSD_LRS 存储帐户类型附加托管数据磁盘。 | AdditionalCapabilities |
automaticRepairsPolicy | 自动修复的策略。 | AutomaticRepairsPolicy |
constrainedMaximumCapacity | 必须设置为 True 或省略的可选属性。 | bool |
doNotRunExtensionsOnOverprovisionedVMs | 启用过度预配后,仅在请求的 VM 数量上启动扩展,这些 VM 最终会保留。 因此,此属性将确保扩展不会在额外的过度预配的 VM 上运行。 | bool |
hostGroup | 指定虚拟机规模集所在的专用主机组的信息。 最低 API 版本:2020-06-01。 | SubResource |
orchestrationMode | 指定虚拟机规模集的业务流程模式。 | “灵活” “Uniform” |
overprovision | 指定是否应过度预配虚拟机规模集。 | bool |
platformFaultDomainCount | 每个放置组的容错域计数。 | int |
priorityMixPolicy | 指定用于在同一 VMSS Flex 实例中混合现成和常规优先级 VM 的所需目标。 | PriorityMixPolicy |
proximityPlacementGroup | 指定应向其分配虚拟机规模集的邻近放置组的相关信息。 最低 api 版本:2018-04-01。 | SubResource |
resiliencyPolicy | 复原策略 | ResiliencyPolicy |
scaleInPolicy | 指定在虚拟机规模集中的虚拟机中缩放时应用的策略。 | ScaleInPolicy |
singlePlacementGroup | 如果为 true,则规模集限制为单个放置组,最大大小为 100 个虚拟机。 注意:如果 singlePlacementGroup 为 true,则可能会将其修改为 false。 但是,如果 singlePlacementGroup 为 false,则可能不会将其修改为 true。 | bool |
spotRestorePolicy | 指定虚拟机规模集的现成还原属性。 | SpotRestorePolicy |
upgradePolicy | 升级策略。 | UpgradePolicy |
virtualMachineProfile | 虚拟机配置文件。 | VirtualMachineScaleSetVMProfile |
zoneBalance | 如果发生区域中断,是否强制甚至跨 x 区域进行虚拟机分发。 仅当规模集的区域属性包含多个区域时,才能设置 zoneBalance 属性。 如果没有区域或仅指定一个区域,则不应设置 zoneBalance 属性。 | bool |
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
hibernationEnabled | 在 VM 上启用或禁用休眠功能的标志。 | bool |
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
AutomaticRepairsPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用自动修复。 默认值为 false。 | bool |
gracePeriod | 由于 VM 上的状态更改,自动修复暂停的时间。 状态更改完成后的宽限时间开始。 这有助于避免过早或意外修复。 持续时间应采用 ISO 8601 格式指定。 允许的最小宽限期为 10 分钟(PT10M),这也是默认值。 允许的最大宽限期为 90 分钟(PT90M)。 | 字符串 |
repairAction | 用于修复规模集中运行不正常的虚拟机的修复操作类型(替换、重启、重置映像)。 默认值将被替换。 | “重置映像” “Replace” “重启” |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
PriorityMixPolicy
名字 | 描述 | 价值 |
---|---|---|
baseRegularPriorityCount | 将在横向扩展时在此规模集中创建的常规优先级 VM 的基数。 | int 约束: 最小值 = 0 |
regularPriorityPercentageAboveBase | 达到基本常规优先级计数后,VM 实例的百分比应使用常规优先级。 | int 约束: 最小值 = 0 最大值 = 100 |
ResiliencyPolicy
名字 | 描述 | 价值 |
---|---|---|
resilientVMCreationPolicy | 执行可复原 VM 创建时使用的配置参数。 | ResilientVMCreationPolicy |
resilientVMDeletionPolicy | 执行弹性 VM 删除时使用的配置参数。 | ResilientVMDeletionPolicy |
ResilientVMCreationPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用可复原的 VM 创建。 默认值为 false。 | bool |
ResilientVMDeletionPolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机规模集上启用可复原的 VM 删除。 默认值为 false。 | bool |
ScaleInPolicy
名字 | 描述 | 价值 |
---|---|---|
forceDeletion | 此属性允许指定在虚拟机规模集进行缩减时,是否必须强制删除选择删除的虚拟机。(预览版中的功能) | bool |
规则 | 在虚拟机规模集中进行缩放时要遵循的规则。 可能的值包括: 默认 当虚拟机规模集进行缩放时,如果规模集是区域性规模集,则规模集将首先跨区域均衡。 然后,它将尽可能跨容错域进行均衡。 在每个容错域中,选择删除的虚拟机将是不受横向扩展保护的最新虚拟机。 OldestVM 当虚拟机规模集正在缩减时,将选择不从横向扩展保护的最早虚拟机进行删除。 对于区域虚拟机规模集,规模集将首先跨区域均衡。 在每个区域中,将选择不受保护的最早虚拟机进行删除。 NewestVM 当虚拟机规模集进行缩减时,将选择不受横向缩减保护的最新虚拟机以供删除。 对于区域虚拟机规模集,规模集将首先跨区域均衡。 在每个区域中,将选择不受保护的最新虚拟机进行删除。 |
包含任一项的字符串数组: “Default” “NewestVM” “OldestVM” |
SpotRestorePolicy
名字 | 描述 | 价值 |
---|---|---|
启用 | 启用现成Try-Restore 功能,其中将尝试根据容量可用性和定价约束以机会方式还原逐出的 VMSS SPOT 实例 | bool |
restoreTimeout | 超时值表示为 ISO 8601 持续时间,之后平台不会尝试还原 VMSS SPOT 实例 | 字符串 |
UpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
automaticOSUpgradePolicy | 用于执行自动 OS 升级的配置参数。 | AutomaticOSUpgradePolicy |
模式 | 指定升级到规模集中虚拟机的模式。 可能的值包括: 手动 - 控制对规模集中虚拟机的更新的应用程序。 使用 manualUpgrade 操作执行此操作。 自动 - 规模集中的所有虚拟机同时自动更新。 |
“Automatic” “手动” “滚动” |
rollingUpgradePolicy | 执行滚动升级时使用的配置参数。 | RollingUpgradePolicy |
AutomaticOSUpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
disableAutomaticRollback | 是否应禁用 OS 映像回滚功能。 默认值为 false。 | bool |
enableAutomaticOSUpgrade | 指示当较新版本的 OS 映像可用时,是否应以滚动方式自动将 OS 升级应用于规模集实例。 默认值为 false。 如果此选项设置为基于 Windows 的规模集,enableAutomaticUpdates 将自动设置为 false,并且不能设置为 true。 | bool |
osRollingUpgradeDeferral | 指示自动 OS 升级是否应延迟。 延迟的 OS 升级将根据每个 VM 发送高级通知,即通过 IMDS 标记“Platform.PendingOSUpgrade”从滚动升级进行 OS 升级。 然后,升级会延迟,直到通过 ApprovRollingUpgrade 调用批准升级。 | bool |
useRollingUpgradePolicy | 指示是否应在自动 OS 升级期间使用滚动升级策略。 默认值为 false。 如果未在 VMSS 上定义任何策略,则自动 OS 升级将回退到默认策略。 | bool |
RollingUpgradePolicy
名字 | 描述 | 价值 |
---|---|---|
enableCrossZoneUpgrade | 允许 VMSS 在构造升级批处理时忽略 AZ 边界。 考虑 Update 域和 maxBatchInstancePercent 以确定批大小。 | bool |
maxBatchInstancePercent | 一批滚动升级同时升级的总虚拟机实例的最大百分比。 由于这是一个最大值,因此以前的或将来的批中的不正常实例可能会导致批处理中的实例百分比降低,以确保更高的可靠性。 此参数的默认值为 20%。 | int 约束: 最小值 = 5 最大值 = 100 |
maxSurge | 创建新的虚拟机来升级规模集,而不是更新现有虚拟机。 为每个批创建新虚拟机后,将删除现有虚拟机。 | bool |
maxUnhealthyInstancePercent | 规模集中可能同时运行不正常的虚拟机实例的最大百分比,无论是由于升级,还是虚拟机运行状况检查在滚动升级中止之前处于不正常状态。 在启动任何批处理之前,将检查此约束。 此参数的默认值为 20%。 | int 约束: 最小值 = 5 最大值 = 100 |
maxUnhealthyUpgradedInstancePercent | 可发现处于不正常状态的已升级虚拟机实例的最大百分比。 升级每个批处理后,将进行此检查。 如果超过此百分比,滚动更新将中止。 此参数的默认值为 20%。 | int 约束: 最小值 = 0 最大值 = 100 |
pauseTimeBetweenBatches | 完成一批中所有虚拟机的更新和开始下一批之间的等待时间。 持续时间应采用 ISO 8601 格式指定。 默认值为 0 秒(PT0S)。 | 字符串 |
prioritizeUnhealthyInstances | 在任何正常运行的实例之前,升级规模集中的所有不正常实例。 | bool |
rollbackFailedInstancesOnPolicyBreach | 如果违反滚动升级策略,回滚失败实例到以前的模型。 | bool |
VirtualMachineScaleSetVMProfile
名字 | 描述 | 价值 |
---|---|---|
applicationProfile | 指定应提供给 VM/VMSS 的库应用程序 | ApplicationProfile |
billingProfile | 指定 Azure 现成 VMSS 的计费相关详细信息。 最低 API 版本:2019-03-01。 | BillingProfile |
capacityReservation | 指定规模集的容量预留相关详细信息。 最低 API 版本:2021-04-01。 | CapacityReservationProfile |
diagnosticsProfile | 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 | DiagnosticsProfile |
evictionPolicy | 指定 Azure 现成虚拟机和 Azure Spot 规模集的逐出策略。 对于 Azure 现成虚拟机,支持“解除分配”和“删除”,最低 API 版本为 2019-03-01。 对于 Azure Spot 规模集,支持“Deallocate”和“Delete”,最低 API 版本为 2017-10-30-preview。 | “解除分配” “Delete” |
extensionProfile | 指定规模集中虚拟机上安装的扩展的设置集合。 | VirtualMachineScaleSetExtensionProfile |
hardwareProfile | 指定规模集的硬件配置文件相关详细信息。 最低 api 版本:2021-11-01。 | VirtualMachineScaleSetHardwareProfile |
licenseType | 指定正在使用的映像或磁盘在本地获得许可。 Windows Server 操作系统的可能值为: Windows_Client Windows_Server Linux Server 操作系统的可能值为: RHEL_BYOS(适用于 RHEL) SLES_BYOS(对于 SUSE) 有关详细信息,请参阅 Windows Server 的 Azure 混合使用权益 Linux Server 的 Azure 混合使用权益 最低 API 版本:2015-06-15 |
字符串 |
networkProfile | 指定规模集中虚拟机网络接口的属性。 | VirtualMachineScaleSetNetworkProfile |
osProfile | 指定规模集中虚拟机的操作系统设置。 | VirtualMachineScaleSetOSProfile |
优先权 | 指定规模集中虚拟机的优先级。 最低 api 版本:2017-10-30-preview。 | “Low” “Regular” “现成” |
scheduledEventsProfile | 指定与计划事件相关的配置。 | ScheduledEventsProfile |
securityPostureReference | 指定要用于规模集中所有虚拟机的安全状况。 最低 API 版本:2023-03-01 | SecurityPostureReference |
securityProfile | 指定规模集中虚拟机的安全相关配置文件设置。 | SecurityProfile |
serviceArtifactReference | 指定使用“latest”映像版本时,用于为规模集中的所有虚拟机设置相同映像版本的服务项目引用 ID。 最低 API 版本:2022-11-01 | ServiceArtifactReference |
storageProfile | 指定虚拟机磁盘的存储设置。 | VirtualMachineScaleSetStorageProfile |
userData | 规模集中虚拟机的 UserData,必须进行 base-64 编码。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01。 | 字符串 |
ApplicationProfile
名字 | 描述 | 价值 |
---|---|---|
galleryApplications | 指定应提供给 VM/VMSS 的库应用程序 | VMGalleryApplication[] |
VMGalleryApplication
名字 | 描述 | 价值 |
---|---|---|
configurationReference | 可选,指定 Azure Blob 的 URI,该 URI 将替换包的默认配置(如果提供) | 字符串 |
enableAutomaticUpgrade | 如果设置为 true,当 PIR/SIG 中提供了新的库应用程序版本时,它将自动更新 VM/VMSS | bool |
次序 | 可选,指定包必须安装的顺序 | int |
packageReferenceId | 指定 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/applications/{application}/versions/{version} 形式的 GalleryApplicationVersion 资源 ID | string (必需) |
标签 | 可选,指定更多泛型上下文的传递值。 | 字符串 |
treatFailureAsDeploymentFailure | 可选,如果为 true,则 VmApplication 中任何操作的任何失败都会使部署失败 | bool |
BillingProfile
名字 | 描述 | 价值 |
---|---|---|
maxPrice | 指定愿意为 Azure 现成 VM/VMSS 付费的最高价格。 这个价格是美元。 此价格将与 VM 大小的当前 Azure 现成价格进行比较。 此外,价格是在创建/更新 Azure 现成 VM/VMSS 时进行比较的,并且仅当 maxPrice 大于当前 Azure 现成价格时,该操作才会成功。 如果当前 Azure 现成价格超出创建 VM/VMSS 后的最大价格,maxPrice 还将用于逐出 Azure 现成 VM/VMSS。 可能的值包括: - 大于零的任何十进制值。 示例:0.01538 -1 – 指示按需 up-to 的默认价格。 可以将 maxPrice 设置为 -1,以指示出于价格原因不应逐出 Azure Spot VM/VMSS。 此外,如果未提供默认最大价格,则 -1。 最低 API 版本:2019-03-01。 将十进制值指定为字符串。 |
int 或 json decimal |
CapacityReservationProfile
名字 | 描述 | 价值 |
---|---|---|
capacityReservationGroup | 指定容量预留组资源 ID,该 ID 应用于分配已保留足够容量的虚拟机或规模集 VM 实例。 有关详细信息,请参阅 https://aka.ms/CapacityReservation 。 |
SubResource |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 注意:如果指定 storageUri,请确保存储帐户与 VM 位于同一区域和订阅中。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 | BootDiagnostics |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 | 字符串 |
VirtualMachineScaleSetExtensionProfile
名字 | 描述 | 价值 |
---|---|---|
扩展 | 虚拟机规模集子扩展资源。 | VirtualMachineScaleSetExtension[] |
extensionsTimeBudget | 指定分配所有扩展开始的时间。 持续时间应介于 15 分钟到 120 分钟(含)之间,应采用 ISO 8601 格式指定。 默认值为 90 分钟(PT1H30M)。 最低 API 版本:2020-06-01。 | 字符串 |
VirtualMachineScaleSetExtension
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展的名称。 | 字符串 |
性能 | 描述虚拟机规模集扩展的属性。 | VirtualMachineScaleSetExtensionProperties |
VirtualMachineScaleSetExtensionProperties
名字 | 描述 | 价值 |
---|---|---|
autoUpgradeMinorVersion | 指示扩展是否应在部署时使用较新的次要版本。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。 | bool |
enableAutomaticUpgrade | 指示如果有较新版本的扩展可用,平台是否应自动升级扩展。 | bool |
forceUpdateTag | 如果提供值并且与上一个值不同,则即使扩展配置未更改,扩展处理程序也会强制更新。 | 字符串 |
protectedSettings | 该扩展可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或者根本不包含受保护的设置。 | |
protectedSettingsFromKeyVault | 由引用传递的扩展保护的设置,并从密钥保管库使用 | KeyVaultSecretReference |
provisionAfterExtensions | 需要预配此扩展的扩展名称的集合。 | string[] |
发行人 | 扩展处理程序发布者的名称。 | 字符串 |
设置 | 扩展的 Json 格式公共设置。 | |
suppressFailures | 指示是否取消来自扩展的故障(不连接到 VM 等操作故障不会取消,而不管此值如何)。 默认值为 false。 | bool |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
VirtualMachineScaleSetHardwareProfile
名字 | 描述 | 价值 |
---|---|---|
vmSizeProperties | 指定用于自定义虚拟机大小的属性。 最低 api 版本:2021-11-01。 有关详细信息,请按照 VM 自定义 中的说明进行操作。 | VMSizeProperties |
VMSizeProperties
名字 | 描述 | 价值 |
---|---|---|
vCPUUsAvailable | 指定可用于 VM 的 vCPU 数。 如果未在请求正文中指定此属性,则默认行为是将其设置为 api 响应中公开的 vCPU 的值,列出区域中所有可用的虚拟机大小。 | int |
vCPUUsPerCore | 指定 vCPU 与物理核心比率。 如果未在请求正文中指定此属性,则默认行为设置为 api 响应中公开的 vm 大小的 vCPUUsPerCore 值,列出区域中的所有可用虚拟机大小。 将此属性设置为 1 也意味着禁用了超线程处理。 | int |
VirtualMachineScaleSetNetworkProfile
名字 | 描述 | 价值 |
---|---|---|
healthProbe | 对负载均衡器探测的引用,用于确定虚拟机规模集中实例的运行状况。 引用的格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}”。 | ApiEntityReference |
networkApiVersion | 指定使用业务流程模式“灵活”在虚拟机规模集的网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 | "2020-11-01" |
networkInterfaceConfigurations | 网络配置列表。 | VirtualMachineScaleSetNetworkConfiguration[] |
ApiEntityReference
名字 | 描述 | 价值 |
---|---|---|
id | /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID | 字符串 |
VirtualMachineScaleSetNetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | 网络配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集网络配置文件的 IP 配置。 | VirtualMachineScaleSetNetworkConfigurationProperties |
VirtualMachineScaleSetNetworkConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
auxiliaryMode | 指定是否为网络接口资源启用辅助模式。 | “AcceleratedConnections” “浮动” “None” |
auxiliarySku | 指定是否为网络接口资源启用辅助 SKU。 | “A1” “A2” “A4” “A8” “None” |
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “分离” |
disableTcpStateTracking | 指定是否为 tcp 状态跟踪禁用网络接口。 | bool |
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineScaleSetNetworkConfigurationDnsSetting... |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineScaleSetIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineScaleSetNetworkConfigurationDnsSetting...
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineScaleSetIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | IP 配置名称。 | string (必需) |
性能 | 描述虚拟机规模集网络配置文件的 IP 配置属性。 | VirtualMachineScaleSetIPConfigurationProperties |
VirtualMachineScaleSetIPConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
applicationGatewayBackendAddressPools | 指定对应用程序网关后端地址池的引用数组。 规模集可以引用多个应用程序网关的后端地址池。 多个规模集不能使用相同的应用程序网关。 | SubResource[] |
applicationSecurityGroups | 指定对应用程序安全组的引用数组。 | SubResource[] |
loadBalancerBackendAddressPools | 指定对负载均衡器后端地址池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 | SubResource[] |
loadBalancerInboundNatPools | 指定对负载均衡器的入站 Nat 池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的入站 NAT 池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 | SubResource[] |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
privateIPAddressVersion | 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAddressConfiguration | publicIPAddressConfiguration。 | VirtualMachineScaleSetPublicIPAddressConfiguration |
子 | 指定子网的标识符。 | ApiEntityReference |
VirtualMachineScaleSetPublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 | VirtualMachineScaleSetPublicIPAddressConfigurationPr... |
sku | 描述公共 IP Sku。 只能将 OrchestrationMode 设置为灵活。 | PublicIPAddressSku |
VirtualMachineScaleSetPublicIPAddressConfigurationPr...
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时公共 IP 会发生什么情况 | “Delete” “分离” |
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachineScaleSetPublicIPAddressConfigurationDn... |
idleTimeoutInMinutes | 公共 IP 地址的空闲超时。 | int |
ipTags | 与公共 IP 地址关联的 IP 标记列表。 | VirtualMachineScaleSetIpTag[] |
publicIPAddressVersion | 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPPrefix | 要从中分配 publicIP 地址的 PublicIPPrefix。 | SubResource |
VirtualMachineScaleSetPublicIPAddressConfigurationDn...
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 | string (必需) |
domainNameLabelScope | 域名标签范围。根据域名标签范围和 vm 索引的策略生成的哈希域名标签的串联将是将创建的 PublicIPAddress 资源的域名标签 | “NoReuse” “ResourceGroupReuse” “SubscriptionReuse” “TenantReuse” |
VirtualMachineScaleSetIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
PublicIPAddressSku
名字 | 描述 | 价值 |
---|---|---|
名字 | 指定公共 IP SKU 名称 | “Basic” “Standard” |
层 | 指定公共 IP SKU 层 | “Global” “区域” |
VirtualMachineScaleSetOSProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度(Windows): 8 个字符 最小长度(Linux): 6 个字符 最大长度(Windows): 123 个字符 最大长度(Linux): 72 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” 若要重置密码,请参阅 如何在 Windows VM 中重置远程桌面服务或其登录密码 有关重置根密码,请参阅 使用 VMAccess 扩展 管理用户、SSH 并检查或修复 Azure Linux VM 上的磁盘 |
字符串 约束: 敏感值。 以安全参数的形式传入。 |
adminUsername | 指定管理员帐户的名称。 仅限 Windows 的限制: 不能以“.” 结尾。 不允许的值:“administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度(Linux): 1 个字符 最大长度(Linux): 64 个字符 最大长度(Windows): 20 个字符 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机规模集上允许扩展操作。 仅当虚拟机规模集上没有扩展时,此选项才可设置为 False。 | bool |
computerNamePrefix | 指定规模集中所有虚拟机的计算机名称前缀。 计算机名称前缀长度必须为 1 到 15 个字符。 | 字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 有关为 VM 使用 cloud-init,请参阅 使用 cloud-init 在创建期间自定义 Linux VM | 字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux。 | LinuxConfiguration |
requireGuestProvisionSignal | 必须设置为 True 或省略的可选属性。 | bool |
秘密 | 指定应在规模集中的虚拟机上安装的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
enableVMAgentPlatformUpdates | 指示是否为 Linux 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 | bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
automaticByPlatformSettings | 指定 Linux 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 | LinuxVMGuestPatchAutomaticByPlatformSettings |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
LinuxVMGuestPatchAutomaticByPlatformSettings
名字 | 描述 | 价值 |
---|---|---|
bypassPlatformSafetyChecksOnUserSchedule | 使客户能够在不意外升级的情况下计划修补 | bool |
rebootSetting | 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 | “始终” “IfRequired” “永不” “未知” |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 [在 Azure 中为 Linux VM 在 Linux 和 Mac 上创建 SSH 密钥]/azure/virtual-machines/linux/create-ssh-keys-detailed。 | 字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VaultCertificate
名字 | 描述 | 价值 |
---|---|---|
certificateStore | 对于 Windows VM,指定应向其添加证书的虚拟机上的证书存储。 指定的证书存储隐式位于 LocalMachine 帐户中。 对于 Linux VM,证书文件位于 /var/lib/waagent 目录下,文件名为 X509 证书文件 <大写Thumbprint>.crt,<用于私钥的 uppercaseThumbprint>.prv。 这两个文件都是 .pem 格式的。 | 字符串 |
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
字符串 |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
additionalUnattendContent | 指定其他 base-64 编码的 XML 格式信息,这些信息可以包含在 Windows 安装程序使用的 Unattend.xml 文件中。 | AdditionalUnattendContent[] |
enableAutomaticUpdates | 指示是否为 Windows 虚拟机启用自动更新。 默认值为 true。 对于虚拟机规模集,可以更新此属性,更新将对 OS 重新预配生效。 | bool |
enableVMAgentPlatformUpdates | 指示是否为 Windows 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 | bool |
patchSettings | [预览功能]指定与 Windows 上的 VM 来宾修补相关的设置。 | PatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认情况下此属性设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 | bool |
timeZone | 指定虚拟机的时区。 例如“太平洋标准时间”。 可能的值可以从 TimeZoneInfo.GetSystemTimeZones返回的时区 TimeZoneInfo.Id 值。 | 字符串 |
winRM | 指定 Windows 远程管理侦听器。 这将启用远程 Windows PowerShell。 | WinRMConfiguration |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到 unattend.xml 文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补程序评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
automaticByPlatformSettings | 指定 Windows 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 | WindowsVMGuestPatchAutomaticByPlatformSettings |
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “手动” |
WindowsVMGuestPatchAutomaticByPlatformSettings
名字 | 描述 | 价值 |
---|---|---|
bypassPlatformSafetyChecksOnUserSchedule | 使客户能够在不意外升级的情况下计划修补 | bool |
rebootSetting | 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 | “始终” “IfRequired” “永不” “未知” |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值为:http、https。 | “Http” “Https” |
ScheduledEventsProfile
名字 | 描述 | 价值 |
---|---|---|
osImageNotificationProfile | 指定 OS 映像计划事件相关配置。 | OSImageNotificationProfile |
terminateNotificationProfile | 指定终止计划事件相关配置。 | TerminateNotificationProfile |
OSImageNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用 OS 映像计划事件。 | bool |
notBeforeTimeout | 虚拟机重新映像或升级其 OS 的时间长度将不得不在事件自动批准(超时)之前批准 OS 映像计划事件。 配置以 ISO 8601 格式指定,该值必须为 15 分钟(PT15M) | 字符串 |
TerminateNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用终止计划事件。 | bool |
notBeforeTimeout | 删除虚拟机的可配置时间长度可能需要在事件自动批准(超时)之前批准终止计划事件。 必须以 ISO 8601 格式指定配置,默认值为 5 分钟(PT5M) | 字符串 |
SecurityPostureReference
名字 | 描述 | 价值 |
---|---|---|
excludeExtensions | 应用安全状况时要排除的虚拟机扩展列表。 | VirtualMachineExtension[] |
id | 安全状况引用 ID,格式为 /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch},{major.*},latest | 字符串 |
VirtualMachineExtension
名字 | 描述 | 价值 |
---|---|---|
位置 | 资源位置 | 字符串 |
性能 | 描述虚拟机扩展的属性。 | VirtualMachineExtensionProperties |
标签 | 资源标记 | 对象 |
VirtualMachineExtensionProperties
名字 | 描述 | 价值 |
---|---|---|
autoUpgradeMinorVersion | 指示扩展是否应在部署时使用较新的次要版本。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。 | bool |
enableAutomaticUpgrade | 指示如果有较新版本的扩展可用,平台是否应自动升级扩展。 | bool |
forceUpdateTag | 即使扩展配置未更改,扩展处理程序也应强制更新。 | 字符串 |
instanceView | 虚拟机扩展实例视图。 | VirtualMachineExtensionInstanceView |
protectedSettings | 该扩展可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或者根本不包含受保护的设置。 | |
protectedSettingsFromKeyVault | 由引用传递的扩展保护的设置,并从密钥保管库使用 | KeyVaultSecretReference |
provisionAfterExtensions | 需要预配此扩展的扩展名称的集合。 | string[] |
发行人 | 扩展处理程序发布者的名称。 | 字符串 |
设置 | 扩展的 Json 格式公共设置。 | |
suppressFailures | 指示是否取消来自扩展的故障(不连接到 VM 等操作故障不会取消,而不管此值如何)。 默认值为 false。 | bool |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
VirtualMachineExtensionInstanceView
名字 | 描述 | 价值 |
---|---|---|
名字 | 虚拟机扩展名称。 | 字符串 |
状态 | 资源状态信息。 | InstanceViewStatus[] |
substatuses | 资源状态信息。 | InstanceViewStatus[] |
类型 | 指定扩展的类型;例如“CustomScriptExtension”。 | 字符串 |
typeHandlerVersion | 指定脚本处理程序的版本。 | 字符串 |
InstanceViewStatus
名字 | 描述 | 价值 |
---|---|---|
法典 | 状态代码。 | 字符串 |
displayStatus | 状态的简短可本地化标签。 | 字符串 |
水平 | 级别代码。 | “Error” “信息” “Warning” |
消息 | 详细状态消息,包括警报和错误消息。 | 字符串 |
时间 | 状态的时间。 | 字符串 |
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认行为为:除非将此属性设置为 true,否则将禁用主机上的加密。 | bool |
encryptionIdentity | 指定 ADE 用于获取 keyvault 操作的访问令牌的托管标识。 | EncryptionIdentity |
proxyAgentSettings | 在创建虚拟机时指定 ProxyAgent 设置。 最低 API 版本:2023-09-01。 | ProxyAgentSettings |
securityType | 指定虚拟机的 SecurityType。 必须将其设置为任何指定值才能启用 UefiSettings。 默认行为为:除非设置了此属性,否则不会启用 UefiSettings。 | “ConfidentialVM” “TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 api 版本:2020-12-01。 | UefiSettings |
EncryptionIdentity
名字 | 描述 | 价值 |
---|---|---|
userAssignedIdentityResourceId | 指定与 VM 关联的用户标识之一的 ARM 资源 ID。 | 字符串 |
ProxyAgentSettings
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否应在虚拟机或虚拟机规模集上启用 ProxyAgent 功能。 | bool |
keyIncarnationId | 增加此属性的值允许用户重置用于保护来宾和主机之间的通信通道的密钥。 | int |
模式 | 指定在启用该功能时 ProxyAgent 将执行的模式。 ProxyAgent 将开始审核或监视,但不强制对审核模式下主机终结点的请求实施访问控制,而在“强制”模式下,将强制实施访问控制。 默认值为“强制”模式。 | “审核” “强制” |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 api 版本:2020-12-01。 | bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 api 版本:2020-12-01。 | bool |
ServiceArtifactReference
名字 | 描述 | 价值 |
---|---|---|
id | 以 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} 的形式的服务项目引用 ID | 字符串 |
VirtualMachineScaleSetStorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向规模集中的虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 | VirtualMachineScaleSetDataDisk[] |
diskControllerType | 字符串 | |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关规模集中虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 | VirtualMachineScaleSetOSDisk |
VirtualMachineScaleSetDataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认值为:标准存储的 None。高级存储的 ReadOnly。 | “None” “ReadOnly” “ReadWrite” |
createOption | 创建选项。 | “附加” “空” “FromImage”(必需) |
deleteOption | 指定在 VMSS Flex 删除时是否应删除或分离数据磁盘(此功能仅适用于具有灵活 OrchestrationMode 的 VMSS)。 可能的值: 删除 如果使用此值,则删除 VMSS Flex VM 时删除数据磁盘。 分离 如果使用此值,则在删除 VMSS Flex VM 后保留数据磁盘。 默认值设置为 Delete。 |
“Delete” “分离” |
diskIOPSReadWrite | 指定托管磁盘的 Read-Write IOPS。 仅当 StorageAccountType UltraSSD_LRS时才应使用。 如果未指定,则会根据 diskSizeGB 分配默认值。 | int |
diskMBpsReadWrite | 指定托管磁盘的带宽(以 MB/秒为单位)。 仅当 StorageAccountType UltraSSD_LRS时才应使用。 如果未指定,则会根据 diskSizeGB 分配默认值。 | int |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性 diskSizeGB 是磁盘的字节数 x 1024^3,该值不能大于 1023。 | int |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | VirtualMachineScaleSetManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
VirtualMachineScaleSetManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
securityProfile | 指定托管磁盘的安全配置文件。 | VMDiskSecurityProfile |
storageAccountType | 指定托管磁盘的存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “PremiumV2_LRS” “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
VMDiskSecurityProfile
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定用于客户托管密钥加密的 ConfidentialVM OS 磁盘和 VMGuest Blob 的托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
securityEncryptionType | 指定托管磁盘的 EncryptionType。 它设置为 DiskWithVMGuestState,用于加密托管磁盘以及 VMGuestState blob、VMGuestStateOnly 以仅加密 VMGuestState blob,并将 NonPersistedTPM 设置为不保留 VMGuestState blob 中的固件状态。 注意: 只能为机密 VM 设置它。 | “DiskWithVMGuestState” “NonPersistedTPM” “VMGuestStateOnly” |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
communityGalleryImageId | 为 vm 部署指定社区库映像唯一 ID。 这可以从社区库映像 GET 调用中提取。 | 字符串 |
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sharedGalleryImageId | 为 vm 部署指定共享库映像唯一 ID。 这可以从共享库映像 GET 调用中提取。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 请不要对库映像部署使用字段“version”,库映像应始终使用“id”字段进行部署,若要使用库映像的“latest”版本,只需在“id”字段中设置“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}”,而不输入版本。 | 字符串 |
VirtualMachineScaleSetOSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认值为:标准存储的 None。高级存储的 ReadOnly。 | “None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建规模集中的虚拟机。 唯一允许的值是:FromImage。 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 | “附加” “空” “FromImage”(必需) |
deleteOption | 指定在 VMSS Flex 删除时是否应删除或分离 OS 磁盘(此功能仅适用于具有灵活 OrchestrationMode 的 VMSS)。 可能的值: 删除 如果使用此值,则删除 VMSS Flex VM 时会删除 OS 磁盘。 分离 如果使用此值,则会在删除 VMSS Flex VM 后保留 OS 磁盘。 默认值设置为 Delete。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 |
“Delete” “分离” |
diffDiskSettings | 指定虚拟机规模集使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 | int |
图像 | 指定要基于规模集的非托管用户映像的信息。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | VirtualMachineScaleSetManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括:Windows、Linux。 | “Linux” “Windows” |
vhdContainers | 指定用于存储规模集操作系统磁盘的容器 URL。 | string[] |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值为: |
“CacheDisk” “ResourceDisk” |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
Sku
名字 | 描述 | 价值 |
---|---|---|
能力 | 指定规模集中的虚拟机数。 | int |
名字 | SKU 名称。 | 字符串 |
层 | 指定规模集中的虚拟机层。 可能的值: 标准 基本 |
字符串 |