Microsoft.Batch batchAccounts/pools 2018-12-01
Definición de recursos de Bicep
El tipo de recurso batchAccounts/pools se puede implementar con operaciones destinadas a:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.Batch/batchAccounts/pools, agregue el siguiente bicep a la plantilla.
resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2018-12-01' = {
parent: resourceSymbolicName
name: 'string'
properties: {
applicationLicenses: [
'string'
]
applicationPackages: [
{
id: 'string'
version: 'string'
}
]
certificates: [
{
id: 'string'
storeLocation: 'string'
storeName: 'string'
visibility: [
'string'
]
}
]
deploymentConfiguration: {
cloudServiceConfiguration: {
osFamily: 'string'
osVersion: 'string'
}
virtualMachineConfiguration: {
containerConfiguration: {
containerImageNames: [
'string'
]
containerRegistries: [
{
password: 'string'
registryServer: 'string'
username: 'string'
}
]
type: 'DockerCompatible'
}
dataDisks: [
{
caching: 'string'
diskSizeGB: int
lun: int
storageAccountType: 'string'
}
]
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
licenseType: 'string'
nodeAgentSkuId: 'string'
windowsConfiguration: {
enableAutomaticUpdates: bool
}
}
}
displayName: 'string'
interNodeCommunication: 'string'
maxTasksPerNode: int
metadata: [
{
name: 'string'
value: 'string'
}
]
networkConfiguration: {
endpointConfiguration: {
inboundNatPools: [
{
backendPort: int
frontendPortRangeEnd: int
frontendPortRangeStart: int
name: 'string'
networkSecurityGroupRules: [
{
access: 'string'
priority: int
sourceAddressPrefix: 'string'
}
]
protocol: 'string'
}
]
}
subnetId: 'string'
}
scaleSettings: {
autoScale: {
evaluationInterval: 'string'
formula: 'string'
}
fixedScale: {
nodeDeallocationOption: 'string'
resizeTimeout: 'string'
targetDedicatedNodes: int
targetLowPriorityNodes: int
}
}
startTask: {
commandLine: 'string'
containerSettings: {
containerRunOptions: 'string'
imageName: 'string'
registry: {
password: 'string'
registryServer: 'string'
username: 'string'
}
}
environmentSettings: [
{
name: 'string'
value: 'string'
}
]
maxTaskRetryCount: int
resourceFiles: [
{
autoStorageContainerName: 'string'
blobPrefix: 'string'
fileMode: 'string'
filePath: 'string'
httpUrl: 'string'
storageContainerUrl: 'string'
}
]
userIdentity: {
autoUser: {
elevationLevel: 'string'
scope: 'string'
}
userName: 'string'
}
waitForSuccess: bool
}
taskSchedulingPolicy: {
nodeFillType: 'string'
}
userAccounts: [
{
elevationLevel: 'string'
linuxUserConfiguration: {
gid: int
sshPrivateKey: 'string'
uid: int
}
name: 'string'
password: 'string'
windowsUserConfiguration: {
loginMode: 'string'
}
}
]
vmSize: 'string'
}
}
Valores de propiedad
ApplicationPackageReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Identificador del paquete de aplicación que se va a instalar. Debe estar dentro de la misma cuenta por lotes que el grupo. Puede ser una referencia a una versión específica o a la versión predeterminada si existe una. | string (obligatorio) |
Versión | Si se omite y no se especifica ninguna versión predeterminada para esta aplicación, se produce un error en la solicitud con el código de error InvalidApplicationPackageReferences. Si llama directamente a la API REST, el código de estado HTTP es 409. | cuerda |
AutoScaleSettings
Nombre | Descripción | Valor |
---|---|---|
evaluationInterval | Si se omite, el valor predeterminado es 15 minutos (PT15M). | cuerda |
fórmula | Fórmula para el número deseado de nodos de proceso en el grupo. | string (obligatorio) |
AutoUserSpecification
Nombre | Descripción | Valor |
---|---|---|
elevationLevel | nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. | 'Admin' 'NonAdmin' |
alcance | El valor predeterminado es task. | 'Pool' 'Tarea' |
CertificateReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Identificador completo del certificado que se va a instalar en el grupo. Debe estar dentro de la misma cuenta por lotes que el grupo. | string (obligatorio) |
storeLocation | El valor predeterminado es currentUser. Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. | 'CurrentUser' "LocalMachine" |
storeName | Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). Los nombres de almacén comunes incluyen: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, pero también se puede usar cualquier nombre de almacén personalizado. El valor predeterminado es My. | cuerda |
visibilidad | Qué cuentas de usuario del nodo de proceso deben tener acceso a los datos privados del certificado. | Matriz de cadenas que contiene cualquiera de: 'RemoteUser' 'StartTask' 'Tarea' |
CloudServiceConfiguration
Nombre | Descripción | Valor |
---|---|---|
osFamily | Los valores posibles son: 2 - Familia de so 2, equivalente a Windows Server 2008 R2 SP1. 3 - Familia de so 3, equivalente a Windows Server 2012. 4 - Familia de so 4, equivalente a Windows Server 2012 R2. 5 - Familia de so 5, equivalente a Windows Server 2016. Para más información, consulte Versiones del sistema operativo invitado de Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). | string (obligatorio) |
osVersion | El valor predeterminado es * que especifica la versión más reciente del sistema operativo para la familia de sistema operativo especificada. | cuerda |
ContainerConfiguration
Nombre | Descripción | Valor |
---|---|---|
containerImageNames | Esta es la referencia de imagen completa, como se especificaría en "docker pull". Se generará una imagen del registro de Docker predeterminado a menos que la imagen esté completa con un registro alternativo. | string[] |
containerRegistries | Si se deben descargar imágenes de un registro privado que requiera credenciales, esas credenciales deben proporcionarse aquí. | containerRegistry[] |
tipo | Tecnología de contenedor que se va a usar. | 'DockerCompatible' (obligatorio) |
ContainerRegistry
Nombre | Descripción | Valor |
---|---|---|
contraseña | Contraseña que se va a iniciar sesión en el servidor del Registro. | string (obligatorio) |
RegistryServer | Si se omite, el valor predeterminado es "docker.io". | cuerda |
nombre de usuario | Nombre de usuario que se va a iniciar sesión en el servidor del Registro. | string (obligatorio) |
DataDisk
Nombre | Descripción | Valor |
---|---|---|
Caché | Los valores son: none: el modo de almacenamiento en caché del disco no está habilitado. readOnly: el modo de almacenamiento en caché del disco es de solo lectura. readWrite: el modo de almacenamiento en caché del disco es de lectura y escritura. El valor predeterminado para el almacenamiento en caché no es ninguno. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. |
'Ninguno' 'ReadOnly' "ReadWrite" |
diskSizeGB | Tamaño de disco inicial en GB al crear un nuevo disco de datos. | int (obligatorio) |
Lun | El lun se usa para identificar de forma única cada disco de datos. Si conecta varios discos, cada uno debe tener un lun distinto. | int (obligatorio) |
storageAccountType | Si se omite, el valor predeterminado es "Standard_LRS". Los valores son: Standard_LRS: el disco de datos debe usar el almacenamiento con redundancia local estándar. Premium_LRS: el disco de datos debe usar el almacenamiento con redundancia local Premium. |
"Premium_LRS" "Standard_LRS" |
DeploymentConfiguration
EnvironmentSetting
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre de la variable de entorno. | string (obligatorio) |
valor | Valor de la variable de entorno. | cuerda |
FixedScaleSettings
Nombre | Descripción | Valor |
---|---|---|
nodeDeallocationOption | Si se omite, el valor predeterminado es Requeue. | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | El valor predeterminado es de 15 minutos. Los valores de tiempo de espera usan el formato ISO 8601. Por ejemplo, use PT10M durante 10 minutos. El valor mínimo es de 5 minutos. Si especifica un valor inferior a 5 minutos, el servicio Batch rechaza la solicitud con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta). | cuerda |
targetDedicatedNodes | Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. | Int |
targetLowPriorityNodes | Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. | Int |
ImageReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Esta propiedad es mutuamente excluyente con otras propiedades. La imagen de máquina virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. Para obtener información sobre la configuración del firewall para que el agente de nodo de Batch se comunique con el servicio Batch, consulte /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration . | cuerda |
ofrecer | Por ejemplo, UbuntuServer o WindowsServer. | cuerda |
editor | Por ejemplo, Canonical o MicrosoftWindowsServer. | cuerda |
Sku | Por ejemplo, 14.04.0-LTS o 2012-R2-Datacenter. | cuerda |
Versión | Se puede especificar un valor de "latest" para seleccionar la versión más reciente de una imagen. Si se omite, el valor predeterminado es "latest". | cuerda |
InboundNatPool
Nombre | Descripción | Valor |
---|---|---|
backendPort | Debe ser único dentro de un grupo de Batch. Los valores aceptables están comprendidos entre 1 y 65535, excepto 22, 3389, 29876 y 29877, ya que están reservados. Si se proporcionan valores reservados, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
frontendPortRangeEnd | Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados por el servicio Batch. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
frontendPortRangeStart | Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
nombre | El nombre debe ser único dentro de un grupo de Batch, puede contener letras, números, caracteres de subrayado, puntos y guiones. Los nombres deben comenzar con una letra o un número, deben terminar con una letra, un número o un carácter de subrayado, y no pueden superar los 77 caracteres. Si se proporcionan valores no válidos, se produce un error en la solicitud con el código de estado HTTP 400. | string (obligatorio) |
networkSecurityGroupRules | El número máximo de reglas que se pueden especificar en todos los puntos de conexión de un grupo de Batch es 25. Si no se especifica ninguna regla de grupo de seguridad de red, se creará una regla predeterminada para permitir el acceso entrante a backendPort especificado. Si se supera el número máximo de reglas de grupo de seguridad de red, se produce un error en la solicitud con el código de estado HTTP 400. | networkSecurityGroupRule[] |
protocolo | Protocolo del punto de conexión. | 'TCP' 'UDP' (obligatorio) |
LinuxUserConfiguration
Nombre | Descripción | Valor |
---|---|---|
Gid | Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el gid. | Int |
sshPrivateKey | La clave privada no debe estar protegida con contraseña. La clave privada se usa para configurar automáticamente la autenticación basada en claves asimétricas para SSH entre nodos de un grupo de Linux cuando la propiedad enableInterNodeCommunication del grupo es true (se omite si enableInterNodeCommunication es false). Para ello, coloca el par de claves en el directorio .ssh del usuario. Si no se especifica, SSH sin contraseña no está configurado entre nodos (no se realiza ninguna modificación del directorio .ssh del usuario). | cuerda |
Uid | Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el uid. | Int |
MetadataItem
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre del elemento de metadatos. | string (obligatorio) |
valor | Valor del elemento de metadatos. | string (obligatorio) |
Microsoft.Batch/batchAccounts/pools
Nombre | Descripción | Valor |
---|---|---|
nombre | El nombre del recurso | cuerda Restricciones: Longitud mínima = 1 Longitud máxima = 1 Patrón = ^[a-zA-Z0-9_-]+$ (obligatorio) |
padre | En Bicep, puede especificar el recurso primario para un recurso secundario. Solo tiene que agregar esta propiedad cuando el recurso secundario se declara fuera del recurso primario. Para obtener más información, consulte recurso secundario fuera del recurso primario. |
Nombre simbólico del recurso de tipo: batchAccounts |
Propiedades | Propiedades asociadas al grupo. | poolProperties de |
NetworkConfiguration
Nombre | Descripción | Valor |
---|---|---|
endpointConfiguration | La configuración del punto de conexión del grupo solo se admite en grupos con la propiedad virtualMachineConfiguration. | PoolEndpointConfiguration |
subnetId | La red virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. La subred especificada debe tener suficientes direcciones IP libres para dar cabida al número de nodos del grupo. Si la subred no tiene suficientes direcciones IP libres, el grupo asignará parcialmente nodos de proceso y se producirá un error de cambio de tamaño. La entidad de servicio "MicrosoftAzureBatch" debe tener el rol "Colaborador de máquina virtual clásica" Role-Based Control de acceso (RBAC) para la red virtual especificada. La subred especificada debe permitir la comunicación desde el servicio Azure Batch para poder programar tareas en los nodos de proceso. Para comprobarlo, compruebe si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado. Si un NSG deniega la comunicación con los nodos de proceso de la subred especificada, el servicio Batch establecerá el estado de los nodos de proceso en inutilizable. Para los grupos creados a través de virtualMachineConfiguration, la cuenta de Batch debe tener userSubscription poolAllocationMode para poder usar una red virtual. Si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado, se deben habilitar algunos puertos del sistema reservados para la comunicación entrante. En el caso de los grupos creados con una configuración de máquina virtual, habilite los puertos 29876 y 29877, así como el puerto 22 para Linux y el puerto 3389 para Windows. En el caso de los grupos creados con una configuración de servicio en la nube, habilite los puertos 10100, 20100 y 30100. Habilite también las conexiones salientes a Azure Storage en el puerto 443. Para más información, consulte : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | cuerda |
NetworkSecurityGroupRule
Nombre | Descripción | Valor |
---|---|---|
acceso | Acción que se debe realizar para una dirección IP, un intervalo de subred o una etiqueta especificados. | 'Permitir' 'Deny' (obligatorio) |
prioridad | Las prioridades dentro de un grupo deben ser únicas y se evalúan en orden de prioridad. Cuanto menor sea el número, mayor será la prioridad. Por ejemplo, se podrían especificar reglas con números de orden de 150, 250 y 350. La regla con el número de orden de 150 tiene prioridad sobre la regla que tiene un orden de 250. Las prioridades permitidas son de 150 a 3500. Si se proporcionan valores reservados o duplicados, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
sourceAddressPrefix | Los valores válidos son una sola dirección IP (es decir, 10.10.10.10), subred IP (es decir, 192.168.1.0/24), etiqueta predeterminada o * (para todas las direcciones). Si se proporcionan otros valores, se produce un error en la solicitud con el código de estado HTTP 400. | string (obligatorio) |
PoolEndpointConfiguration
Nombre | Descripción | Valor |
---|---|---|
inboundNatPools | El número máximo de grupos NAT entrantes por grupo de Batch es 5. Si se supera el número máximo de grupos NAT de entrada, se produce un error en la solicitud con el código de estado HTTP 400. | inboundNatPool[] (obligatorio) |
PoolProperties
Nombre | Descripción | Valor |
---|---|---|
applicationLicenses | La lista de licencias de aplicación debe ser un subconjunto de licencias de aplicaciones de servicio de Batch disponibles. Si se solicita una licencia que no se admite, se producirá un error en la creación del grupo. | string[] |
applicationPackages | Los cambios en los paquetes de aplicación afectan a todos los nuevos nodos de proceso que se unen al grupo, pero no afectan a los nodos de proceso que ya están en el grupo hasta que se reinician o se vuelven a crear imágenes. | ApplicationPackageReference[] |
Certificados | En el caso de los nodos de proceso de Windows, el servicio Batch instala los certificados en el almacén de certificados y la ubicación especificados. En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. | certificateReference[] |
deploymentConfiguration | El uso de CloudServiceConfiguration especifica que los nodos deben crearse mediante Azure Cloud Services (PaaS), mientras que VirtualMachineConfiguration usa Azure Virtual Machines (IaaS). | DeploymentConfiguration |
displayName | El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024. | cuerda |
interNodeCommunication | Esto impone restricciones en las que se pueden asignar nodos al grupo. La habilitación de este valor puede reducir la posibilidad de asignar el número solicitado de nodos en el grupo. Si no se especifica, este valor tiene como valor predeterminado "Disabled". | 'Deshabilitado' 'Habilitado' |
maxTasksPerNode | Número máximo de tareas que se pueden ejecutar simultáneamente en un único nodo de proceso del grupo. | Int |
metadatos | El servicio Batch no asigna ningún significado a los metadatos; es únicamente para el uso del código de usuario. | metadataItem[] |
networkConfiguration | Configuración de red de un grupo. | networkConfiguration |
scaleSettings | Define el tamaño deseado del grupo. Esto puede ser "fixedScale" donde se especifica targetDedicatedNodes solicitado o "autoScale", que define una fórmula que se vuelve a evaluar periódicamente. Si no se especifica esta propiedad, el grupo tendrá una escala fija con 0 targetDedicatedNodes. | scaleSettings |
startTask | En una operación PATCH (actualización), esta propiedad se puede establecer en un objeto vacío para quitar la tarea de inicio del grupo. | StartTask |
taskSchedulingPolicy | Especifica cómo se deben distribuir las tareas entre los nodos de proceso. | TaskSchedulingPolicy |
userAccounts | Lista de cuentas de usuario que se van a crear en cada nodo del grupo. | UserAccount [] |
vmSize | Para obtener información sobre los tamaños disponibles de las máquinas virtuales para los grupos de Cloud Services (grupos creados con cloudServiceConfiguration), consulte Tamaños de Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch admite todos los tamaños de máquina virtual de Cloud Services, excepto ExtraSmall. Para obtener información sobre los tamaños de máquina virtual disponibles para los grupos que usan imágenes de Marketplace de máquinas virtuales (grupos creados con virtualMachineConfiguration), consulte Tamaños de máquinas virtuales (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) o Tamaños de máquinas virtuales (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch admite todos los tamaños de máquina virtual de Azure, excepto STANDARD_A0 y aquellos con premium Storage (STANDARD_GS, STANDARD_DS y serie STANDARD_DSV2). | cuerda |
ResourceFile
Nombre | Descripción | Valor |
---|---|---|
autoStorageContainerName | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. | cuerda |
blobPrefix | La propiedad solo es válida cuando se usa autoStorageContainerName o storageContainerUrl. Este prefijo puede ser un nombre de archivo parcial o un subdirectorio. Si no se especifica un prefijo, se descargarán todos los archivos del contenedor. | cuerda |
fileMode | Esta propiedad solo se aplica a los archivos que se descargan en los nodos de proceso de Linux. Se omitirá si se especifica para un resourceFile que se descargará en un nodo de Windows. Si no se especifica esta propiedad para un nodo de Linux, se aplica un valor predeterminado de 0770 al archivo. | cuerda |
filePath | Si se especifica la propiedad httpUrl, se requiere filePath y describe la ruta de acceso a la que se descargará el archivo, incluido el nombre de archivo. De lo contrario, si se especifica la propiedad autoStorageContainerName o storageContainerUrl, filePath es opcional y es el directorio al que descargar los archivos. En el caso de que filePath se use como directorio, cualquier estructura de directorios que ya esté asociada a los datos de entrada se conservará en su totalidad y se anexará al directorio filePath especificado. La ruta de acceso relativa especificada no puede dividirse en el directorio de trabajo de la tarea (por ejemplo, mediante '..'). | cuerda |
httpUrl | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Si la dirección URL es Azure Blob Storage, debe ser legible mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura en el blob o establezca la ACL para el blob o su contenedor para permitir el acceso público. | cuerda |
storageContainerUrl | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Esta dirección URL debe ser legible y enumerable mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura y lista en el blob, o establezca la ACL para el blob o su contenedor para permitir el acceso público. | cuerda |
ScaleSettings
Nombre | Descripción | Valor |
---|---|---|
escalado automático | Esta propiedad y fixedScale son mutuamente excluyentes y se debe especificar una de las propiedades. | AutoScaleSettings |
fixedScale | Esta propiedad y autoScale son mutuamente excluyentes y se debe especificar una de las propiedades. | fixedScaleSettings |
StartTask
Nombre | Descripción | Valor |
---|---|---|
commandLine | La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask. | cuerda |
containerSettings | Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor. | TaskContainerSettings |
environmentSettings | Lista de opciones de configuración de variables de entorno para la tarea de inicio. | EnvironmentSetting[] |
maxTaskRetryCount | El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no vuelve a intentar la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. | Int |
resourceFiles | Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. | ResourceFile [] |
userIdentity | Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. | UserIdentity de |
waitForSuccess | Si es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar mediante el estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es false. | Bool |
TaskContainerSettings
Nombre | Descripción | Valor |
---|---|---|
containerRunOptions | Estas opciones adicionales se proporcionan como argumentos para el comando "docker create", además de las controladas por el servicio Batch. | cuerda |
imageName | Esta es la referencia de imagen completa, como se especificaría en "docker pull". Si no se proporciona ninguna etiqueta como parte del nombre de la imagen, la etiqueta ":latest" se usa como valor predeterminado. | string (obligatorio) |
registro | Esta configuración se puede omitir si ya se proporcionó en la creación del grupo. | containerRegistry de |
TaskSchedulingPolicy
Nombre | Descripción | Valor |
---|---|---|
nodeFillType | Cómo se deben distribuir las tareas entre nodos de proceso. | 'Pack' 'Spread' (obligatorio) |
UserAccount
Nombre | Descripción | Valor |
---|---|---|
elevationLevel | nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. | 'Admin' 'NonAdmin' |
linuxUserConfiguration | Esta propiedad se omite si se especifica en un grupo de Windows. Si no se especifica, el usuario se crea con las opciones predeterminadas. | LinuxUserConfiguration |
nombre | Nombre de la cuenta de usuario. | string (obligatorio) |
contraseña | Contraseña de la cuenta de usuario. | string (obligatorio) |
windowsUserConfiguration | Esta propiedad solo se puede especificar si el usuario está en un grupo de Windows. Si no se especifica y en un grupo de Windows, el usuario se crea con las opciones predeterminadas. | windowsUserConfiguration |
UserIdentity
VirtualMachineConfiguration
Nombre | Descripción | Valor |
---|---|---|
containerConfiguration | Si se especifica, la instalación se realiza en cada nodo del grupo para permitir que las tareas se ejecuten en contenedores. Todas las tareas normales y las tareas del administrador de trabajos que se ejecutan en este grupo deben especificar la propiedad containerSettings y todas las demás tareas pueden especificarla. | containerConfiguration |
dataDisks | Esta propiedad debe especificarse si los nodos de proceso del grupo deben tener discos de datos vacíos conectados a ellos. | DataDisk [] |
imageReference | Referencia a una imagen de Marketplace de Azure Virtual Machines o al recurso De imagen de Azure de una máquina virtual personalizada. Para obtener la lista de todas las imageReferences verificadas por Azure Batch, consulte la operación "Enumeración de SKU de agente de nodo compatibles". | imageReference (obligatorio) |
licenseType | Esto solo se aplica a las imágenes que contienen el sistema operativo Windows y solo se deben usar cuando contenga licencias locales válidas para los nodos que se implementarán. Si se omite, no se aplica ningún descuento de licencia local. Los valores son: Windows_Server: la licencia local es para Windows Server. Windows_Client: la licencia local es para el cliente de Windows. |
cuerda |
nodeAgentSkuId | El agente de nodo de Batch es un programa que se ejecuta en cada nodo del grupo y proporciona la interfaz de comando y control entre el nodo y el servicio Batch. Hay diferentes implementaciones del agente de nodo, conocidas como SKU, para diferentes sistemas operativos. Debe especificar una SKU del agente de nodo que coincida con la referencia de imagen seleccionada. Para obtener la lista de SKU de agente de nodo compatibles junto con su lista de referencias de imágenes verificadas, consulte la operación "Enumerar SKU de agente de nodo compatibles". | string (obligatorio) |
windowsConfiguration | Esta propiedad no se debe especificar si imageReference especifica una imagen del sistema operativo Linux. | windowsConfiguration |
WindowsConfiguration
Nombre | Descripción | Valor |
---|---|---|
enableAutomaticUpdates | Si se omite, el valor predeterminado es true. | Bool |
WindowsUserConfiguration
Nombre | Descripción | Valor |
---|---|---|
loginMode | Especifica el modo de inicio de sesión para el usuario. El valor predeterminado de los grupos de VirtualMachineConfiguration es el modo interactivo y para los grupos de CloudServiceConfiguration es el modo por lotes. | 'Batch' 'Interactivo' |
Ejemplos de inicio rápido
En los ejemplos de inicio rápido siguientes se implementa este tipo de recurso.
Archivo de Bicep | Descripción |
---|---|
grupo de Azure Batch sin direcciones IP públicas | Esta plantilla crea un grupo de comunicación de nodos simplificado de Azure Batch sin direcciones IP públicas. |
Definición de recursos de plantilla de ARM
El tipo de recurso batchAccounts/pools se puede implementar con operaciones destinadas a:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.Batch/batchAccounts/pools, agregue el siguiente JSON a la plantilla.
{
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2018-12-01",
"name": "string",
"properties": {
"applicationLicenses": [ "string" ],
"applicationPackages": [
{
"id": "string",
"version": "string"
}
],
"certificates": [
{
"id": "string",
"storeLocation": "string",
"storeName": "string",
"visibility": [ "string" ]
}
],
"deploymentConfiguration": {
"cloudServiceConfiguration": {
"osFamily": "string",
"osVersion": "string"
},
"virtualMachineConfiguration": {
"containerConfiguration": {
"containerImageNames": [ "string" ],
"containerRegistries": [
{
"password": "string",
"registryServer": "string",
"username": "string"
}
],
"type": "DockerCompatible"
},
"dataDisks": [
{
"caching": "string",
"diskSizeGB": "int",
"lun": "int",
"storageAccountType": "string"
}
],
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"licenseType": "string",
"nodeAgentSkuId": "string",
"windowsConfiguration": {
"enableAutomaticUpdates": "bool"
}
}
},
"displayName": "string",
"interNodeCommunication": "string",
"maxTasksPerNode": "int",
"metadata": [
{
"name": "string",
"value": "string"
}
],
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": "int",
"frontendPortRangeEnd": "int",
"frontendPortRangeStart": "int",
"name": "string",
"networkSecurityGroupRules": [
{
"access": "string",
"priority": "int",
"sourceAddressPrefix": "string"
}
],
"protocol": "string"
}
]
},
"subnetId": "string"
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "string",
"formula": "string"
},
"fixedScale": {
"nodeDeallocationOption": "string",
"resizeTimeout": "string",
"targetDedicatedNodes": "int",
"targetLowPriorityNodes": "int"
}
},
"startTask": {
"commandLine": "string",
"containerSettings": {
"containerRunOptions": "string",
"imageName": "string",
"registry": {
"password": "string",
"registryServer": "string",
"username": "string"
}
},
"environmentSettings": [
{
"name": "string",
"value": "string"
}
],
"maxTaskRetryCount": "int",
"resourceFiles": [
{
"autoStorageContainerName": "string",
"blobPrefix": "string",
"fileMode": "string",
"filePath": "string",
"httpUrl": "string",
"storageContainerUrl": "string"
}
],
"userIdentity": {
"autoUser": {
"elevationLevel": "string",
"scope": "string"
},
"userName": "string"
},
"waitForSuccess": "bool"
},
"taskSchedulingPolicy": {
"nodeFillType": "string"
},
"userAccounts": [
{
"elevationLevel": "string",
"linuxUserConfiguration": {
"gid": "int",
"sshPrivateKey": "string",
"uid": "int"
},
"name": "string",
"password": "string",
"windowsUserConfiguration": {
"loginMode": "string"
}
}
],
"vmSize": "string"
}
}
Valores de propiedad
ApplicationPackageReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Identificador del paquete de aplicación que se va a instalar. Debe estar dentro de la misma cuenta por lotes que el grupo. Puede ser una referencia a una versión específica o a la versión predeterminada si existe una. | string (obligatorio) |
Versión | Si se omite y no se especifica ninguna versión predeterminada para esta aplicación, se produce un error en la solicitud con el código de error InvalidApplicationPackageReferences. Si llama directamente a la API REST, el código de estado HTTP es 409. | cuerda |
AutoScaleSettings
Nombre | Descripción | Valor |
---|---|---|
evaluationInterval | Si se omite, el valor predeterminado es 15 minutos (PT15M). | cuerda |
fórmula | Fórmula para el número deseado de nodos de proceso en el grupo. | string (obligatorio) |
AutoUserSpecification
Nombre | Descripción | Valor |
---|---|---|
elevationLevel | nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. | 'Admin' 'NonAdmin' |
alcance | El valor predeterminado es task. | 'Pool' 'Tarea' |
CertificateReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Identificador completo del certificado que se va a instalar en el grupo. Debe estar dentro de la misma cuenta por lotes que el grupo. | string (obligatorio) |
storeLocation | El valor predeterminado es currentUser. Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. | 'CurrentUser' "LocalMachine" |
storeName | Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). Los nombres de almacén comunes incluyen: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, pero también se puede usar cualquier nombre de almacén personalizado. El valor predeterminado es My. | cuerda |
visibilidad | Qué cuentas de usuario del nodo de proceso deben tener acceso a los datos privados del certificado. | Matriz de cadenas que contiene cualquiera de: 'RemoteUser' 'StartTask' 'Tarea' |
CloudServiceConfiguration
Nombre | Descripción | Valor |
---|---|---|
osFamily | Los valores posibles son: 2 - Familia de so 2, equivalente a Windows Server 2008 R2 SP1. 3 - Familia de so 3, equivalente a Windows Server 2012. 4 - Familia de so 4, equivalente a Windows Server 2012 R2. 5 - Familia de so 5, equivalente a Windows Server 2016. Para más información, consulte Versiones del sistema operativo invitado de Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). | string (obligatorio) |
osVersion | El valor predeterminado es * que especifica la versión más reciente del sistema operativo para la familia de sistema operativo especificada. | cuerda |
ContainerConfiguration
Nombre | Descripción | Valor |
---|---|---|
containerImageNames | Esta es la referencia de imagen completa, como se especificaría en "docker pull". Se generará una imagen del registro de Docker predeterminado a menos que la imagen esté completa con un registro alternativo. | string[] |
containerRegistries | Si se deben descargar imágenes de un registro privado que requiera credenciales, esas credenciales deben proporcionarse aquí. | containerRegistry[] |
tipo | Tecnología de contenedor que se va a usar. | 'DockerCompatible' (obligatorio) |
ContainerRegistry
Nombre | Descripción | Valor |
---|---|---|
contraseña | Contraseña que se va a iniciar sesión en el servidor del Registro. | string (obligatorio) |
RegistryServer | Si se omite, el valor predeterminado es "docker.io". | cuerda |
nombre de usuario | Nombre de usuario que se va a iniciar sesión en el servidor del Registro. | string (obligatorio) |
DataDisk
Nombre | Descripción | Valor |
---|---|---|
Caché | Los valores son: none: el modo de almacenamiento en caché del disco no está habilitado. readOnly: el modo de almacenamiento en caché del disco es de solo lectura. readWrite: el modo de almacenamiento en caché del disco es de lectura y escritura. El valor predeterminado para el almacenamiento en caché no es ninguno. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. |
'Ninguno' 'ReadOnly' "ReadWrite" |
diskSizeGB | Tamaño de disco inicial en GB al crear un nuevo disco de datos. | int (obligatorio) |
Lun | El lun se usa para identificar de forma única cada disco de datos. Si conecta varios discos, cada uno debe tener un lun distinto. | int (obligatorio) |
storageAccountType | Si se omite, el valor predeterminado es "Standard_LRS". Los valores son: Standard_LRS: el disco de datos debe usar el almacenamiento con redundancia local estándar. Premium_LRS: el disco de datos debe usar el almacenamiento con redundancia local Premium. |
"Premium_LRS" "Standard_LRS" |
DeploymentConfiguration
EnvironmentSetting
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre de la variable de entorno. | string (obligatorio) |
valor | Valor de la variable de entorno. | cuerda |
FixedScaleSettings
Nombre | Descripción | Valor |
---|---|---|
nodeDeallocationOption | Si se omite, el valor predeterminado es Requeue. | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | El valor predeterminado es de 15 minutos. Los valores de tiempo de espera usan el formato ISO 8601. Por ejemplo, use PT10M durante 10 minutos. El valor mínimo es de 5 minutos. Si especifica un valor inferior a 5 minutos, el servicio Batch rechaza la solicitud con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta). | cuerda |
targetDedicatedNodes | Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. | Int |
targetLowPriorityNodes | Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. | Int |
ImageReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Esta propiedad es mutuamente excluyente con otras propiedades. La imagen de máquina virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. Para obtener información sobre la configuración del firewall para que el agente de nodo de Batch se comunique con el servicio Batch, consulte /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration . | cuerda |
ofrecer | Por ejemplo, UbuntuServer o WindowsServer. | cuerda |
editor | Por ejemplo, Canonical o MicrosoftWindowsServer. | cuerda |
Sku | Por ejemplo, 14.04.0-LTS o 2012-R2-Datacenter. | cuerda |
Versión | Se puede especificar un valor de "latest" para seleccionar la versión más reciente de una imagen. Si se omite, el valor predeterminado es "latest". | cuerda |
InboundNatPool
Nombre | Descripción | Valor |
---|---|---|
backendPort | Debe ser único dentro de un grupo de Batch. Los valores aceptables están comprendidos entre 1 y 65535, excepto 22, 3389, 29876 y 29877, ya que están reservados. Si se proporcionan valores reservados, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
frontendPortRangeEnd | Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados por el servicio Batch. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
frontendPortRangeStart | Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
nombre | El nombre debe ser único dentro de un grupo de Batch, puede contener letras, números, caracteres de subrayado, puntos y guiones. Los nombres deben comenzar con una letra o un número, deben terminar con una letra, un número o un carácter de subrayado, y no pueden superar los 77 caracteres. Si se proporcionan valores no válidos, se produce un error en la solicitud con el código de estado HTTP 400. | string (obligatorio) |
networkSecurityGroupRules | El número máximo de reglas que se pueden especificar en todos los puntos de conexión de un grupo de Batch es 25. Si no se especifica ninguna regla de grupo de seguridad de red, se creará una regla predeterminada para permitir el acceso entrante a backendPort especificado. Si se supera el número máximo de reglas de grupo de seguridad de red, se produce un error en la solicitud con el código de estado HTTP 400. | networkSecurityGroupRule[] |
protocolo | Protocolo del punto de conexión. | 'TCP' 'UDP' (obligatorio) |
LinuxUserConfiguration
Nombre | Descripción | Valor |
---|---|---|
Gid | Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el gid. | Int |
sshPrivateKey | La clave privada no debe estar protegida con contraseña. La clave privada se usa para configurar automáticamente la autenticación basada en claves asimétricas para SSH entre nodos de un grupo de Linux cuando la propiedad enableInterNodeCommunication del grupo es true (se omite si enableInterNodeCommunication es false). Para ello, coloca el par de claves en el directorio .ssh del usuario. Si no se especifica, SSH sin contraseña no está configurado entre nodos (no se realiza ninguna modificación del directorio .ssh del usuario). | cuerda |
Uid | Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el uid. | Int |
MetadataItem
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre del elemento de metadatos. | string (obligatorio) |
valor | Valor del elemento de metadatos. | string (obligatorio) |
Microsoft.Batch/batchAccounts/pools
Nombre | Descripción | Valor |
---|---|---|
apiVersion | La versión de api | '2018-12-01' |
nombre | El nombre del recurso | cuerda Restricciones: Longitud mínima = 1 Longitud máxima = 1 Patrón = ^[a-zA-Z0-9_-]+$ (obligatorio) |
Propiedades | Propiedades asociadas al grupo. | poolProperties de |
tipo | El tipo de recurso | "Microsoft.Batch/batchAccounts/pools" |
NetworkConfiguration
Nombre | Descripción | Valor |
---|---|---|
endpointConfiguration | La configuración del punto de conexión del grupo solo se admite en grupos con la propiedad virtualMachineConfiguration. | PoolEndpointConfiguration |
subnetId | La red virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. La subred especificada debe tener suficientes direcciones IP libres para dar cabida al número de nodos del grupo. Si la subred no tiene suficientes direcciones IP libres, el grupo asignará parcialmente nodos de proceso y se producirá un error de cambio de tamaño. La entidad de servicio "MicrosoftAzureBatch" debe tener el rol "Colaborador de máquina virtual clásica" Role-Based Control de acceso (RBAC) para la red virtual especificada. La subred especificada debe permitir la comunicación desde el servicio Azure Batch para poder programar tareas en los nodos de proceso. Para comprobarlo, compruebe si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado. Si un NSG deniega la comunicación con los nodos de proceso de la subred especificada, el servicio Batch establecerá el estado de los nodos de proceso en inutilizable. Para los grupos creados a través de virtualMachineConfiguration, la cuenta de Batch debe tener userSubscription poolAllocationMode para poder usar una red virtual. Si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado, se deben habilitar algunos puertos del sistema reservados para la comunicación entrante. En el caso de los grupos creados con una configuración de máquina virtual, habilite los puertos 29876 y 29877, así como el puerto 22 para Linux y el puerto 3389 para Windows. En el caso de los grupos creados con una configuración de servicio en la nube, habilite los puertos 10100, 20100 y 30100. Habilite también las conexiones salientes a Azure Storage en el puerto 443. Para más información, consulte : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | cuerda |
NetworkSecurityGroupRule
Nombre | Descripción | Valor |
---|---|---|
acceso | Acción que se debe realizar para una dirección IP, un intervalo de subred o una etiqueta especificados. | 'Permitir' 'Deny' (obligatorio) |
prioridad | Las prioridades dentro de un grupo deben ser únicas y se evalúan en orden de prioridad. Cuanto menor sea el número, mayor será la prioridad. Por ejemplo, se podrían especificar reglas con números de orden de 150, 250 y 350. La regla con el número de orden de 150 tiene prioridad sobre la regla que tiene un orden de 250. Las prioridades permitidas son de 150 a 3500. Si se proporcionan valores reservados o duplicados, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
sourceAddressPrefix | Los valores válidos son una sola dirección IP (es decir, 10.10.10.10), subred IP (es decir, 192.168.1.0/24), etiqueta predeterminada o * (para todas las direcciones). Si se proporcionan otros valores, se produce un error en la solicitud con el código de estado HTTP 400. | string (obligatorio) |
PoolEndpointConfiguration
Nombre | Descripción | Valor |
---|---|---|
inboundNatPools | El número máximo de grupos NAT entrantes por grupo de Batch es 5. Si se supera el número máximo de grupos NAT de entrada, se produce un error en la solicitud con el código de estado HTTP 400. | inboundNatPool[] (obligatorio) |
PoolProperties
Nombre | Descripción | Valor |
---|---|---|
applicationLicenses | La lista de licencias de aplicación debe ser un subconjunto de licencias de aplicaciones de servicio de Batch disponibles. Si se solicita una licencia que no se admite, se producirá un error en la creación del grupo. | string[] |
applicationPackages | Los cambios en los paquetes de aplicación afectan a todos los nuevos nodos de proceso que se unen al grupo, pero no afectan a los nodos de proceso que ya están en el grupo hasta que se reinician o se vuelven a crear imágenes. | ApplicationPackageReference[] |
Certificados | En el caso de los nodos de proceso de Windows, el servicio Batch instala los certificados en el almacén de certificados y la ubicación especificados. En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. | certificateReference[] |
deploymentConfiguration | El uso de CloudServiceConfiguration especifica que los nodos deben crearse mediante Azure Cloud Services (PaaS), mientras que VirtualMachineConfiguration usa Azure Virtual Machines (IaaS). | DeploymentConfiguration |
displayName | El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024. | cuerda |
interNodeCommunication | Esto impone restricciones en las que se pueden asignar nodos al grupo. La habilitación de este valor puede reducir la posibilidad de asignar el número solicitado de nodos en el grupo. Si no se especifica, este valor tiene como valor predeterminado "Disabled". | 'Deshabilitado' 'Habilitado' |
maxTasksPerNode | Número máximo de tareas que se pueden ejecutar simultáneamente en un único nodo de proceso del grupo. | Int |
metadatos | El servicio Batch no asigna ningún significado a los metadatos; es únicamente para el uso del código de usuario. | metadataItem[] |
networkConfiguration | Configuración de red de un grupo. | networkConfiguration |
scaleSettings | Define el tamaño deseado del grupo. Esto puede ser "fixedScale" donde se especifica targetDedicatedNodes solicitado o "autoScale", que define una fórmula que se vuelve a evaluar periódicamente. Si no se especifica esta propiedad, el grupo tendrá una escala fija con 0 targetDedicatedNodes. | scaleSettings |
startTask | En una operación PATCH (actualización), esta propiedad se puede establecer en un objeto vacío para quitar la tarea de inicio del grupo. | StartTask |
taskSchedulingPolicy | Especifica cómo se deben distribuir las tareas entre los nodos de proceso. | TaskSchedulingPolicy |
userAccounts | Lista de cuentas de usuario que se van a crear en cada nodo del grupo. | UserAccount [] |
vmSize | Para obtener información sobre los tamaños disponibles de las máquinas virtuales para los grupos de Cloud Services (grupos creados con cloudServiceConfiguration), consulte Tamaños de Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch admite todos los tamaños de máquina virtual de Cloud Services, excepto ExtraSmall. Para obtener información sobre los tamaños de máquina virtual disponibles para los grupos que usan imágenes de Marketplace de máquinas virtuales (grupos creados con virtualMachineConfiguration), consulte Tamaños de máquinas virtuales (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) o Tamaños de máquinas virtuales (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch admite todos los tamaños de máquina virtual de Azure, excepto STANDARD_A0 y aquellos con premium Storage (STANDARD_GS, STANDARD_DS y serie STANDARD_DSV2). | cuerda |
ResourceFile
Nombre | Descripción | Valor |
---|---|---|
autoStorageContainerName | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. | cuerda |
blobPrefix | La propiedad solo es válida cuando se usa autoStorageContainerName o storageContainerUrl. Este prefijo puede ser un nombre de archivo parcial o un subdirectorio. Si no se especifica un prefijo, se descargarán todos los archivos del contenedor. | cuerda |
fileMode | Esta propiedad solo se aplica a los archivos que se descargan en los nodos de proceso de Linux. Se omitirá si se especifica para un resourceFile que se descargará en un nodo de Windows. Si no se especifica esta propiedad para un nodo de Linux, se aplica un valor predeterminado de 0770 al archivo. | cuerda |
filePath | Si se especifica la propiedad httpUrl, se requiere filePath y describe la ruta de acceso a la que se descargará el archivo, incluido el nombre de archivo. De lo contrario, si se especifica la propiedad autoStorageContainerName o storageContainerUrl, filePath es opcional y es el directorio al que descargar los archivos. En el caso de que filePath se use como directorio, cualquier estructura de directorios que ya esté asociada a los datos de entrada se conservará en su totalidad y se anexará al directorio filePath especificado. La ruta de acceso relativa especificada no puede dividirse en el directorio de trabajo de la tarea (por ejemplo, mediante '..'). | cuerda |
httpUrl | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Si la dirección URL es Azure Blob Storage, debe ser legible mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura en el blob o establezca la ACL para el blob o su contenedor para permitir el acceso público. | cuerda |
storageContainerUrl | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Esta dirección URL debe ser legible y enumerable mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura y lista en el blob, o establezca la ACL para el blob o su contenedor para permitir el acceso público. | cuerda |
ScaleSettings
Nombre | Descripción | Valor |
---|---|---|
escalado automático | Esta propiedad y fixedScale son mutuamente excluyentes y se debe especificar una de las propiedades. | AutoScaleSettings |
fixedScale | Esta propiedad y autoScale son mutuamente excluyentes y se debe especificar una de las propiedades. | fixedScaleSettings |
StartTask
Nombre | Descripción | Valor |
---|---|---|
commandLine | La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask. | cuerda |
containerSettings | Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor. | TaskContainerSettings |
environmentSettings | Lista de opciones de configuración de variables de entorno para la tarea de inicio. | EnvironmentSetting[] |
maxTaskRetryCount | El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no vuelve a intentar la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. | Int |
resourceFiles | Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. | ResourceFile [] |
userIdentity | Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. | UserIdentity de |
waitForSuccess | Si es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar mediante el estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es false. | Bool |
TaskContainerSettings
Nombre | Descripción | Valor |
---|---|---|
containerRunOptions | Estas opciones adicionales se proporcionan como argumentos para el comando "docker create", además de las controladas por el servicio Batch. | cuerda |
imageName | Esta es la referencia de imagen completa, como se especificaría en "docker pull". Si no se proporciona ninguna etiqueta como parte del nombre de la imagen, la etiqueta ":latest" se usa como valor predeterminado. | string (obligatorio) |
registro | Esta configuración se puede omitir si ya se proporcionó en la creación del grupo. | containerRegistry de |
TaskSchedulingPolicy
Nombre | Descripción | Valor |
---|---|---|
nodeFillType | Cómo se deben distribuir las tareas entre nodos de proceso. | 'Pack' 'Spread' (obligatorio) |
UserAccount
Nombre | Descripción | Valor |
---|---|---|
elevationLevel | nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. | 'Admin' 'NonAdmin' |
linuxUserConfiguration | Esta propiedad se omite si se especifica en un grupo de Windows. Si no se especifica, el usuario se crea con las opciones predeterminadas. | LinuxUserConfiguration |
nombre | Nombre de la cuenta de usuario. | string (obligatorio) |
contraseña | Contraseña de la cuenta de usuario. | string (obligatorio) |
windowsUserConfiguration | Esta propiedad solo se puede especificar si el usuario está en un grupo de Windows. Si no se especifica y en un grupo de Windows, el usuario se crea con las opciones predeterminadas. | windowsUserConfiguration |
UserIdentity
VirtualMachineConfiguration
Nombre | Descripción | Valor |
---|---|---|
containerConfiguration | Si se especifica, la instalación se realiza en cada nodo del grupo para permitir que las tareas se ejecuten en contenedores. Todas las tareas normales y las tareas del administrador de trabajos que se ejecutan en este grupo deben especificar la propiedad containerSettings y todas las demás tareas pueden especificarla. | containerConfiguration |
dataDisks | Esta propiedad debe especificarse si los nodos de proceso del grupo deben tener discos de datos vacíos conectados a ellos. | DataDisk [] |
imageReference | Referencia a una imagen de Marketplace de Azure Virtual Machines o al recurso De imagen de Azure de una máquina virtual personalizada. Para obtener la lista de todas las imageReferences verificadas por Azure Batch, consulte la operación "Enumeración de SKU de agente de nodo compatibles". | imageReference (obligatorio) |
licenseType | Esto solo se aplica a las imágenes que contienen el sistema operativo Windows y solo se deben usar cuando contenga licencias locales válidas para los nodos que se implementarán. Si se omite, no se aplica ningún descuento de licencia local. Los valores son: Windows_Server: la licencia local es para Windows Server. Windows_Client: la licencia local es para el cliente de Windows. |
cuerda |
nodeAgentSkuId | El agente de nodo de Batch es un programa que se ejecuta en cada nodo del grupo y proporciona la interfaz de comando y control entre el nodo y el servicio Batch. Hay diferentes implementaciones del agente de nodo, conocidas como SKU, para diferentes sistemas operativos. Debe especificar una SKU del agente de nodo que coincida con la referencia de imagen seleccionada. Para obtener la lista de SKU de agente de nodo compatibles junto con su lista de referencias de imágenes verificadas, consulte la operación "Enumerar SKU de agente de nodo compatibles". | string (obligatorio) |
windowsConfiguration | Esta propiedad no se debe especificar si imageReference especifica una imagen del sistema operativo Linux. | windowsConfiguration |
WindowsConfiguration
Nombre | Descripción | Valor |
---|---|---|
enableAutomaticUpdates | Si se omite, el valor predeterminado es true. | Bool |
WindowsUserConfiguration
Nombre | Descripción | Valor |
---|---|---|
loginMode | Especifica el modo de inicio de sesión para el usuario. El valor predeterminado de los grupos de VirtualMachineConfiguration es el modo interactivo y para los grupos de CloudServiceConfiguration es el modo por lotes. | 'Batch' 'Interactivo' |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Plantilla | Descripción |
---|---|
grupo de Azure Batch sin direcciones IP públicas |
Esta plantilla crea un grupo de comunicación de nodos simplificado de Azure Batch sin direcciones IP públicas. |
Definición de recursos de Terraform (proveedor AzAPI)
El tipo de recurso batchAccounts/pools se puede implementar con operaciones destinadas a:
- grupos de recursos de
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.Batch/batchAccounts/pools, agregue el siguiente terraform a la plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Batch/batchAccounts/pools@2018-12-01"
name = "string"
body = jsonencode({
properties = {
applicationLicenses = [
"string"
]
applicationPackages = [
{
id = "string"
version = "string"
}
]
certificates = [
{
id = "string"
storeLocation = "string"
storeName = "string"
visibility = [
"string"
]
}
]
deploymentConfiguration = {
cloudServiceConfiguration = {
osFamily = "string"
osVersion = "string"
}
virtualMachineConfiguration = {
containerConfiguration = {
containerImageNames = [
"string"
]
containerRegistries = [
{
password = "string"
registryServer = "string"
username = "string"
}
]
type = "DockerCompatible"
}
dataDisks = [
{
caching = "string"
diskSizeGB = int
lun = int
storageAccountType = "string"
}
]
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
licenseType = "string"
nodeAgentSkuId = "string"
windowsConfiguration = {
enableAutomaticUpdates = bool
}
}
}
displayName = "string"
interNodeCommunication = "string"
maxTasksPerNode = int
metadata = [
{
name = "string"
value = "string"
}
]
networkConfiguration = {
endpointConfiguration = {
inboundNatPools = [
{
backendPort = int
frontendPortRangeEnd = int
frontendPortRangeStart = int
name = "string"
networkSecurityGroupRules = [
{
access = "string"
priority = int
sourceAddressPrefix = "string"
}
]
protocol = "string"
}
]
}
subnetId = "string"
}
scaleSettings = {
autoScale = {
evaluationInterval = "string"
formula = "string"
}
fixedScale = {
nodeDeallocationOption = "string"
resizeTimeout = "string"
targetDedicatedNodes = int
targetLowPriorityNodes = int
}
}
startTask = {
commandLine = "string"
containerSettings = {
containerRunOptions = "string"
imageName = "string"
registry = {
password = "string"
registryServer = "string"
username = "string"
}
}
environmentSettings = [
{
name = "string"
value = "string"
}
]
maxTaskRetryCount = int
resourceFiles = [
{
autoStorageContainerName = "string"
blobPrefix = "string"
fileMode = "string"
filePath = "string"
httpUrl = "string"
storageContainerUrl = "string"
}
]
userIdentity = {
autoUser = {
elevationLevel = "string"
scope = "string"
}
userName = "string"
}
waitForSuccess = bool
}
taskSchedulingPolicy = {
nodeFillType = "string"
}
userAccounts = [
{
elevationLevel = "string"
linuxUserConfiguration = {
gid = int
sshPrivateKey = "string"
uid = int
}
name = "string"
password = "string"
windowsUserConfiguration = {
loginMode = "string"
}
}
]
vmSize = "string"
}
})
}
Valores de propiedad
ApplicationPackageReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Identificador del paquete de aplicación que se va a instalar. Debe estar dentro de la misma cuenta por lotes que el grupo. Puede ser una referencia a una versión específica o a la versión predeterminada si existe una. | string (obligatorio) |
Versión | Si se omite y no se especifica ninguna versión predeterminada para esta aplicación, se produce un error en la solicitud con el código de error InvalidApplicationPackageReferences. Si llama directamente a la API REST, el código de estado HTTP es 409. | cuerda |
AutoScaleSettings
Nombre | Descripción | Valor |
---|---|---|
evaluationInterval | Si se omite, el valor predeterminado es 15 minutos (PT15M). | cuerda |
fórmula | Fórmula para el número deseado de nodos de proceso en el grupo. | string (obligatorio) |
AutoUserSpecification
Nombre | Descripción | Valor |
---|---|---|
elevationLevel | nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. | 'Admin' 'NonAdmin' |
alcance | El valor predeterminado es task. | 'Pool' 'Tarea' |
CertificateReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Identificador completo del certificado que se va a instalar en el grupo. Debe estar dentro de la misma cuenta por lotes que el grupo. | string (obligatorio) |
storeLocation | El valor predeterminado es currentUser. Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. | 'CurrentUser' "LocalMachine" |
storeName | Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). Los nombres de almacén comunes incluyen: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, pero también se puede usar cualquier nombre de almacén personalizado. El valor predeterminado es My. | cuerda |
visibilidad | Qué cuentas de usuario del nodo de proceso deben tener acceso a los datos privados del certificado. | Matriz de cadenas que contiene cualquiera de: 'RemoteUser' 'StartTask' 'Tarea' |
CloudServiceConfiguration
Nombre | Descripción | Valor |
---|---|---|
osFamily | Los valores posibles son: 2 - Familia de so 2, equivalente a Windows Server 2008 R2 SP1. 3 - Familia de so 3, equivalente a Windows Server 2012. 4 - Familia de so 4, equivalente a Windows Server 2012 R2. 5 - Familia de so 5, equivalente a Windows Server 2016. Para más información, consulte Versiones del sistema operativo invitado de Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). | string (obligatorio) |
osVersion | El valor predeterminado es * que especifica la versión más reciente del sistema operativo para la familia de sistema operativo especificada. | cuerda |
ContainerConfiguration
Nombre | Descripción | Valor |
---|---|---|
containerImageNames | Esta es la referencia de imagen completa, como se especificaría en "docker pull". Se generará una imagen del registro de Docker predeterminado a menos que la imagen esté completa con un registro alternativo. | string[] |
containerRegistries | Si se deben descargar imágenes de un registro privado que requiera credenciales, esas credenciales deben proporcionarse aquí. | containerRegistry[] |
tipo | Tecnología de contenedor que se va a usar. | 'DockerCompatible' (obligatorio) |
ContainerRegistry
Nombre | Descripción | Valor |
---|---|---|
contraseña | Contraseña que se va a iniciar sesión en el servidor del Registro. | string (obligatorio) |
RegistryServer | Si se omite, el valor predeterminado es "docker.io". | cuerda |
nombre de usuario | Nombre de usuario que se va a iniciar sesión en el servidor del Registro. | string (obligatorio) |
DataDisk
Nombre | Descripción | Valor |
---|---|---|
Caché | Los valores son: none: el modo de almacenamiento en caché del disco no está habilitado. readOnly: el modo de almacenamiento en caché del disco es de solo lectura. readWrite: el modo de almacenamiento en caché del disco es de lectura y escritura. El valor predeterminado para el almacenamiento en caché no es ninguno. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. |
'Ninguno' 'ReadOnly' "ReadWrite" |
diskSizeGB | Tamaño de disco inicial en GB al crear un nuevo disco de datos. | int (obligatorio) |
Lun | El lun se usa para identificar de forma única cada disco de datos. Si conecta varios discos, cada uno debe tener un lun distinto. | int (obligatorio) |
storageAccountType | Si se omite, el valor predeterminado es "Standard_LRS". Los valores son: Standard_LRS: el disco de datos debe usar el almacenamiento con redundancia local estándar. Premium_LRS: el disco de datos debe usar el almacenamiento con redundancia local Premium. |
"Premium_LRS" "Standard_LRS" |
DeploymentConfiguration
EnvironmentSetting
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre de la variable de entorno. | string (obligatorio) |
valor | Valor de la variable de entorno. | cuerda |
FixedScaleSettings
Nombre | Descripción | Valor |
---|---|---|
nodeDeallocationOption | Si se omite, el valor predeterminado es Requeue. | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | El valor predeterminado es de 15 minutos. Los valores de tiempo de espera usan el formato ISO 8601. Por ejemplo, use PT10M durante 10 minutos. El valor mínimo es de 5 minutos. Si especifica un valor inferior a 5 minutos, el servicio Batch rechaza la solicitud con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta). | cuerda |
targetDedicatedNodes | Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. | Int |
targetLowPriorityNodes | Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. | Int |
ImageReference
Nombre | Descripción | Valor |
---|---|---|
identificación | Esta propiedad es mutuamente excluyente con otras propiedades. La imagen de máquina virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. Para obtener información sobre la configuración del firewall para que el agente de nodo de Batch se comunique con el servicio Batch, consulte /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration . | cuerda |
ofrecer | Por ejemplo, UbuntuServer o WindowsServer. | cuerda |
editor | Por ejemplo, Canonical o MicrosoftWindowsServer. | cuerda |
Sku | Por ejemplo, 14.04.0-LTS o 2012-R2-Datacenter. | cuerda |
Versión | Se puede especificar un valor de "latest" para seleccionar la versión más reciente de una imagen. Si se omite, el valor predeterminado es "latest". | cuerda |
InboundNatPool
Nombre | Descripción | Valor |
---|---|---|
backendPort | Debe ser único dentro de un grupo de Batch. Los valores aceptables están comprendidos entre 1 y 65535, excepto 22, 3389, 29876 y 29877, ya que están reservados. Si se proporcionan valores reservados, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
frontendPortRangeEnd | Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados por el servicio Batch. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
frontendPortRangeStart | Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
nombre | El nombre debe ser único dentro de un grupo de Batch, puede contener letras, números, caracteres de subrayado, puntos y guiones. Los nombres deben comenzar con una letra o un número, deben terminar con una letra, un número o un carácter de subrayado, y no pueden superar los 77 caracteres. Si se proporcionan valores no válidos, se produce un error en la solicitud con el código de estado HTTP 400. | string (obligatorio) |
networkSecurityGroupRules | El número máximo de reglas que se pueden especificar en todos los puntos de conexión de un grupo de Batch es 25. Si no se especifica ninguna regla de grupo de seguridad de red, se creará una regla predeterminada para permitir el acceso entrante a backendPort especificado. Si se supera el número máximo de reglas de grupo de seguridad de red, se produce un error en la solicitud con el código de estado HTTP 400. | networkSecurityGroupRule[] |
protocolo | Protocolo del punto de conexión. | 'TCP' 'UDP' (obligatorio) |
LinuxUserConfiguration
Nombre | Descripción | Valor |
---|---|---|
Gid | Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el gid. | Int |
sshPrivateKey | La clave privada no debe estar protegida con contraseña. La clave privada se usa para configurar automáticamente la autenticación basada en claves asimétricas para SSH entre nodos de un grupo de Linux cuando la propiedad enableInterNodeCommunication del grupo es true (se omite si enableInterNodeCommunication es false). Para ello, coloca el par de claves en el directorio .ssh del usuario. Si no se especifica, SSH sin contraseña no está configurado entre nodos (no se realiza ninguna modificación del directorio .ssh del usuario). | cuerda |
Uid | Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el uid. | Int |
MetadataItem
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre del elemento de metadatos. | string (obligatorio) |
valor | Valor del elemento de metadatos. | string (obligatorio) |
Microsoft.Batch/batchAccounts/pools
Nombre | Descripción | Valor |
---|---|---|
nombre | El nombre del recurso | cuerda Restricciones: Longitud mínima = 1 Longitud máxima = 1 Patrón = ^[a-zA-Z0-9_-]+$ (obligatorio) |
parent_id | Identificador del recurso que es el elemento primario de este recurso. | Identificador del recurso de tipo: batchAccounts |
Propiedades | Propiedades asociadas al grupo. | poolProperties de |
tipo | El tipo de recurso | "Microsoft.Batch/batchAccounts/pools@2018-12-01" |
NetworkConfiguration
Nombre | Descripción | Valor |
---|---|---|
endpointConfiguration | La configuración del punto de conexión del grupo solo se admite en grupos con la propiedad virtualMachineConfiguration. | PoolEndpointConfiguration |
subnetId | La red virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. La subred especificada debe tener suficientes direcciones IP libres para dar cabida al número de nodos del grupo. Si la subred no tiene suficientes direcciones IP libres, el grupo asignará parcialmente nodos de proceso y se producirá un error de cambio de tamaño. La entidad de servicio "MicrosoftAzureBatch" debe tener el rol "Colaborador de máquina virtual clásica" Role-Based Control de acceso (RBAC) para la red virtual especificada. La subred especificada debe permitir la comunicación desde el servicio Azure Batch para poder programar tareas en los nodos de proceso. Para comprobarlo, compruebe si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado. Si un NSG deniega la comunicación con los nodos de proceso de la subred especificada, el servicio Batch establecerá el estado de los nodos de proceso en inutilizable. Para los grupos creados a través de virtualMachineConfiguration, la cuenta de Batch debe tener userSubscription poolAllocationMode para poder usar una red virtual. Si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado, se deben habilitar algunos puertos del sistema reservados para la comunicación entrante. En el caso de los grupos creados con una configuración de máquina virtual, habilite los puertos 29876 y 29877, así como el puerto 22 para Linux y el puerto 3389 para Windows. En el caso de los grupos creados con una configuración de servicio en la nube, habilite los puertos 10100, 20100 y 30100. Habilite también las conexiones salientes a Azure Storage en el puerto 443. Para más información, consulte : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | cuerda |
NetworkSecurityGroupRule
Nombre | Descripción | Valor |
---|---|---|
acceso | Acción que se debe realizar para una dirección IP, un intervalo de subred o una etiqueta especificados. | 'Permitir' 'Deny' (obligatorio) |
prioridad | Las prioridades dentro de un grupo deben ser únicas y se evalúan en orden de prioridad. Cuanto menor sea el número, mayor será la prioridad. Por ejemplo, se podrían especificar reglas con números de orden de 150, 250 y 350. La regla con el número de orden de 150 tiene prioridad sobre la regla que tiene un orden de 250. Las prioridades permitidas son de 150 a 3500. Si se proporcionan valores reservados o duplicados, se produce un error en la solicitud con el código de estado HTTP 400. | int (obligatorio) |
sourceAddressPrefix | Los valores válidos son una sola dirección IP (es decir, 10.10.10.10), subred IP (es decir, 192.168.1.0/24), etiqueta predeterminada o * (para todas las direcciones). Si se proporcionan otros valores, se produce un error en la solicitud con el código de estado HTTP 400. | string (obligatorio) |
PoolEndpointConfiguration
Nombre | Descripción | Valor |
---|---|---|
inboundNatPools | El número máximo de grupos NAT entrantes por grupo de Batch es 5. Si se supera el número máximo de grupos NAT de entrada, se produce un error en la solicitud con el código de estado HTTP 400. | inboundNatPool[] (obligatorio) |
PoolProperties
Nombre | Descripción | Valor |
---|---|---|
applicationLicenses | La lista de licencias de aplicación debe ser un subconjunto de licencias de aplicaciones de servicio de Batch disponibles. Si se solicita una licencia que no se admite, se producirá un error en la creación del grupo. | string[] |
applicationPackages | Los cambios en los paquetes de aplicación afectan a todos los nuevos nodos de proceso que se unen al grupo, pero no afectan a los nodos de proceso que ya están en el grupo hasta que se reinician o se vuelven a crear imágenes. | ApplicationPackageReference[] |
Certificados | En el caso de los nodos de proceso de Windows, el servicio Batch instala los certificados en el almacén de certificados y la ubicación especificados. En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. | certificateReference[] |
deploymentConfiguration | El uso de CloudServiceConfiguration especifica que los nodos deben crearse mediante Azure Cloud Services (PaaS), mientras que VirtualMachineConfiguration usa Azure Virtual Machines (IaaS). | DeploymentConfiguration |
displayName | El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024. | cuerda |
interNodeCommunication | Esto impone restricciones en las que se pueden asignar nodos al grupo. La habilitación de este valor puede reducir la posibilidad de asignar el número solicitado de nodos en el grupo. Si no se especifica, este valor tiene como valor predeterminado "Disabled". | 'Deshabilitado' 'Habilitado' |
maxTasksPerNode | Número máximo de tareas que se pueden ejecutar simultáneamente en un único nodo de proceso del grupo. | Int |
metadatos | El servicio Batch no asigna ningún significado a los metadatos; es únicamente para el uso del código de usuario. | metadataItem[] |
networkConfiguration | Configuración de red de un grupo. | networkConfiguration |
scaleSettings | Define el tamaño deseado del grupo. Esto puede ser "fixedScale" donde se especifica targetDedicatedNodes solicitado o "autoScale", que define una fórmula que se vuelve a evaluar periódicamente. Si no se especifica esta propiedad, el grupo tendrá una escala fija con 0 targetDedicatedNodes. | scaleSettings |
startTask | En una operación PATCH (actualización), esta propiedad se puede establecer en un objeto vacío para quitar la tarea de inicio del grupo. | StartTask |
taskSchedulingPolicy | Especifica cómo se deben distribuir las tareas entre los nodos de proceso. | TaskSchedulingPolicy |
userAccounts | Lista de cuentas de usuario que se van a crear en cada nodo del grupo. | UserAccount [] |
vmSize | Para obtener información sobre los tamaños disponibles de las máquinas virtuales para los grupos de Cloud Services (grupos creados con cloudServiceConfiguration), consulte Tamaños de Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch admite todos los tamaños de máquina virtual de Cloud Services, excepto ExtraSmall. Para obtener información sobre los tamaños de máquina virtual disponibles para los grupos que usan imágenes de Marketplace de máquinas virtuales (grupos creados con virtualMachineConfiguration), consulte Tamaños de máquinas virtuales (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) o Tamaños de máquinas virtuales (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch admite todos los tamaños de máquina virtual de Azure, excepto STANDARD_A0 y aquellos con premium Storage (STANDARD_GS, STANDARD_DS y serie STANDARD_DSV2). | cuerda |
ResourceFile
Nombre | Descripción | Valor |
---|---|---|
autoStorageContainerName | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. | cuerda |
blobPrefix | La propiedad solo es válida cuando se usa autoStorageContainerName o storageContainerUrl. Este prefijo puede ser un nombre de archivo parcial o un subdirectorio. Si no se especifica un prefijo, se descargarán todos los archivos del contenedor. | cuerda |
fileMode | Esta propiedad solo se aplica a los archivos que se descargan en los nodos de proceso de Linux. Se omitirá si se especifica para un resourceFile que se descargará en un nodo de Windows. Si no se especifica esta propiedad para un nodo de Linux, se aplica un valor predeterminado de 0770 al archivo. | cuerda |
filePath | Si se especifica la propiedad httpUrl, se requiere filePath y describe la ruta de acceso a la que se descargará el archivo, incluido el nombre de archivo. De lo contrario, si se especifica la propiedad autoStorageContainerName o storageContainerUrl, filePath es opcional y es el directorio al que descargar los archivos. En el caso de que filePath se use como directorio, cualquier estructura de directorios que ya esté asociada a los datos de entrada se conservará en su totalidad y se anexará al directorio filePath especificado. La ruta de acceso relativa especificada no puede dividirse en el directorio de trabajo de la tarea (por ejemplo, mediante '..'). | cuerda |
httpUrl | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Si la dirección URL es Azure Blob Storage, debe ser legible mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura en el blob o establezca la ACL para el blob o su contenedor para permitir el acceso público. | cuerda |
storageContainerUrl | Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Esta dirección URL debe ser legible y enumerable mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura y lista en el blob, o establezca la ACL para el blob o su contenedor para permitir el acceso público. | cuerda |
ScaleSettings
Nombre | Descripción | Valor |
---|---|---|
escalado automático | Esta propiedad y fixedScale son mutuamente excluyentes y se debe especificar una de las propiedades. | AutoScaleSettings |
fixedScale | Esta propiedad y autoScale son mutuamente excluyentes y se debe especificar una de las propiedades. | fixedScaleSettings |
StartTask
Nombre | Descripción | Valor |
---|---|---|
commandLine | La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask. | cuerda |
containerSettings | Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor. | TaskContainerSettings |
environmentSettings | Lista de opciones de configuración de variables de entorno para la tarea de inicio. | EnvironmentSetting[] |
maxTaskRetryCount | El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no vuelve a intentar la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. | Int |
resourceFiles | Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. | ResourceFile [] |
userIdentity | Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. | UserIdentity de |
waitForSuccess | Si es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar mediante el estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es false. | Bool |
TaskContainerSettings
Nombre | Descripción | Valor |
---|---|---|
containerRunOptions | Estas opciones adicionales se proporcionan como argumentos para el comando "docker create", además de las controladas por el servicio Batch. | cuerda |
imageName | Esta es la referencia de imagen completa, como se especificaría en "docker pull". Si no se proporciona ninguna etiqueta como parte del nombre de la imagen, la etiqueta ":latest" se usa como valor predeterminado. | string (obligatorio) |
registro | Esta configuración se puede omitir si ya se proporcionó en la creación del grupo. | containerRegistry de |
TaskSchedulingPolicy
Nombre | Descripción | Valor |
---|---|---|
nodeFillType | Cómo se deben distribuir las tareas entre nodos de proceso. | 'Pack' 'Spread' (obligatorio) |
UserAccount
Nombre | Descripción | Valor |
---|---|---|
elevationLevel | nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. | 'Admin' 'NonAdmin' |
linuxUserConfiguration | Esta propiedad se omite si se especifica en un grupo de Windows. Si no se especifica, el usuario se crea con las opciones predeterminadas. | LinuxUserConfiguration |
nombre | Nombre de la cuenta de usuario. | string (obligatorio) |
contraseña | Contraseña de la cuenta de usuario. | string (obligatorio) |
windowsUserConfiguration | Esta propiedad solo se puede especificar si el usuario está en un grupo de Windows. Si no se especifica y en un grupo de Windows, el usuario se crea con las opciones predeterminadas. | windowsUserConfiguration |
UserIdentity
VirtualMachineConfiguration
Nombre | Descripción | Valor |
---|---|---|
containerConfiguration | Si se especifica, la instalación se realiza en cada nodo del grupo para permitir que las tareas se ejecuten en contenedores. Todas las tareas normales y las tareas del administrador de trabajos que se ejecutan en este grupo deben especificar la propiedad containerSettings y todas las demás tareas pueden especificarla. | containerConfiguration |
dataDisks | Esta propiedad debe especificarse si los nodos de proceso del grupo deben tener discos de datos vacíos conectados a ellos. | DataDisk [] |
imageReference | Referencia a una imagen de Marketplace de Azure Virtual Machines o al recurso De imagen de Azure de una máquina virtual personalizada. Para obtener la lista de todas las imageReferences verificadas por Azure Batch, consulte la operación "Enumeración de SKU de agente de nodo compatibles". | imageReference (obligatorio) |
licenseType | Esto solo se aplica a las imágenes que contienen el sistema operativo Windows y solo se deben usar cuando contenga licencias locales válidas para los nodos que se implementarán. Si se omite, no se aplica ningún descuento de licencia local. Los valores son: Windows_Server: la licencia local es para Windows Server. Windows_Client: la licencia local es para el cliente de Windows. |
cuerda |
nodeAgentSkuId | El agente de nodo de Batch es un programa que se ejecuta en cada nodo del grupo y proporciona la interfaz de comando y control entre el nodo y el servicio Batch. Hay diferentes implementaciones del agente de nodo, conocidas como SKU, para diferentes sistemas operativos. Debe especificar una SKU del agente de nodo que coincida con la referencia de imagen seleccionada. Para obtener la lista de SKU de agente de nodo compatibles junto con su lista de referencias de imágenes verificadas, consulte la operación "Enumerar SKU de agente de nodo compatibles". | string (obligatorio) |
windowsConfiguration | Esta propiedad no se debe especificar si imageReference especifica una imagen del sistema operativo Linux. | windowsConfiguration |
WindowsConfiguration
Nombre | Descripción | Valor |
---|---|---|
enableAutomaticUpdates | Si se omite, el valor predeterminado es true. | Bool |
WindowsUserConfiguration
Nombre | Descripción | Valor |
---|---|---|
loginMode | Especifica el modo de inicio de sesión para el usuario. El valor predeterminado de los grupos de VirtualMachineConfiguration es el modo interactivo y para los grupos de CloudServiceConfiguration es el modo por lotes. | 'Batch' 'Interactivo' |