Definición de recursos de Bicep
El tipo de recurso containerGroups se puede implementar con operaciones que tienen como destino:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.ContainerInstance/containerGroups, agregue el siguiente bicep a la plantilla.
resource symbolicname 'Microsoft.ContainerInstance/containerGroups@2017-08-01-preview' = {
scope: resourceSymbolicName or scope
location: 'string'
name: 'string'
properties: {
containers: [
{
name: 'string'
properties: {
command: [
'string'
]
environmentVariables: [
{
name: 'string'
value: 'string'
}
]
image: 'string'
ports: [
{
port: int
}
]
resources: {
limits: {
cpu: int
memoryInGB: int
}
requests: {
cpu: int
memoryInGB: int
}
}
volumeMounts: [
{
mountPath: 'string'
name: 'string'
readOnly: bool
}
]
}
}
]
imageRegistryCredentials: [
{
password: 'string'
server: 'string'
username: 'string'
}
]
ipAddress: {
ip: 'string'
ports: [
{
port: int
protocol: 'string'
}
]
type: 'string'
}
osType: 'string'
restartPolicy: 'string'
volumes: [
{
azureFile: {
readOnly: bool
shareName: 'string'
storageAccountKey: 'string'
storageAccountName: 'string'
}
name: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
Valores de propiedad
Microsoft.ContainerInstance/containerGroups
| Nombre |
Descripción |
Valor |
| ubicación |
Ubicación del recurso. |
string (obligatorio) |
| nombre |
El nombre del recurso |
string (obligatorio) |
| Propiedades |
|
containerGroupProperties (obligatorio) |
| scope |
Use al crear un recurso en un ámbito diferente del ámbito de implementación. |
Establezca esta propiedad en el nombre simbólico de un recurso para aplicar el recurso de extensión . |
| Etiquetas |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
AzureFileVolume
| Nombre |
Descripción |
Valor |
| Solo lectura |
Marca que indica si el recurso compartido de Azure File montado como volumen es de solo lectura. |
Bool |
| shareName |
Nombre del recurso compartido de archivos de Azure que se va a montar como un volumen. |
string (obligatorio) |
| ClaveDeCuentaDeAlmacenamiento |
La clave de acceso de la cuenta de almacenamiento que se usa para acceder al recurso compartido de archivos de Azure. |
cuerda |
| storageAccountName |
Nombre de la cuenta de almacenamiento que contiene el recurso compartido de archivos de Azure. |
string (obligatorio) |
Contenedor
| Nombre |
Descripción |
Valor |
| nombre |
Nombre proporcionado por el usuario de la instancia de contenedor. |
string (obligatorio) |
| Propiedades |
Propiedades de la instancia de contenedor. |
ContainerProperties (obligatorio) |
ContainerGroupProperties
| Nombre |
Descripción |
Valor |
| recipientes |
Contenedores dentro del grupo de contenedores. |
container[] (obligatorio) |
| imageRegistryCredentials |
Credenciales del Registro de imágenes a partir de las cuales se crea el grupo de contenedores. |
ImageRegistryCredential[] |
| dirección IP |
Tipo de dirección IP del grupo de contenedores. |
Dirección IP |
| osType |
Tipo de sistema operativo requerido por los contenedores del grupo de contenedores. |
"Linux" 'Windows' (obligatorio) |
| restartPolicy |
Reinicie la directiva para todos los contenedores del grupo de contenedores. Actualmente, la única opción disponible es always. |
'Siempre' |
| Volúmenes |
Lista de volúmenes que pueden montar los contenedores de este grupo de contenedores. |
volumen[] |
ContainerPort (Puerto de contenedor)
| Nombre |
Descripción |
Valor |
| puerto |
Número de puerto expuesto en el grupo de contenedores. |
int (obligatorio) |
PropiedadesDelContenedor
| Nombre |
Descripción |
Valor |
| mandar |
Los comandos que se van a ejecutar dentro de la instancia de contenedor en formato exec. |
cadena[] |
| variables de entorno |
Variables de entorno que se van a establecer en la instancia de contenedor. |
Variable de entorno[] |
| imagen |
Nombre de la imagen utilizada para crear la instancia del contenedor. |
string (obligatorio) |
| Puertos |
Puertos expuestos en la instancia de contenedor. |
ContainerPort[] |
| Recursos |
Requisitos de recursos de la instancia de contenedor. |
resourceRequirements (obligatorio) |
| volumeMounts |
El volumen monta los montajes disponibles para la instancia de contenedor. |
VolumeMount[] |
EnvironmentVariable
| Nombre |
Descripción |
Valor |
| nombre |
Nombre de la variable de entorno. |
string (obligatorio) |
| valor |
Valor de la variable de entorno. |
string (obligatorio) |
ImageRegistryCredential
| Nombre |
Descripción |
Valor |
| contraseña |
Contraseña del registro privado. |
cuerda |
| servidor |
El servidor del Registro de imágenes de Docker sin un protocolo como "http" y "https". |
string (obligatorio) |
| nombre de usuario |
Nombre de usuario del registro privado. |
string (obligatorio) |
Dirección IP
| Nombre |
Descripción |
Valor |
| IP |
Dirección IP expuesta a la red pública de Internet. |
cuerda |
| Puertos |
Lista de puertos expuestos en el grupo de contenedores. |
puerto[] (obligatorio) |
| tipo |
Especifica si la dirección IP se expone a la red pública de Internet. |
'Public' (obligatorio) |
Puerto
| Nombre |
Descripción |
Valor |
| puerto |
Número de puerto. |
int (obligatorio) |
| protocolo |
Protocolo asociado al puerto. |
'TCP' 'UDP' |
Límites de recursos
| Nombre |
Descripción |
Valor |
| CPU |
Límite de CPU de esta instancia de contenedor. |
Int |
| memoryInGB |
Límite de memoria en GB de esta instancia de contenedor. |
Int |
ResourceRequests (Solicitudes de recursos)
| Nombre |
Descripción |
Valor |
| CPU |
Solicitud de CPU de esta instancia de contenedor. |
int (obligatorio) |
| memoryInGB |
Solicitud de memoria en GB de esta instancia de contenedor. |
int (obligatorio) |
ResourceRequirements (Requisitos de recursos)
| Nombre |
Descripción |
Valor |
| Límites |
Límites de recursos de esta instancia de contenedor. |
Límites de recursos |
| Solicitudes |
Solicitudes de recursos de esta instancia de contenedor. |
resourceRequests (obligatorio) |
Volumen
| Nombre |
Descripción |
Valor |
| azureFile |
Nombre del volumen de azure File. |
AzureFileVolume (obligatorio) |
| nombre |
Nombre del volumen. |
string (obligatorio) |
VolumeMount
| Nombre |
Descripción |
Valor |
| mountPath |
Ruta de acceso dentro del contenedor donde se debe montar el volumen. No debe contener dos puntos (:). |
string (obligatorio) |
| nombre |
Nombre del montaje del volumen. |
string (obligatorio) |
| Solo lectura |
Marca que indica si el montaje del volumen es de solo lectura. |
Bool |
Ejemplos de uso
Módulos comprobados de Azure
Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.
| Módulo |
Descripción |
|
Container Instance |
Módulo de recursos de AVM para la instancia de contenedor |
Ejemplos de inicio rápido de Azure
Los siguientes plantillas de inicio rápido de Azure contienen ejemplos de Bicep para implementar este tipo de recurso.
Definición de recursos de plantilla de ARM
El tipo de recurso containerGroups se puede implementar con operaciones que tienen como destino:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.ContainerInstance/containerGroups, agregue el siguiente JSON a la plantilla.
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2017-08-01-preview",
"name": "string",
"location": "string",
"properties": {
"containers": [
{
"name": "string",
"properties": {
"command": [ "string" ],
"environmentVariables": [
{
"name": "string",
"value": "string"
}
],
"image": "string",
"ports": [
{
"port": "int"
}
],
"resources": {
"limits": {
"cpu": "int",
"memoryInGB": "int"
},
"requests": {
"cpu": "int",
"memoryInGB": "int"
}
},
"volumeMounts": [
{
"mountPath": "string",
"name": "string",
"readOnly": "bool"
}
]
}
}
],
"imageRegistryCredentials": [
{
"password": "string",
"server": "string",
"username": "string"
}
],
"ipAddress": {
"ip": "string",
"ports": [
{
"port": "int",
"protocol": "string"
}
],
"type": "string"
},
"osType": "string",
"restartPolicy": "string",
"volumes": [
{
"azureFile": {
"readOnly": "bool",
"shareName": "string",
"storageAccountKey": "string",
"storageAccountName": "string"
},
"name": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
}
Valores de propiedad
Microsoft.ContainerInstance/containerGroups
| Nombre |
Descripción |
Valor |
| apiVersion |
La versión de api |
'2017-08-01-preestreno' |
| ubicación |
Ubicación del recurso. |
string (obligatorio) |
| nombre |
El nombre del recurso |
string (obligatorio) |
| Propiedades |
|
containerGroupProperties (obligatorio) |
| Etiquetas |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
| tipo |
El tipo de recurso |
'Microsoft.ContainerInstance/containerGroups' |
AzureFileVolume
| Nombre |
Descripción |
Valor |
| Solo lectura |
Marca que indica si el recurso compartido de Azure File montado como volumen es de solo lectura. |
Bool |
| shareName |
Nombre del recurso compartido de archivos de Azure que se va a montar como un volumen. |
string (obligatorio) |
| ClaveDeCuentaDeAlmacenamiento |
La clave de acceso de la cuenta de almacenamiento que se usa para acceder al recurso compartido de archivos de Azure. |
cuerda |
| storageAccountName |
Nombre de la cuenta de almacenamiento que contiene el recurso compartido de archivos de Azure. |
string (obligatorio) |
Contenedor
| Nombre |
Descripción |
Valor |
| nombre |
Nombre proporcionado por el usuario de la instancia de contenedor. |
string (obligatorio) |
| Propiedades |
Propiedades de la instancia de contenedor. |
ContainerProperties (obligatorio) |
ContainerGroupProperties
| Nombre |
Descripción |
Valor |
| recipientes |
Contenedores dentro del grupo de contenedores. |
container[] (obligatorio) |
| imageRegistryCredentials |
Credenciales del Registro de imágenes a partir de las cuales se crea el grupo de contenedores. |
ImageRegistryCredential[] |
| dirección IP |
Tipo de dirección IP del grupo de contenedores. |
Dirección IP |
| osType |
Tipo de sistema operativo requerido por los contenedores del grupo de contenedores. |
"Linux" 'Windows' (obligatorio) |
| restartPolicy |
Reinicie la directiva para todos los contenedores del grupo de contenedores. Actualmente, la única opción disponible es always. |
'Siempre' |
| Volúmenes |
Lista de volúmenes que pueden montar los contenedores de este grupo de contenedores. |
volumen[] |
ContainerPort (Puerto de contenedor)
| Nombre |
Descripción |
Valor |
| puerto |
Número de puerto expuesto en el grupo de contenedores. |
int (obligatorio) |
PropiedadesDelContenedor
| Nombre |
Descripción |
Valor |
| mandar |
Los comandos que se van a ejecutar dentro de la instancia de contenedor en formato exec. |
cadena[] |
| variables de entorno |
Variables de entorno que se van a establecer en la instancia de contenedor. |
Variable de entorno[] |
| imagen |
Nombre de la imagen utilizada para crear la instancia del contenedor. |
string (obligatorio) |
| Puertos |
Puertos expuestos en la instancia de contenedor. |
ContainerPort[] |
| Recursos |
Requisitos de recursos de la instancia de contenedor. |
resourceRequirements (obligatorio) |
| volumeMounts |
El volumen monta los montajes disponibles para la instancia de contenedor. |
VolumeMount[] |
EnvironmentVariable
| Nombre |
Descripción |
Valor |
| nombre |
Nombre de la variable de entorno. |
string (obligatorio) |
| valor |
Valor de la variable de entorno. |
string (obligatorio) |
ImageRegistryCredential
| Nombre |
Descripción |
Valor |
| contraseña |
Contraseña del registro privado. |
cuerda |
| servidor |
El servidor del Registro de imágenes de Docker sin un protocolo como "http" y "https". |
string (obligatorio) |
| nombre de usuario |
Nombre de usuario del registro privado. |
string (obligatorio) |
Dirección IP
| Nombre |
Descripción |
Valor |
| IP |
Dirección IP expuesta a la red pública de Internet. |
cuerda |
| Puertos |
Lista de puertos expuestos en el grupo de contenedores. |
puerto[] (obligatorio) |
| tipo |
Especifica si la dirección IP se expone a la red pública de Internet. |
'Public' (obligatorio) |
Puerto
| Nombre |
Descripción |
Valor |
| puerto |
Número de puerto. |
int (obligatorio) |
| protocolo |
Protocolo asociado al puerto. |
'TCP' 'UDP' |
Límites de recursos
| Nombre |
Descripción |
Valor |
| CPU |
Límite de CPU de esta instancia de contenedor. |
Int |
| memoryInGB |
Límite de memoria en GB de esta instancia de contenedor. |
Int |
ResourceRequests (Solicitudes de recursos)
| Nombre |
Descripción |
Valor |
| CPU |
Solicitud de CPU de esta instancia de contenedor. |
int (obligatorio) |
| memoryInGB |
Solicitud de memoria en GB de esta instancia de contenedor. |
int (obligatorio) |
ResourceRequirements (Requisitos de recursos)
| Nombre |
Descripción |
Valor |
| Límites |
Límites de recursos de esta instancia de contenedor. |
Límites de recursos |
| Solicitudes |
Solicitudes de recursos de esta instancia de contenedor. |
resourceRequests (obligatorio) |
Volumen
| Nombre |
Descripción |
Valor |
| azureFile |
Nombre del volumen de azure File. |
AzureFileVolume (obligatorio) |
| nombre |
Nombre del volumen. |
string (obligatorio) |
VolumeMount
| Nombre |
Descripción |
Valor |
| mountPath |
Ruta de acceso dentro del contenedor donde se debe montar el volumen. No debe contener dos puntos (:). |
string (obligatorio) |
| nombre |
Nombre del montaje del volumen. |
string (obligatorio) |
| Solo lectura |
Marca que indica si el montaje del volumen es de solo lectura. |
Bool |
Ejemplos de uso
Plantillas de inicio rápido de Azure
Los siguientes plantillas de inicio rápido de Azure implementar este tipo de recurso.
El tipo de recurso containerGroups se puede implementar con operaciones que tienen como destino:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.ContainerInstance/containerGroups, agregue el siguiente terraform a la plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerInstance/containerGroups@2017-08-01-preview"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
containers = [
{
name = "string"
properties = {
command = [
"string"
]
environmentVariables = [
{
name = "string"
value = "string"
}
]
image = "string"
ports = [
{
port = int
}
]
resources = {
limits = {
cpu = int
memoryInGB = int
}
requests = {
cpu = int
memoryInGB = int
}
}
volumeMounts = [
{
mountPath = "string"
name = "string"
readOnly = bool
}
]
}
}
]
imageRegistryCredentials = [
{
password = "string"
server = "string"
username = "string"
}
]
ipAddress = {
ip = "string"
ports = [
{
port = int
protocol = "string"
}
]
type = "string"
}
osType = "string"
restartPolicy = "string"
volumes = [
{
azureFile = {
readOnly = bool
shareName = "string"
storageAccountKey = "string"
storageAccountName = "string"
}
name = "string"
}
]
}
}
}
Valores de propiedad
Microsoft.ContainerInstance/containerGroups
| Nombre |
Descripción |
Valor |
| ubicación |
Ubicación del recurso. |
string (obligatorio) |
| nombre |
El nombre del recurso |
string (obligatorio) |
| parent_id |
Identificador del recurso al que se va a aplicar este recurso de extensión. |
string (obligatorio) |
| Propiedades |
|
containerGroupProperties (obligatorio) |
| Etiquetas |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. |
| tipo |
El tipo de recurso |
"Microsoft.ContainerInstance/containerGroups@2017-08-01-preview" |
AzureFileVolume
| Nombre |
Descripción |
Valor |
| Solo lectura |
Marca que indica si el recurso compartido de Azure File montado como volumen es de solo lectura. |
Bool |
| shareName |
Nombre del recurso compartido de archivos de Azure que se va a montar como un volumen. |
string (obligatorio) |
| ClaveDeCuentaDeAlmacenamiento |
La clave de acceso de la cuenta de almacenamiento que se usa para acceder al recurso compartido de archivos de Azure. |
cuerda |
| storageAccountName |
Nombre de la cuenta de almacenamiento que contiene el recurso compartido de archivos de Azure. |
string (obligatorio) |
Contenedor
| Nombre |
Descripción |
Valor |
| nombre |
Nombre proporcionado por el usuario de la instancia de contenedor. |
string (obligatorio) |
| Propiedades |
Propiedades de la instancia de contenedor. |
ContainerProperties (obligatorio) |
ContainerGroupProperties
| Nombre |
Descripción |
Valor |
| recipientes |
Contenedores dentro del grupo de contenedores. |
container[] (obligatorio) |
| imageRegistryCredentials |
Credenciales del Registro de imágenes a partir de las cuales se crea el grupo de contenedores. |
ImageRegistryCredential[] |
| dirección IP |
Tipo de dirección IP del grupo de contenedores. |
Dirección IP |
| osType |
Tipo de sistema operativo requerido por los contenedores del grupo de contenedores. |
"Linux" 'Windows' (obligatorio) |
| restartPolicy |
Reinicie la directiva para todos los contenedores del grupo de contenedores. Actualmente, la única opción disponible es always. |
'Siempre' |
| Volúmenes |
Lista de volúmenes que pueden montar los contenedores de este grupo de contenedores. |
volumen[] |
ContainerPort (Puerto de contenedor)
| Nombre |
Descripción |
Valor |
| puerto |
Número de puerto expuesto en el grupo de contenedores. |
int (obligatorio) |
PropiedadesDelContenedor
| Nombre |
Descripción |
Valor |
| mandar |
Los comandos que se van a ejecutar dentro de la instancia de contenedor en formato exec. |
cadena[] |
| variables de entorno |
Variables de entorno que se van a establecer en la instancia de contenedor. |
Variable de entorno[] |
| imagen |
Nombre de la imagen utilizada para crear la instancia del contenedor. |
string (obligatorio) |
| Puertos |
Puertos expuestos en la instancia de contenedor. |
ContainerPort[] |
| Recursos |
Requisitos de recursos de la instancia de contenedor. |
resourceRequirements (obligatorio) |
| volumeMounts |
El volumen monta los montajes disponibles para la instancia de contenedor. |
VolumeMount[] |
EnvironmentVariable
| Nombre |
Descripción |
Valor |
| nombre |
Nombre de la variable de entorno. |
string (obligatorio) |
| valor |
Valor de la variable de entorno. |
string (obligatorio) |
ImageRegistryCredential
| Nombre |
Descripción |
Valor |
| contraseña |
Contraseña del registro privado. |
cuerda |
| servidor |
El servidor del Registro de imágenes de Docker sin un protocolo como "http" y "https". |
string (obligatorio) |
| nombre de usuario |
Nombre de usuario del registro privado. |
string (obligatorio) |
Dirección IP
| Nombre |
Descripción |
Valor |
| IP |
Dirección IP expuesta a la red pública de Internet. |
cuerda |
| Puertos |
Lista de puertos expuestos en el grupo de contenedores. |
puerto[] (obligatorio) |
| tipo |
Especifica si la dirección IP se expone a la red pública de Internet. |
'Public' (obligatorio) |
Puerto
| Nombre |
Descripción |
Valor |
| puerto |
Número de puerto. |
int (obligatorio) |
| protocolo |
Protocolo asociado al puerto. |
'TCP' 'UDP' |
Límites de recursos
| Nombre |
Descripción |
Valor |
| CPU |
Límite de CPU de esta instancia de contenedor. |
Int |
| memoryInGB |
Límite de memoria en GB de esta instancia de contenedor. |
Int |
ResourceRequests (Solicitudes de recursos)
| Nombre |
Descripción |
Valor |
| CPU |
Solicitud de CPU de esta instancia de contenedor. |
int (obligatorio) |
| memoryInGB |
Solicitud de memoria en GB de esta instancia de contenedor. |
int (obligatorio) |
ResourceRequirements (Requisitos de recursos)
| Nombre |
Descripción |
Valor |
| Límites |
Límites de recursos de esta instancia de contenedor. |
Límites de recursos |
| Solicitudes |
Solicitudes de recursos de esta instancia de contenedor. |
resourceRequests (obligatorio) |
Volumen
| Nombre |
Descripción |
Valor |
| azureFile |
Nombre del volumen de azure File. |
AzureFileVolume (obligatorio) |
| nombre |
Nombre del volumen. |
string (obligatorio) |
VolumeMount
| Nombre |
Descripción |
Valor |
| mountPath |
Ruta de acceso dentro del contenedor donde se debe montar el volumen. No debe contener dos puntos (:). |
string (obligatorio) |
| nombre |
Nombre del montaje del volumen. |
string (obligatorio) |
| Solo lectura |
Marca que indica si el montaje del volumen es de solo lectura. |
Bool |
Ejemplos de uso
Un ejemplo básico de implementación de una instancia de Azure Container Group.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "containerGroup" {
type = "Microsoft.ContainerInstance/containerGroups@2023-05-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
containers = [
{
name = "hw"
properties = {
command = [
]
environmentVariables = [
]
image = "ubuntu:20.04"
ports = [
{
port = 80
protocol = "TCP"
},
]
resources = {
requests = {
cpu = 0.5
memoryInGB = 0.5
}
}
}
},
]
initContainers = [
]
ipAddress = {
autoGeneratedDomainNameLabelScope = "Unsecure"
ports = [
{
port = 80
protocol = "TCP"
},
]
type = "Public"
}
osType = "Linux"
restartPolicy = "Always"
volumes = [
]
}
tags = {
environment = "Testing"
}
zones = [
]
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Módulos comprobados de Azure
Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.
| Módulo |
Descripción |
|
Container Instance |
Módulo de recursos de AVM para la instancia de contenedor |