Partager via


Microsoft.ContainerInstance containerGroups 2018-06-01

Définition de ressource Bicep

Le type de ressource containerGroups peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.ContainerInstance/containerGroups, ajoutez le bicep suivant à votre modèle.

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'
  }
}

Valeurs de propriété

Microsoft.ContainerInstance/containerGroups

Nom Descriptif Valeur
emplacement Emplacement de la ressource. corde
nom Nom de la ressource chaîne (obligatoire)
Propriétés ContainerGroupProperties (obligatoire)
portée Utilisez-la lors de la création d’une ressource dans une étendue différente de l’étendue de déploiement. Définissez cette propriété sur le nom symbolique d’une ressource pour appliquer la ressource d’extension .
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

AzureFileVolume

Nom Descriptif Valeur
lecture seule Indicateur indiquant si le fichier Azure partagé est monté en tant que volume en lecture seule. Bool
shareName Nom du partage de fichiers Azure à monter en tant que volume. chaîne (obligatoire)
storageCléCompte Clé d’accès au compte de stockage utilisée pour accéder au partage de fichiers Azure. corde
nomDuCompteDeStockage Nom du compte de stockage qui contient le partage de fichiers Azure. chaîne (obligatoire)

Conteneur

Nom Descriptif Valeur
nom Nom fourni par l’utilisateur de l’instance de conteneur. chaîne (obligatoire)
Propriétés Propriétés de l’instance de conteneur. ContainerProperties (obligatoire)

ContainerExec

Nom Descriptif Valeur
commander Commandes à exécuter dans le conteneur. chaîne de caractères[]

ContainerGroupDiagnostics

Nom Descriptif Valeur
logAnalytics Informations log Analytics du groupe de conteneurs. LogAnalytics

ContainerGroupProperties

Nom Descriptif Valeur
Conteneurs Conteneurs au sein du groupe de conteneurs. container[] (obligatoire)
diagnostic Informations de diagnostic pour un groupe de conteneurs. ContainerGroupDiagnostics
imageRegistryCredentials Informations d’identification du Registre d’images à partir desquelles le groupe de conteneurs est créé. ImageRegistryCredential[]
adresse IP Type d’adresse IP du groupe de conteneurs. IpAddress
osType Type de système d’exploitation requis par les conteneurs dans le groupe de conteneurs. 'Linux'
'Windows' (obligatoire)
restartPolicy Redémarrez la stratégie pour tous les conteneurs au sein du groupe de conteneurs.
- Always toujours redémarrer
- OnFailure Redémarrer en cas d’échec
- Never Jamais redémarrer
« Toujours »
« Jamais »
'OnFailure'
Volumes Liste des volumes pouvant être montés par des conteneurs dans ce groupe de conteneurs. de volume []

ContainerHttpGet

Nom Descriptif Valeur
chemin Chemin d’accès à la sonde. corde
Port Numéro de port à sonder. int (obligatoire)
schéma Le schéma. 'http'
'https'

ContainerPort (en anglais)

Nom Descriptif Valeur
Port Numéro de port exposé dans le groupe de conteneurs. int (obligatoire)
protocole Protocole associé au port. « TCP »
« UDP »

Sonde de conteneur

Nom Descriptif Valeur
Exec Commande d’exécution à sonder containerExec
failureThreshold Seuil d’échec. Int
httpGet Paramètres Http Get à sonder containerHttpGet
initialDelaySeconds Délai initial secondes. Int
periodSecondes Secondes de période. Int
successThreshold Seuil de réussite. Int
timeoutSecondes Délai d’expiration des secondes. Int

Propriétés du conteneur

Nom Descriptif Valeur
commander Commandes à exécuter dans l’instance de conteneur sous forme exec. chaîne de caractères[]
variables d'environnement Variables d’environnement à définir dans l’instance de conteneur. VariableEnvironnement[]
image Nom de l’image utilisée pour créer l’instance de conteneur. chaîne (obligatoire)
vivacitéSonde La sonde liveness. ContainerProbe
Ports Ports exposés sur l’instance de conteneur. ConteneurPort[]
état de préparationSonde Sonde de préparation. ContainerProbe
ressources Configuration requise pour les ressources de l’instance de conteneur. ResourceRequirements (obligatoire)
volumeMontures Montages de volume disponibles pour l’instance de conteneur. VolumeMount[]

EnvironmentVariable

Nom Descriptif Valeur
nom Nom de la variable d’environnement. chaîne (obligatoire)
secureValue Valeur de la variable d’environnement sécurisée. corde
valeur Valeur de la variable d’environnement. corde

GitRepoVolume

Nom Descriptif Valeur
répertoire Nom du répertoire cible. Ne doit pas contenir ou commencer par '..'. Si « . » est fourni, le répertoire du volume est le dépôt git. Sinon, s’il est spécifié, le volume contiendra le dépôt git dans le sous-répertoire avec le nom donné. corde
dépôt URL du référentiel chaîne (obligatoire)
révision Valider le hachage pour la révision spécifiée. corde

ImageRegistryCredential

Nom Descriptif Valeur
mot de passe Mot de passe du registre privé. corde
serveur Le serveur de Registre d’images Docker sans protocole tel que « http » et « https ». chaîne (obligatoire)
nom d’utilisateur Nom d’utilisateur du registre privé. chaîne (obligatoire)

adresse IP

Nom Descriptif Valeur
dnsNameLabel Étiquette de nom DNS pour l’adresse IP. corde
Ip Adresse IP exposée à l’Internet public. corde
Ports Liste des ports exposés sur le groupe de conteneurs. port[] (obligatoire)
type Spécifie si l’adresse IP est exposée à l’Internet public. 'Public' (obligatoire)

LogAnalytics

Nom Descriptif Valeur
ID d'espace de travail ID d’espace de travail pour Log Analytics chaîne (obligatoire)
workspaceKey Clé d’espace de travail pour Log Analytics chaîne (obligatoire)

Port

Nom Descriptif Valeur
Port Numéro de port. int (obligatoire)
protocole Protocole associé au port. « TCP »
« UDP »

ResourceLimits

Nom Descriptif Valeur
CPU Limite du processeur de cette instance de conteneur. Int
memoryInGB Limite de mémoire en Go de cette instance de conteneur. Int

ResourceRequests

Nom Descriptif Valeur
CPU Demande d’UC de cette instance de conteneur. int (obligatoire)
memoryInGB Demande de mémoire en Go de cette instance de conteneur. int (obligatoire)

ResourceRequirements

Nom Descriptif Valeur
Limites Limites de ressources de cette instance de conteneur. ResourceLimits
Requêtes Demandes de ressources de cette instance de conteneur. ResourceRequests (obligatoire)

ResourceTags

Nom Descriptif Valeur

SecretVolume

Nom Descriptif Valeur

Volume

Nom Descriptif Valeur
azureFile Volume De fichiers Azure. AzureFileVolume
rép_vidage Volume de répertoire vide. quelconque
gitRepo Volume du dépôt Git. GitRepoVolume
nom Nom du volume. chaîne (obligatoire)
secret Volume de secrets. SecretVolume

Montage en volume

Nom Descriptif Valeur
mountPath Chemin d’accès au sein du conteneur où le volume doit être monté. Ne doit pas contenir de deux-points (:). chaîne (obligatoire)
nom Nom du montage du volume. chaîne (obligatoire)
lecture seule Indicateur indiquant si le montage de volume est en lecture seule. Bool

Exemples d’utilisation

Modules vérifiés Azure

Les modules vérifiés Azure suivants peuvent être utilisés pour déployer ce type de ressource.

Module Descriptif
d’instance de conteneur Module de ressources AVM pour Container Instance

Exemples de démarrage rapide Azure

Les modèles de démarrage rapide Azure suivants contiennent des exemples Bicep pour le déploiement de ce type de ressource.

Fichier Bicep Descriptif
Azure Container Instances - BC avec SQL Server et IIS Déployez un conteneur Windows unique avec un environnement Microsoft Dynamics 365 Business Central autonome complet sur Azure Container Instances.
Azure Container Instances - conteneur avec des secrets Déployez un conteneur Linux qui a un volume secret à l’aide d’Azure Container Instances.
Azure Container Instances - Conteneur Linux avec IP publique Déployez un conteneur Linux unique accessible via une adresse IP publique à l’aide d’Azure Container Instances.
Azure Container Instances - Réseau virtuel Déployez une instance de conteneur dans un réseau virtuel Azure.
Créer un site WordPress Ce modèle crée un site WordPress sur Container Instance
Créer un serveur SFTP à la demande avec des de stockage persistant Ce modèle illustre un serveur SFTP à la demande à l’aide d’azure Container Instance (ACI).
créer Application Gateway avec des certificats Ce modèle montre comment générer des certificats auto-signés Key Vault, puis référencer à partir d’Application Gateway.
Front Door Standard/Premium avec Azure Container Instances Ce modèle crée une porte d’entrée Standard/Premium avec un groupe de conteneurs.
Front Door avec container Instances et application Gateway Ce modèle crée un Front Door Standard/Premium avec un groupe de conteneurs et Application Gateway.
groupe de disponibilité SQL Server sur AKS Cela crée un cluster AKS, puis déploie des groupes de disponibilité SQL Server dans celui-ci à l’aide d’un package CNAB déployé à l’aide de Duffle et ACI

Définition de ressource de modèle ARM

Le type de ressource containerGroups peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.ContainerInstance/containerGroups, ajoutez le code JSON suivant à votre modèle.

{
  "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"
  }
}

Valeurs de propriété

Microsoft.ContainerInstance/containerGroups

Nom Descriptif Valeur
apiVersion Version de l’API '2018-06-01'
emplacement Emplacement de la ressource. corde
nom Nom de la ressource chaîne (obligatoire)
Propriétés ContainerGroupProperties (obligatoire)
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
type Type de ressource 'Microsoft.ContainerInstance/containerGroups'

AzureFileVolume

Nom Descriptif Valeur
lecture seule Indicateur indiquant si le fichier Azure partagé est monté en tant que volume en lecture seule. Bool
shareName Nom du partage de fichiers Azure à monter en tant que volume. chaîne (obligatoire)
storageCléCompte Clé d’accès au compte de stockage utilisée pour accéder au partage de fichiers Azure. corde
nomDuCompteDeStockage Nom du compte de stockage qui contient le partage de fichiers Azure. chaîne (obligatoire)

Conteneur

Nom Descriptif Valeur
nom Nom fourni par l’utilisateur de l’instance de conteneur. chaîne (obligatoire)
Propriétés Propriétés de l’instance de conteneur. ContainerProperties (obligatoire)

ContainerExec

Nom Descriptif Valeur
commander Commandes à exécuter dans le conteneur. chaîne de caractères[]

ContainerGroupDiagnostics

Nom Descriptif Valeur
logAnalytics Informations log Analytics du groupe de conteneurs. LogAnalytics

ContainerGroupProperties

Nom Descriptif Valeur
Conteneurs Conteneurs au sein du groupe de conteneurs. container[] (obligatoire)
diagnostic Informations de diagnostic pour un groupe de conteneurs. ContainerGroupDiagnostics
imageRegistryCredentials Informations d’identification du Registre d’images à partir desquelles le groupe de conteneurs est créé. ImageRegistryCredential[]
adresse IP Type d’adresse IP du groupe de conteneurs. IpAddress
osType Type de système d’exploitation requis par les conteneurs dans le groupe de conteneurs. 'Linux'
'Windows' (obligatoire)
restartPolicy Redémarrez la stratégie pour tous les conteneurs au sein du groupe de conteneurs.
- Always toujours redémarrer
- OnFailure Redémarrer en cas d’échec
- Never Jamais redémarrer
« Toujours »
« Jamais »
'OnFailure'
Volumes Liste des volumes pouvant être montés par des conteneurs dans ce groupe de conteneurs. de volume []

ContainerHttpGet

Nom Descriptif Valeur
chemin Chemin d’accès à la sonde. corde
Port Numéro de port à sonder. int (obligatoire)
schéma Le schéma. 'http'
'https'

ContainerPort (en anglais)

Nom Descriptif Valeur
Port Numéro de port exposé dans le groupe de conteneurs. int (obligatoire)
protocole Protocole associé au port. « TCP »
« UDP »

Sonde de conteneur

Nom Descriptif Valeur
Exec Commande d’exécution à sonder containerExec
failureThreshold Seuil d’échec. Int
httpGet Paramètres Http Get à sonder containerHttpGet
initialDelaySeconds Délai initial secondes. Int
periodSecondes Secondes de période. Int
successThreshold Seuil de réussite. Int
timeoutSecondes Délai d’expiration des secondes. Int

Propriétés du conteneur

Nom Descriptif Valeur
commander Commandes à exécuter dans l’instance de conteneur sous forme exec. chaîne de caractères[]
variables d'environnement Variables d’environnement à définir dans l’instance de conteneur. VariableEnvironnement[]
image Nom de l’image utilisée pour créer l’instance de conteneur. chaîne (obligatoire)
vivacitéSonde La sonde liveness. ContainerProbe
Ports Ports exposés sur l’instance de conteneur. ConteneurPort[]
état de préparationSonde Sonde de préparation. ContainerProbe
ressources Configuration requise pour les ressources de l’instance de conteneur. ResourceRequirements (obligatoire)
volumeMontures Montages de volume disponibles pour l’instance de conteneur. VolumeMount[]

EnvironmentVariable

Nom Descriptif Valeur
nom Nom de la variable d’environnement. chaîne (obligatoire)
secureValue Valeur de la variable d’environnement sécurisée. corde
valeur Valeur de la variable d’environnement. corde

GitRepoVolume

Nom Descriptif Valeur
répertoire Nom du répertoire cible. Ne doit pas contenir ou commencer par '..'. Si « . » est fourni, le répertoire du volume est le dépôt git. Sinon, s’il est spécifié, le volume contiendra le dépôt git dans le sous-répertoire avec le nom donné. corde
dépôt URL du référentiel chaîne (obligatoire)
révision Valider le hachage pour la révision spécifiée. corde

ImageRegistryCredential

Nom Descriptif Valeur
mot de passe Mot de passe du registre privé. corde
serveur Le serveur de Registre d’images Docker sans protocole tel que « http » et « https ». chaîne (obligatoire)
nom d’utilisateur Nom d’utilisateur du registre privé. chaîne (obligatoire)

adresse IP

Nom Descriptif Valeur
dnsNameLabel Étiquette de nom DNS pour l’adresse IP. corde
Ip Adresse IP exposée à l’Internet public. corde
Ports Liste des ports exposés sur le groupe de conteneurs. port[] (obligatoire)
type Spécifie si l’adresse IP est exposée à l’Internet public. 'Public' (obligatoire)

LogAnalytics

Nom Descriptif Valeur
ID d'espace de travail ID d’espace de travail pour Log Analytics chaîne (obligatoire)
workspaceKey Clé d’espace de travail pour Log Analytics chaîne (obligatoire)

Port

Nom Descriptif Valeur
Port Numéro de port. int (obligatoire)
protocole Protocole associé au port. « TCP »
« UDP »

ResourceLimits

Nom Descriptif Valeur
CPU Limite du processeur de cette instance de conteneur. Int
memoryInGB Limite de mémoire en Go de cette instance de conteneur. Int

ResourceRequests

Nom Descriptif Valeur
CPU Demande d’UC de cette instance de conteneur. int (obligatoire)
memoryInGB Demande de mémoire en Go de cette instance de conteneur. int (obligatoire)

ResourceRequirements

Nom Descriptif Valeur
Limites Limites de ressources de cette instance de conteneur. ResourceLimits
Requêtes Demandes de ressources de cette instance de conteneur. ResourceRequests (obligatoire)

ResourceTags

Nom Descriptif Valeur

SecretVolume

Nom Descriptif Valeur

Volume

Nom Descriptif Valeur
azureFile Volume De fichiers Azure. AzureFileVolume
rép_vidage Volume de répertoire vide. quelconque
gitRepo Volume du dépôt Git. GitRepoVolume
nom Nom du volume. chaîne (obligatoire)
secret Volume de secrets. SecretVolume

Montage en volume

Nom Descriptif Valeur
mountPath Chemin d’accès au sein du conteneur où le volume doit être monté. Ne doit pas contenir de deux-points (:). chaîne (obligatoire)
nom Nom du montage du volume. chaîne (obligatoire)
lecture seule Indicateur indiquant si le montage de volume est en lecture seule. Bool

Exemples d’utilisation

Modèles de démarrage rapide Azure

Les modèles de démarrage rapide Azure suivants déployer ce type de ressource.

Modèle Descriptif
Azure Container Instances - BC avec SQL Server et IIS

Déployer sur Azure
Déployez un conteneur Windows unique avec un environnement Microsoft Dynamics 365 Business Central autonome complet sur Azure Container Instances.
Azure Container Instances - conteneur avec sonde d’intégrité

Déployer sur Azure
Déployez un conteneur Linux doté d’une sonde d’intégrité à l’aide d’Azure Container Instances.
Azure Container Instances - conteneur avec des secrets

Déployer sur Azure
Déployez un conteneur Linux qui a un volume secret à l’aide d’Azure Container Instances.
Azure Container Instances - conteneur avec envVar sécurisé

Déployer sur Azure
Déployez un conteneur Linux qui a une variable d’environnement sécurisée à l’aide d’Azure Container Instances.
Azure Container Instances - Conteneur Linux avec emptyDir

Déployer sur Azure
Déployez deux conteneurs Linux qui partagent un volume emptyDir à l’aide d’Azure Container Instances.
Azure Container Instances - Conteneur Linux avec gitRepo

Déployer sur Azure
Déployez un conteneur Linux qui utilise un volume gitRepo à l’aide d’Azure Container Instances.
Azure Container Instances - Conteneur Linux avec IP publique

Déployer sur Azure
Déployez un conteneur Linux unique accessible via une adresse IP publique à l’aide d’Azure Container Instances.
Azure Container Instances - Réseau virtuel

Déployer sur Azure
Déployez une instance de conteneur dans un réseau virtuel Azure.
créer un partage de fichiers de compte de stockage via des conteneurs

Déployer sur Azure
Ce modèle crée un compte de stockage et un partage de fichiers via Azure-cli dans une instance de conteneur
Créer un site WordPress

Déployer sur Azure
Ce modèle crée un site WordPress sur Container Instance
Créer un site WordPress dans un réseau virtuel

Déployer sur Azure
Ce modèle crée un site WordPress sur Container Instance dans un réseau virtuel. Et génère un nom de domaine complet de site public qui peut accéder au site WordPress.
Créer un serveur SFTP à la demande avec des de stockage persistant

Déployer sur Azure
Ce modèle illustre un serveur SFTP à la demande à l’aide d’azure Container Instance (ACI).
créer Application Gateway avec des certificats

Déployer sur Azure
Ce modèle montre comment générer des certificats auto-signés Key Vault, puis référencer à partir d’Application Gateway.
Front Door Standard/Premium avec Azure Container Instances

Déployer sur Azure
Ce modèle crée une porte d’entrée Standard/Premium avec un groupe de conteneurs.
Front Door avec container Instances et application Gateway

Déployer sur Azure
Ce modèle crée un Front Door Standard/Premium avec un groupe de conteneurs et Application Gateway.
serveur SFTP à la demande à l’aide d’un compte de stockage existant

Déployer sur Azure
Ce modèle illustre un serveur SFTP à la demande à l’aide d’azure Container Instance (ACI).
groupe de disponibilité SQL Server sur AKS

Déployer sur Azure
Cela crée un cluster AKS, puis déploie des groupes de disponibilité SQL Server dans celui-ci à l’aide d’un package CNAB déployé à l’aide de Duffle et ACI
conteneur UDP dans ACI

Déployer sur Azure
Ce modèle crée une ressource ACI et expose un conteneur via UDP

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource containerGroups peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.ContainerInstance/containerGroups, ajoutez le terraform suivant à votre modèle.

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"
          }
        }
      ]
    }
  }
}

Valeurs de propriété

Microsoft.ContainerInstance/containerGroups

Nom Descriptif Valeur
emplacement Emplacement de la ressource. corde
nom Nom de la ressource chaîne (obligatoire)
parent_id ID de la ressource à laquelle appliquer cette ressource d’extension. chaîne (obligatoire)
Propriétés ContainerGroupProperties (obligatoire)
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource « Microsoft.ContainerInstance/containerGroups@2018-06-01 »

AzureFileVolume

Nom Descriptif Valeur
lecture seule Indicateur indiquant si le fichier Azure partagé est monté en tant que volume en lecture seule. Bool
shareName Nom du partage de fichiers Azure à monter en tant que volume. chaîne (obligatoire)
storageCléCompte Clé d’accès au compte de stockage utilisée pour accéder au partage de fichiers Azure. corde
nomDuCompteDeStockage Nom du compte de stockage qui contient le partage de fichiers Azure. chaîne (obligatoire)

Conteneur

Nom Descriptif Valeur
nom Nom fourni par l’utilisateur de l’instance de conteneur. chaîne (obligatoire)
Propriétés Propriétés de l’instance de conteneur. ContainerProperties (obligatoire)

ContainerExec

Nom Descriptif Valeur
commander Commandes à exécuter dans le conteneur. chaîne de caractères[]

ContainerGroupDiagnostics

Nom Descriptif Valeur
logAnalytics Informations log Analytics du groupe de conteneurs. LogAnalytics

ContainerGroupProperties

Nom Descriptif Valeur
Conteneurs Conteneurs au sein du groupe de conteneurs. container[] (obligatoire)
diagnostic Informations de diagnostic pour un groupe de conteneurs. ContainerGroupDiagnostics
imageRegistryCredentials Informations d’identification du Registre d’images à partir desquelles le groupe de conteneurs est créé. ImageRegistryCredential[]
adresse IP Type d’adresse IP du groupe de conteneurs. IpAddress
osType Type de système d’exploitation requis par les conteneurs dans le groupe de conteneurs. 'Linux'
'Windows' (obligatoire)
restartPolicy Redémarrez la stratégie pour tous les conteneurs au sein du groupe de conteneurs.
- Always toujours redémarrer
- OnFailure Redémarrer en cas d’échec
- Never Jamais redémarrer
« Toujours »
« Jamais »
'OnFailure'
Volumes Liste des volumes pouvant être montés par des conteneurs dans ce groupe de conteneurs. de volume []

ContainerHttpGet

Nom Descriptif Valeur
chemin Chemin d’accès à la sonde. corde
Port Numéro de port à sonder. int (obligatoire)
schéma Le schéma. 'http'
'https'

ContainerPort (en anglais)

Nom Descriptif Valeur
Port Numéro de port exposé dans le groupe de conteneurs. int (obligatoire)
protocole Protocole associé au port. « TCP »
« UDP »

Sonde de conteneur

Nom Descriptif Valeur
Exec Commande d’exécution à sonder containerExec
failureThreshold Seuil d’échec. Int
httpGet Paramètres Http Get à sonder containerHttpGet
initialDelaySeconds Délai initial secondes. Int
periodSecondes Secondes de période. Int
successThreshold Seuil de réussite. Int
timeoutSecondes Délai d’expiration des secondes. Int

Propriétés du conteneur

Nom Descriptif Valeur
commander Commandes à exécuter dans l’instance de conteneur sous forme exec. chaîne de caractères[]
variables d'environnement Variables d’environnement à définir dans l’instance de conteneur. VariableEnvironnement[]
image Nom de l’image utilisée pour créer l’instance de conteneur. chaîne (obligatoire)
vivacitéSonde La sonde liveness. ContainerProbe
Ports Ports exposés sur l’instance de conteneur. ConteneurPort[]
état de préparationSonde Sonde de préparation. ContainerProbe
ressources Configuration requise pour les ressources de l’instance de conteneur. ResourceRequirements (obligatoire)
volumeMontures Montages de volume disponibles pour l’instance de conteneur. VolumeMount[]

EnvironmentVariable

Nom Descriptif Valeur
nom Nom de la variable d’environnement. chaîne (obligatoire)
secureValue Valeur de la variable d’environnement sécurisée. corde
valeur Valeur de la variable d’environnement. corde

GitRepoVolume

Nom Descriptif Valeur
répertoire Nom du répertoire cible. Ne doit pas contenir ou commencer par '..'. Si « . » est fourni, le répertoire du volume est le dépôt git. Sinon, s’il est spécifié, le volume contiendra le dépôt git dans le sous-répertoire avec le nom donné. corde
dépôt URL du référentiel chaîne (obligatoire)
révision Valider le hachage pour la révision spécifiée. corde

ImageRegistryCredential

Nom Descriptif Valeur
mot de passe Mot de passe du registre privé. corde
serveur Le serveur de Registre d’images Docker sans protocole tel que « http » et « https ». chaîne (obligatoire)
nom d’utilisateur Nom d’utilisateur du registre privé. chaîne (obligatoire)

adresse IP

Nom Descriptif Valeur
dnsNameLabel Étiquette de nom DNS pour l’adresse IP. corde
Ip Adresse IP exposée à l’Internet public. corde
Ports Liste des ports exposés sur le groupe de conteneurs. port[] (obligatoire)
type Spécifie si l’adresse IP est exposée à l’Internet public. 'Public' (obligatoire)

LogAnalytics

Nom Descriptif Valeur
ID d'espace de travail ID d’espace de travail pour Log Analytics chaîne (obligatoire)
workspaceKey Clé d’espace de travail pour Log Analytics chaîne (obligatoire)

Port

Nom Descriptif Valeur
Port Numéro de port. int (obligatoire)
protocole Protocole associé au port. « TCP »
« UDP »

ResourceLimits

Nom Descriptif Valeur
CPU Limite du processeur de cette instance de conteneur. Int
memoryInGB Limite de mémoire en Go de cette instance de conteneur. Int

ResourceRequests

Nom Descriptif Valeur
CPU Demande d’UC de cette instance de conteneur. int (obligatoire)
memoryInGB Demande de mémoire en Go de cette instance de conteneur. int (obligatoire)

ResourceRequirements

Nom Descriptif Valeur
Limites Limites de ressources de cette instance de conteneur. ResourceLimits
Requêtes Demandes de ressources de cette instance de conteneur. ResourceRequests (obligatoire)

ResourceTags

Nom Descriptif Valeur

SecretVolume

Nom Descriptif Valeur

Volume

Nom Descriptif Valeur
azureFile Volume De fichiers Azure. AzureFileVolume
rép_vidage Volume de répertoire vide. quelconque
gitRepo Volume du dépôt Git. GitRepoVolume
nom Nom du volume. chaîne (obligatoire)
secret Volume de secrets. SecretVolume

Montage en volume

Nom Descriptif Valeur
mountPath Chemin d’accès au sein du conteneur où le volume doit être monté. Ne doit pas contenir de deux-points (:). chaîne (obligatoire)
nom Nom du montage du volume. chaîne (obligatoire)
lecture seule Indicateur indiquant si le montage de volume est en lecture seule. Bool

Exemples d’utilisation

Échantillons Terraform

Exemple de base de déploiement d’une instance 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    = ["*"]
}

Modules vérifiés Azure

Les modules vérifiés Azure suivants peuvent être utilisés pour déployer ce type de ressource.

Module Descriptif
d’instance de conteneur Module de ressources AVM pour Container Instance