Compartilhar via


Contêineres Microsoft.ContainerInstanceGroups 2018-06-01

Definição de recurso do Bicep

O tipo de recurso containerGroups pode ser implantado com operações de destino:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.ContainerInstance/containerGroups, adicione o Bicep a seguir ao modelo.

resource symbolicname 'Microsoft.ContainerInstance/containerGroups@2018-06-01' = {
  scope: resourceSymbolicName or scope
  location: 'string'
  name: 'string'
  properties: {
    containers: [
      {
        name: 'string'
        properties: {
          command: [
            'string'
          ]
          environmentVariables: [
            {
              name: 'string'
              secureValue: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          livenessProbe: {
            exec: {
              command: [
                'string'
              ]
            }
            failureThreshold: int
            httpGet: {
              path: 'string'
              port: int
              scheme: 'string'
            }
            initialDelaySeconds: int
            periodSeconds: int
            successThreshold: int
            timeoutSeconds: int
          }
          ports: [
            {
              port: int
              protocol: 'string'
            }
          ]
          readinessProbe: {
            exec: {
              command: [
                'string'
              ]
            }
            failureThreshold: int
            httpGet: {
              path: 'string'
              port: int
              scheme: 'string'
            }
            initialDelaySeconds: int
            periodSeconds: int
            successThreshold: int
            timeoutSeconds: int
          }
          resources: {
            limits: {
              cpu: int
              memoryInGB: int
            }
            requests: {
              cpu: int
              memoryInGB: int
            }
          }
          volumeMounts: [
            {
              mountPath: 'string'
              name: 'string'
              readOnly: bool
            }
          ]
        }
      }
    ]
    diagnostics: {
      logAnalytics: {
        workspaceId: 'string'
        workspaceKey: 'string'
      }
    }
    imageRegistryCredentials: [
      {
        password: 'string'
        server: 'string'
        username: 'string'
      }
    ]
    ipAddress: {
      dnsNameLabel: 'string'
      ip: 'string'
      ports: [
        {
          port: int
          protocol: 'string'
        }
      ]
      type: 'string'
    }
    osType: 'string'
    restartPolicy: 'string'
    volumes: [
      {
        azureFile: {
          readOnly: bool
          shareName: 'string'
          storageAccountKey: 'string'
          storageAccountName: 'string'
        }
        emptyDir: any(...)
        gitRepo: {
          directory: 'string'
          repository: 'string'
          revision: 'string'
        }
        name: 'string'
        secret: {
          {customized property}: 'string'
        }
      }
    ]
  }
  tags: {
    {customized property}: 'string'
  }
}

Valores da propriedade

Microsoft.ContainerInstance/containerGroups

Nome Descrição Valor
local O local do recurso. cadeia
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades ContainerGroupProperties (obrigatório)
escopo Use ao criar um recurso em um escopo diferente do escopo de implantação. Defina essa propriedade como o nome simbólico de um recurso para aplicar o recurso de extensão .
Tags Marcas de recurso Dicionário de nomes e valores de marca. Consulte Marcas em modelos

AzureFileVolume

Nome Descrição Valor
somente leitura O sinalizador que indica se o Arquivo do Azure compartilhado montado como um volume é somente leitura. Bool
nome_da_partilha O nome do compartilhamento de Arquivos do Azure a ser montado como um volume. cadeia de caracteres (obrigatório)
Chave de conta de armazenamento A chave de acesso da conta de armazenamento usada para acessar o compartilhamento de Arquivos do Azure. cadeia
storageAccountName O nome da conta de armazenamento que contém o compartilhamento de arquivos do Azure. cadeia de caracteres (obrigatório)

Recipiente

Nome Descrição Valor
nome O nome fornecido pelo usuário da instância de contêiner. cadeia de caracteres (obrigatório)
Propriedades As propriedades da instância de contêiner. containerProperties (obrigatório)

Contêiner Exec

Nome Descrição Valor
comando Os comandos a serem executados dentro do contêiner. cadeia de caracteres[]

Diagnóstico do Grupo de Contêineres

Nome Descrição Valor
logAnalytics Informações do log analytics do grupo de contêineres. do LogAnalytics

Propriedades do Grupo de Contêineres

Nome Descrição Valor
Recipientes Os contêineres dentro do grupo de contêineres. de contêiner [] (obrigatório)
Diagnostics As informações de diagnóstico de um grupo de contêineres. ContainerGroupDiagnostics
imageRegistryCredentials As credenciais do registro de imagem pelas quais o grupo de contêineres é criado. ImageRegistryCredential []
endereço IP O tipo de endereço IP do grupo de contêineres. ipAddress
osType O tipo de sistema operacional exigido pelos contêineres no grupo de contêineres. 'Linux'
'Windows' (obrigatório)
restartPolicy Reinicie a política para todos os contêineres dentro do grupo de contêineres.
- Always Sempre reiniciar
- OnFailure Reiniciar com falha
- Never Nunca reiniciar
'Sempre'
'Nunca'
'OnFailure'
Volumes A lista de volumes que podem ser montados por contêineres neste grupo de contêineres. de volume []

ContainerHttpGet

Nome Descrição Valor
caminho O caminho para a investigação. cadeia
porta O número da porta a ser sondado. int (obrigatório)
esquema O esquema. 'http'
'https'

Porta de contêiner

Nome Descrição Valor
porta O número da porta exposto no grupo de contêineres. int (obrigatório)
protocolo O protocolo associado à porta. 'TCP'
'UDP'

Sonda de contêiner

Nome Descrição Valor
Exec O comando de execução a ser sondado ContainerExec
limite de falha O limite de falha. int
httpGet As configurações de Http Get para investigação ContainerHttpGet
initialDelaySeconds Os segundos de atraso iniciais. int
periodSegundos Os segundos do período. int
successThreshold O limite de sucesso. int
timeoutSegundos Os segundos de tempo limite. int

PropriedadesDoContêiner

Nome Descrição Valor
comando Os comandos a serem executados na instância de contêiner no formulário executivo. cadeia de caracteres[]
variáveis de ambiente As variáveis de ambiente a serem definidas na instância do contêiner. EnvironmentVariable []
imagem O nome da imagem usada para criar a instância de contêiner. cadeia de caracteres (obrigatório)
livenessProbe A investigação de vida. containerProbe
Portas As portas expostas na instância de contêiner. ContainerPort []
prontidãoSonda A investigação de preparação. containerProbe
Recursos Os requisitos de recurso da instância de contêiner. ResourceRequirements (obrigatório)
volumeMounts As montagens de volume disponíveis para a instância de contêiner. VolumeMount []

Variável de ambiente

Nome Descrição Valor
nome O nome da variável de ambiente. cadeia de caracteres (obrigatório)
valor seguro O valor da variável de ambiente seguro. cadeia
valor O valor da variável de ambiente. cadeia

GitRepoVolume

Nome Descrição Valor
diretório Nome do diretório de destino. Não deve conter ou começar com '..'. Se '.' for fornecido, o diretório de volume será o repositório git. Caso contrário, se especificado, o volume conterá o repositório git no subdiretório com o nome fornecido. cadeia
repositório URL do repositório cadeia de caracteres (obrigatório)
revisão Confirme o hash para a revisão especificada. cadeia

Credencial de registro de imagem

Nome Descrição Valor
senha A senha do registro privado. cadeia
servidor O servidor de registro de imagem do Docker sem um protocolo como "http" e "https". cadeia de caracteres (obrigatório)
nome de usuário O nome de usuário do registro privado. cadeia de caracteres (obrigatório)

Endereço IP

Nome Descrição Valor
dnsNameLabel O rótulo de nome Dns para o IP. cadeia
IP O IP exposto à Internet pública. cadeia
Portas A lista de portas expostas no grupo de contêineres. da Porta [] (obrigatório)
tipo Especifica se o IP é exposto à Internet pública. 'Public' (obrigatório)

Análise de log

Nome Descrição Valor
ID do espaço de trabalho A ID do workspace para análise de logs cadeia de caracteres (obrigatório)
workspaceKey A chave do workspace para análise de logs cadeia de caracteres (obrigatório)

Porta

Nome Descrição Valor
porta O número da porta. int (obrigatório)
protocolo O protocolo associado à porta. 'TCP'
'UDP'

Limites de recursos

Nome Descrição Valor
CPU O limite da CPU dessa instância de contêiner. int
memóriaEmGB O limite de memória em GB dessa instância de contêiner. int

Solicitações de recursos

Nome Descrição Valor
CPU A solicitação de CPU dessa instância de contêiner. int (obrigatório)
memóriaEmGB A solicitação de memória em GB dessa instância de contêiner. int (obrigatório)

Requisitos de recursos

Nome Descrição Valor
limites Os limites de recurso dessa instância de contêiner. ResourceLimits
Solicitações As solicitações de recurso dessa instância de contêiner. ResourceRequests (obrigatório)

Tags de recursos

Nome Descrição Valor

Volume secreto

Nome Descrição Valor

Volume

Nome Descrição Valor
azureFile O volume de Arquivo do Azure. AzureFileVolume
emptyDir O volume de diretório vazio. qualquer
gitRepo O volume de repositório git. GitRepoVolume
nome O nome do volume. cadeia de caracteres (obrigatório)
segredo O volume secreto. SecretVolume

Montagem de volume

Nome Descrição Valor
caminho de montagem O caminho dentro do contêiner em que o volume deve ser montado. Não deve conter dois-pontos (:). cadeia de caracteres (obrigatório)
nome O nome da montagem do volume. cadeia de caracteres (obrigatório)
somente leitura O sinalizador que indica se a montagem do volume é somente leitura. Bool

Exemplos de uso

Módulos verificados do Azure

O módulos verificados do Azure a seguir pode ser usado para implantar esse tipo de recurso.

Módulo Descrição
da Instância de Contêiner Módulo de recurso AVM para instância de contêiner

Exemplos de Início Rápido do Azure

Os modelos de Início Rápido do Azure a seguir contêm exemplos de Bicep para implantar esse tipo de recurso.

Arquivo Bicep Descrição
Instâncias de Contêiner do Azure – BC com o SQL Server e o IIS Implante um único contêiner do Windows com um ambiente do Microsoft Dynamics 365 Business Central totalmente independente em Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – contêiner com segredos Implante um contêiner do Linux que tenha um volume secreto usando Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – contêiner do Linux com ip público Implante um único contêiner do Linux acessível por meio de um IP público usando Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – VNet Implantar uma instância de contêiner em uma rede virtual do Azure.
criar um site do WordPress Este modelo cria um site do WordPress na Instância de Contêiner
criar um servidor SFTP sob demanda com de armazenamento persistente Este modelo demonstra um servidor SFTP sob demanda usando uma ACI (Instância de Contêiner do Azure).
Criar Gateway de Aplicativo com certificados Este modelo mostra como gerar certificados autoassinados do Key Vault e, em seguida, fazer referência do Gateway de Aplicativo.
Front Door Standard/Premium com instâncias de contêiner do Azure Esse modelo cria um Front Door Standard/Premium com um grupo de contêineres.
Front Door com instâncias de contêiner e gateway de aplicativo Esse modelo cria um Front Door Standard/Premium com um grupo de contêineres e o Gateway de Aplicativo.
grupo de disponibilidade do SQL Server em do AKS Isso cria um novo cluster do AKS e implanta grupos de disponibilidade do SQL Server nele usando um pacote CNAB implantado usando o Duffle e a ACI

Definição de recurso de modelo do ARM

O tipo de recurso containerGroups pode ser implantado com operações de destino:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.ContainerInstance/containerGroups, adicione o JSON a seguir ao modelo.

{
  "type": "Microsoft.ContainerInstance/containerGroups",
  "apiVersion": "2018-06-01",
  "name": "string",
  "location": "string",
  "properties": {
    "containers": [
      {
        "name": "string",
        "properties": {
          "command": [ "string" ],
          "environmentVariables": [
            {
              "name": "string",
              "secureValue": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "livenessProbe": {
            "exec": {
              "command": [ "string" ]
            },
            "failureThreshold": "int",
            "httpGet": {
              "path": "string",
              "port": "int",
              "scheme": "string"
            },
            "initialDelaySeconds": "int",
            "periodSeconds": "int",
            "successThreshold": "int",
            "timeoutSeconds": "int"
          },
          "ports": [
            {
              "port": "int",
              "protocol": "string"
            }
          ],
          "readinessProbe": {
            "exec": {
              "command": [ "string" ]
            },
            "failureThreshold": "int",
            "httpGet": {
              "path": "string",
              "port": "int",
              "scheme": "string"
            },
            "initialDelaySeconds": "int",
            "periodSeconds": "int",
            "successThreshold": "int",
            "timeoutSeconds": "int"
          },
          "resources": {
            "limits": {
              "cpu": "int",
              "memoryInGB": "int"
            },
            "requests": {
              "cpu": "int",
              "memoryInGB": "int"
            }
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "name": "string",
              "readOnly": "bool"
            }
          ]
        }
      }
    ],
    "diagnostics": {
      "logAnalytics": {
        "workspaceId": "string",
        "workspaceKey": "string"
      }
    },
    "imageRegistryCredentials": [
      {
        "password": "string",
        "server": "string",
        "username": "string"
      }
    ],
    "ipAddress": {
      "dnsNameLabel": "string",
      "ip": "string",
      "ports": [
        {
          "port": "int",
          "protocol": "string"
        }
      ],
      "type": "string"
    },
    "osType": "string",
    "restartPolicy": "string",
    "volumes": [
      {
        "azureFile": {
          "readOnly": "bool",
          "shareName": "string",
          "storageAccountKey": "string",
          "storageAccountName": "string"
        },
        "emptyDir": {},
        "gitRepo": {
          "directory": "string",
          "repository": "string",
          "revision": "string"
        },
        "name": "string",
        "secret": {
          "{customized property}": "string"
        }
      }
    ]
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valores da propriedade

Microsoft.ContainerInstance/containerGroups

Nome Descrição Valor
apiVersion A versão da API '2018-06-01'
local O local do recurso. cadeia
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades ContainerGroupProperties (obrigatório)
Tags Marcas de recurso Dicionário de nomes e valores de marca. Consulte Marcas em modelos
tipo O tipo de recurso 'Microsoft.ContainerInstance/containerGroups'

AzureFileVolume

Nome Descrição Valor
somente leitura O sinalizador que indica se o Arquivo do Azure compartilhado montado como um volume é somente leitura. Bool
nome_da_partilha O nome do compartilhamento de Arquivos do Azure a ser montado como um volume. cadeia de caracteres (obrigatório)
Chave de conta de armazenamento A chave de acesso da conta de armazenamento usada para acessar o compartilhamento de Arquivos do Azure. cadeia
storageAccountName O nome da conta de armazenamento que contém o compartilhamento de arquivos do Azure. cadeia de caracteres (obrigatório)

Recipiente

Nome Descrição Valor
nome O nome fornecido pelo usuário da instância de contêiner. cadeia de caracteres (obrigatório)
Propriedades As propriedades da instância de contêiner. containerProperties (obrigatório)

Contêiner Exec

Nome Descrição Valor
comando Os comandos a serem executados dentro do contêiner. cadeia de caracteres[]

Diagnóstico do Grupo de Contêineres

Nome Descrição Valor
logAnalytics Informações do log analytics do grupo de contêineres. do LogAnalytics

Propriedades do Grupo de Contêineres

Nome Descrição Valor
Recipientes Os contêineres dentro do grupo de contêineres. de contêiner [] (obrigatório)
Diagnostics As informações de diagnóstico de um grupo de contêineres. ContainerGroupDiagnostics
imageRegistryCredentials As credenciais do registro de imagem pelas quais o grupo de contêineres é criado. ImageRegistryCredential []
endereço IP O tipo de endereço IP do grupo de contêineres. ipAddress
osType O tipo de sistema operacional exigido pelos contêineres no grupo de contêineres. 'Linux'
'Windows' (obrigatório)
restartPolicy Reinicie a política para todos os contêineres dentro do grupo de contêineres.
- Always Sempre reiniciar
- OnFailure Reiniciar com falha
- Never Nunca reiniciar
'Sempre'
'Nunca'
'OnFailure'
Volumes A lista de volumes que podem ser montados por contêineres neste grupo de contêineres. de volume []

ContainerHttpGet

Nome Descrição Valor
caminho O caminho para a investigação. cadeia
porta O número da porta a ser sondado. int (obrigatório)
esquema O esquema. 'http'
'https'

Porta de contêiner

Nome Descrição Valor
porta O número da porta exposto no grupo de contêineres. int (obrigatório)
protocolo O protocolo associado à porta. 'TCP'
'UDP'

Sonda de contêiner

Nome Descrição Valor
Exec O comando de execução a ser sondado ContainerExec
limite de falha O limite de falha. int
httpGet As configurações de Http Get para investigação ContainerHttpGet
initialDelaySeconds Os segundos de atraso iniciais. int
periodSegundos Os segundos do período. int
successThreshold O limite de sucesso. int
timeoutSegundos Os segundos de tempo limite. int

PropriedadesDoContêiner

Nome Descrição Valor
comando Os comandos a serem executados na instância de contêiner no formulário executivo. cadeia de caracteres[]
variáveis de ambiente As variáveis de ambiente a serem definidas na instância do contêiner. EnvironmentVariable []
imagem O nome da imagem usada para criar a instância de contêiner. cadeia de caracteres (obrigatório)
livenessProbe A investigação de vida. containerProbe
Portas As portas expostas na instância de contêiner. ContainerPort []
prontidãoSonda A investigação de preparação. containerProbe
Recursos Os requisitos de recurso da instância de contêiner. ResourceRequirements (obrigatório)
volumeMounts As montagens de volume disponíveis para a instância de contêiner. VolumeMount []

Variável de ambiente

Nome Descrição Valor
nome O nome da variável de ambiente. cadeia de caracteres (obrigatório)
valor seguro O valor da variável de ambiente seguro. cadeia
valor O valor da variável de ambiente. cadeia

GitRepoVolume

Nome Descrição Valor
diretório Nome do diretório de destino. Não deve conter ou começar com '..'. Se '.' for fornecido, o diretório de volume será o repositório git. Caso contrário, se especificado, o volume conterá o repositório git no subdiretório com o nome fornecido. cadeia
repositório URL do repositório cadeia de caracteres (obrigatório)
revisão Confirme o hash para a revisão especificada. cadeia

Credencial de registro de imagem

Nome Descrição Valor
senha A senha do registro privado. cadeia
servidor O servidor de registro de imagem do Docker sem um protocolo como "http" e "https". cadeia de caracteres (obrigatório)
nome de usuário O nome de usuário do registro privado. cadeia de caracteres (obrigatório)

Endereço IP

Nome Descrição Valor
dnsNameLabel O rótulo de nome Dns para o IP. cadeia
IP O IP exposto à Internet pública. cadeia
Portas A lista de portas expostas no grupo de contêineres. da Porta [] (obrigatório)
tipo Especifica se o IP é exposto à Internet pública. 'Public' (obrigatório)

Análise de log

Nome Descrição Valor
ID do espaço de trabalho A ID do workspace para análise de logs cadeia de caracteres (obrigatório)
workspaceKey A chave do workspace para análise de logs cadeia de caracteres (obrigatório)

Porta

Nome Descrição Valor
porta O número da porta. int (obrigatório)
protocolo O protocolo associado à porta. 'TCP'
'UDP'

Limites de recursos

Nome Descrição Valor
CPU O limite da CPU dessa instância de contêiner. int
memóriaEmGB O limite de memória em GB dessa instância de contêiner. int

Solicitações de recursos

Nome Descrição Valor
CPU A solicitação de CPU dessa instância de contêiner. int (obrigatório)
memóriaEmGB A solicitação de memória em GB dessa instância de contêiner. int (obrigatório)

Requisitos de recursos

Nome Descrição Valor
limites Os limites de recurso dessa instância de contêiner. ResourceLimits
Solicitações As solicitações de recurso dessa instância de contêiner. ResourceRequests (obrigatório)

Tags de recursos

Nome Descrição Valor

Volume secreto

Nome Descrição Valor

Volume

Nome Descrição Valor
azureFile O volume de Arquivo do Azure. AzureFileVolume
emptyDir O volume de diretório vazio. qualquer
gitRepo O volume de repositório git. GitRepoVolume
nome O nome do volume. cadeia de caracteres (obrigatório)
segredo O volume secreto. SecretVolume

Montagem de volume

Nome Descrição Valor
caminho de montagem O caminho dentro do contêiner em que o volume deve ser montado. Não deve conter dois-pontos (:). cadeia de caracteres (obrigatório)
nome O nome da montagem do volume. cadeia de caracteres (obrigatório)
somente leitura O sinalizador que indica se a montagem do volume é somente leitura. Bool

Exemplos de uso

Modelos de início rápido do Azure

Os modelos de Início Rápido do Azure a seguir implantar esse tipo de recurso.

Modelo Descrição
Instâncias de Contêiner do Azure – BC com o SQL Server e o IIS

Implantar no Azure
Implante um único contêiner do Windows com um ambiente do Microsoft Dynamics 365 Business Central totalmente independente em Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – contêiner com de investigação de integridade

Implantar no Azure
Implante um contêiner do Linux que tenha uma investigação de integridade usando Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – contêiner com segredos

Implantar no Azure
Implante um contêiner do Linux que tenha um volume secreto usando Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – contêiner com envVar seguro

Implantar no Azure
Implante um contêiner do Linux que tenha uma variável de ambiente segura usando Instâncias de Contêiner do Azure.
instâncias de contêiner do Azure – contêiner do Linux com emptyDir

Implantar no Azure
Implante dois contêineres do Linux que compartilham um volume emptyDir usando Instâncias de Contêiner do Azure.
instâncias de contêiner do Azure – contêiner linux com gitRepo

Implantar no Azure
Implante um contêiner do Linux que usa um volume gitRepo usando Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – contêiner do Linux com ip público

Implantar no Azure
Implante um único contêiner do Linux acessível por meio de um IP público usando Instâncias de Contêiner do Azure.
Instâncias de Contêiner do Azure – VNet

Implantar no Azure
Implantar uma instância de contêiner em uma rede virtual do Azure.
criar um compartilhamento de arquivo de conta de armazenamento por meio de contêineres

Implantar no Azure
Esse modelo cria uma conta de armazenamento e um compartilhamento de arquivos por meio do azure-cli em uma Instância de Contêiner
criar um site do WordPress

Implantar no Azure
Este modelo cria um site do WordPress na Instância de Contêiner
criar um site do WordPress em uma rede virtual

Implantar no Azure
Esse modelo cria um site do WordPress na Instância de Contêiner em uma rede virtual. E gerar um FQDN de site público que poderia acessar o site do WordPress.
criar um servidor SFTP sob demanda com de armazenamento persistente

Implantar no Azure
Este modelo demonstra um servidor SFTP sob demanda usando uma ACI (Instância de Contêiner do Azure).
Criar Gateway de Aplicativo com certificados

Implantar no Azure
Este modelo mostra como gerar certificados autoassinados do Key Vault e, em seguida, fazer referência do Gateway de Aplicativo.
Front Door Standard/Premium com instâncias de contêiner do Azure

Implantar no Azure
Esse modelo cria um Front Door Standard/Premium com um grupo de contêineres.
Front Door com instâncias de contêiner e gateway de aplicativo

Implantar no Azure
Esse modelo cria um Front Door Standard/Premium com um grupo de contêineres e o Gateway de Aplicativo.
servidor SFTP sob demanda usando uma conta de armazenamento existente

Implantar no Azure
Este modelo demonstra um servidor SFTP sob demanda usando uma ACI (Instância de Contêiner do Azure).
grupo de disponibilidade do SQL Server em do AKS

Implantar no Azure
Isso cria um novo cluster do AKS e implanta grupos de disponibilidade do SQL Server nele usando um pacote CNAB implantado usando o Duffle e a ACI
contêiner UDP no ACI

Implantar no Azure
Esses modelos criam um recurso de ACI e expõem um contêiner por meio do UDP

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso containerGroups pode ser implantado com operações de destino:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.ContainerInstance/containerGroups, adicione o Terraform a seguir ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerInstance/containerGroups@2018-06-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      containers = [
        {
          name = "string"
          properties = {
            command = [
              "string"
            ]
            environmentVariables = [
              {
                name = "string"
                secureValue = "string"
                value = "string"
              }
            ]
            image = "string"
            livenessProbe = {
              exec = {
                command = [
                  "string"
                ]
              }
              failureThreshold = int
              httpGet = {
                path = "string"
                port = int
                scheme = "string"
              }
              initialDelaySeconds = int
              periodSeconds = int
              successThreshold = int
              timeoutSeconds = int
            }
            ports = [
              {
                port = int
                protocol = "string"
              }
            ]
            readinessProbe = {
              exec = {
                command = [
                  "string"
                ]
              }
              failureThreshold = int
              httpGet = {
                path = "string"
                port = int
                scheme = "string"
              }
              initialDelaySeconds = int
              periodSeconds = int
              successThreshold = int
              timeoutSeconds = int
            }
            resources = {
              limits = {
                cpu = int
                memoryInGB = int
              }
              requests = {
                cpu = int
                memoryInGB = int
              }
            }
            volumeMounts = [
              {
                mountPath = "string"
                name = "string"
                readOnly = bool
              }
            ]
          }
        }
      ]
      diagnostics = {
        logAnalytics = {
          workspaceId = "string"
          workspaceKey = "string"
        }
      }
      imageRegistryCredentials = [
        {
          password = "string"
          server = "string"
          username = "string"
        }
      ]
      ipAddress = {
        dnsNameLabel = "string"
        ip = "string"
        ports = [
          {
            port = int
            protocol = "string"
          }
        ]
        type = "string"
      }
      osType = "string"
      restartPolicy = "string"
      volumes = [
        {
          azureFile = {
            readOnly = bool
            shareName = "string"
            storageAccountKey = "string"
            storageAccountName = "string"
          }
          emptyDir = ?
          gitRepo = {
            directory = "string"
            repository = "string"
            revision = "string"
          }
          name = "string"
          secret = {
            {customized property} = "string"
          }
        }
      ]
    }
  }
}

Valores da propriedade

Microsoft.ContainerInstance/containerGroups

Nome Descrição Valor
local O local do recurso. cadeia
nome O nome do recurso cadeia de caracteres (obrigatório)
parent_id A ID do recurso ao qual aplicar esse recurso de extensão. cadeia de caracteres (obrigatório)
Propriedades ContainerGroupProperties (obrigatório)
Tags Marcas de recurso Dicionário de nomes e valores de marca.
tipo O tipo de recurso "Microsoft.ContainerInstance/containerGroups@2018-06-01"

AzureFileVolume

Nome Descrição Valor
somente leitura O sinalizador que indica se o Arquivo do Azure compartilhado montado como um volume é somente leitura. Bool
nome_da_partilha O nome do compartilhamento de Arquivos do Azure a ser montado como um volume. cadeia de caracteres (obrigatório)
Chave de conta de armazenamento A chave de acesso da conta de armazenamento usada para acessar o compartilhamento de Arquivos do Azure. cadeia
storageAccountName O nome da conta de armazenamento que contém o compartilhamento de arquivos do Azure. cadeia de caracteres (obrigatório)

Recipiente

Nome Descrição Valor
nome O nome fornecido pelo usuário da instância de contêiner. cadeia de caracteres (obrigatório)
Propriedades As propriedades da instância de contêiner. containerProperties (obrigatório)

Contêiner Exec

Nome Descrição Valor
comando Os comandos a serem executados dentro do contêiner. cadeia de caracteres[]

Diagnóstico do Grupo de Contêineres

Nome Descrição Valor
logAnalytics Informações do log analytics do grupo de contêineres. do LogAnalytics

Propriedades do Grupo de Contêineres

Nome Descrição Valor
Recipientes Os contêineres dentro do grupo de contêineres. de contêiner [] (obrigatório)
Diagnostics As informações de diagnóstico de um grupo de contêineres. ContainerGroupDiagnostics
imageRegistryCredentials As credenciais do registro de imagem pelas quais o grupo de contêineres é criado. ImageRegistryCredential []
endereço IP O tipo de endereço IP do grupo de contêineres. ipAddress
osType O tipo de sistema operacional exigido pelos contêineres no grupo de contêineres. 'Linux'
'Windows' (obrigatório)
restartPolicy Reinicie a política para todos os contêineres dentro do grupo de contêineres.
- Always Sempre reiniciar
- OnFailure Reiniciar com falha
- Never Nunca reiniciar
'Sempre'
'Nunca'
'OnFailure'
Volumes A lista de volumes que podem ser montados por contêineres neste grupo de contêineres. de volume []

ContainerHttpGet

Nome Descrição Valor
caminho O caminho para a investigação. cadeia
porta O número da porta a ser sondado. int (obrigatório)
esquema O esquema. 'http'
'https'

Porta de contêiner

Nome Descrição Valor
porta O número da porta exposto no grupo de contêineres. int (obrigatório)
protocolo O protocolo associado à porta. 'TCP'
'UDP'

Sonda de contêiner

Nome Descrição Valor
Exec O comando de execução a ser sondado ContainerExec
limite de falha O limite de falha. int
httpGet As configurações de Http Get para investigação ContainerHttpGet
initialDelaySeconds Os segundos de atraso iniciais. int
periodSegundos Os segundos do período. int
successThreshold O limite de sucesso. int
timeoutSegundos Os segundos de tempo limite. int

PropriedadesDoContêiner

Nome Descrição Valor
comando Os comandos a serem executados na instância de contêiner no formulário executivo. cadeia de caracteres[]
variáveis de ambiente As variáveis de ambiente a serem definidas na instância do contêiner. EnvironmentVariable []
imagem O nome da imagem usada para criar a instância de contêiner. cadeia de caracteres (obrigatório)
livenessProbe A investigação de vida. containerProbe
Portas As portas expostas na instância de contêiner. ContainerPort []
prontidãoSonda A investigação de preparação. containerProbe
Recursos Os requisitos de recurso da instância de contêiner. ResourceRequirements (obrigatório)
volumeMounts As montagens de volume disponíveis para a instância de contêiner. VolumeMount []

Variável de ambiente

Nome Descrição Valor
nome O nome da variável de ambiente. cadeia de caracteres (obrigatório)
valor seguro O valor da variável de ambiente seguro. cadeia
valor O valor da variável de ambiente. cadeia

GitRepoVolume

Nome Descrição Valor
diretório Nome do diretório de destino. Não deve conter ou começar com '..'. Se '.' for fornecido, o diretório de volume será o repositório git. Caso contrário, se especificado, o volume conterá o repositório git no subdiretório com o nome fornecido. cadeia
repositório URL do repositório cadeia de caracteres (obrigatório)
revisão Confirme o hash para a revisão especificada. cadeia

Credencial de registro de imagem

Nome Descrição Valor
senha A senha do registro privado. cadeia
servidor O servidor de registro de imagem do Docker sem um protocolo como "http" e "https". cadeia de caracteres (obrigatório)
nome de usuário O nome de usuário do registro privado. cadeia de caracteres (obrigatório)

Endereço IP

Nome Descrição Valor
dnsNameLabel O rótulo de nome Dns para o IP. cadeia
IP O IP exposto à Internet pública. cadeia
Portas A lista de portas expostas no grupo de contêineres. da Porta [] (obrigatório)
tipo Especifica se o IP é exposto à Internet pública. 'Public' (obrigatório)

Análise de log

Nome Descrição Valor
ID do espaço de trabalho A ID do workspace para análise de logs cadeia de caracteres (obrigatório)
workspaceKey A chave do workspace para análise de logs cadeia de caracteres (obrigatório)

Porta

Nome Descrição Valor
porta O número da porta. int (obrigatório)
protocolo O protocolo associado à porta. 'TCP'
'UDP'

Limites de recursos

Nome Descrição Valor
CPU O limite da CPU dessa instância de contêiner. int
memóriaEmGB O limite de memória em GB dessa instância de contêiner. int

Solicitações de recursos

Nome Descrição Valor
CPU A solicitação de CPU dessa instância de contêiner. int (obrigatório)
memóriaEmGB A solicitação de memória em GB dessa instância de contêiner. int (obrigatório)

Requisitos de recursos

Nome Descrição Valor
limites Os limites de recurso dessa instância de contêiner. ResourceLimits
Solicitações As solicitações de recurso dessa instância de contêiner. ResourceRequests (obrigatório)

Tags de recursos

Nome Descrição Valor

Volume secreto

Nome Descrição Valor

Volume

Nome Descrição Valor
azureFile O volume de Arquivo do Azure. AzureFileVolume
emptyDir O volume de diretório vazio. qualquer
gitRepo O volume de repositório git. GitRepoVolume
nome O nome do volume. cadeia de caracteres (obrigatório)
segredo O volume secreto. SecretVolume

Montagem de volume

Nome Descrição Valor
caminho de montagem O caminho dentro do contêiner em que o volume deve ser montado. Não deve conter dois-pontos (:). cadeia de caracteres (obrigatório)
nome O nome da montagem do volume. cadeia de caracteres (obrigatório)
somente leitura O sinalizador que indica se a montagem do volume é somente leitura. Bool

Exemplos de uso

Exemplos do Terraform

Um exemplo básico de implantação da instância do Grupo de Contêineres do Azure.

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 verificados do Azure

O módulos verificados do Azure a seguir pode ser usado para implantar esse tipo de recurso.

Módulo Descrição
da Instância de Contêiner Módulo de recurso AVM para instância de contêiner