Pools en attente pour Azure Container Instances (préversion)
Important
Les pools en attente pour Azure Container Instances sont actuellement en préversion. Les préversions sont à votre disposition, à condition que vous acceptiez les conditions d’utilisation supplémentaires. Certains aspects de cette fonctionnalité sont susceptibles d’être modifiés avant la mise à disposition générale.
Les pools en attente pour Azure Container Instances vous permettent de créer un pool de groupes de conteneurs pré-approvisionnés qui peuvent être utilisés en réponse au trafic entrant. Les groupes de conteneurs du pool sont entièrement approvisionnés, initialisés et prêts à recevoir du travail.
Limites
Les pools en attente pour Azure Container Instances ne sont pas disponibles dans le portail Azure.
Prérequis
Inscription de la fonctionnalité
Inscrivez le fournisseur de ressources du pool en attente et la fonctionnalité de préversion du pool en attente avec votre abonnement à l’aide d’Azure Cloud Shell. L’inscription peut prendre jusqu’à 30 minutes. Vous pouvez réexécuter les commandes ci-dessous pour déterminer à quel moment la fonctionnalité a été correctement inscrite.
Register-AzResourceProvider -ProviderNameSpace Microsoft.ContainerInstance
Register-AzResourceProvider -ProviderNamespace Microsoft.StandbyPool
Register-AzProviderFeature -FeatureName StandbyContainerGroupPoolPreview -ProviderNamespace Microsoft.StandbyPool
Autorisations de contrôle d’accès en fonction du rôle
Pour autoriser les pools en attente à créer des groupes de conteneurs dans votre abonnement, attribuez les autorisations appropriées au fournisseur de ressources du pool en attente.
- Dans le Portail Azure, accédez à vos abonnements.
- Sélectionnez l’abonnement pour lequel vous souhaitez ajuster les autorisations.
- Sélectionnez Contrôle d’accès (IAM) .
- Sélectionnez Ajouter, puis Ajouter une attribution de rôle.
- Dans l’onglet Rôle, recherchez le Contributeur de pool de groupes de conteneurs en attente et sélectionnez-le.
- Déplacer vers l’onglet Membres.
- Sélectionnez + Sélectionner les membres.
- Recherchez et sélectionnez Fournisseur de ressources du pool de secours.
- Accédez à l’onglet Vérifier + attribuer.
- Appliquez les modifications.
- Répétez également les étapes ci-dessus en assignant le rôle contributeur Azure Container Instances et le contributeur réseau au Fournisseur de ressources du pool en attente.
Pour plus d’informations sur l’attribution de rôles, consultez Attribuer des rôles Azure à l’aide du Portail Azure.
Utilisation d’un conteneur depuis le pool en attente
Quand vous avez besoin d’un nouveau groupe de conteneurs, vous pouvez immédiatement en extraire un du pool en attente qui est approvisionné et en cours d’exécution.
Les pools en attente distribuent uniquement des groupes de conteneurs du pool entièrement approvisionnés et prêts à recevoir du travail. Par exemple, si les instances de votre pool sont toujours en cours d’initialisation, elles ne sont pas dans un état en cours d’exécution et ne sont pas distribuées quand un conteneur est demandé. Si aucune instance du pool n’est disponible, Azure Container Instances revient par défaut à la création nette d’un groupe de conteneurs.
Taille du pool de secours
Le nombre de groupes de conteneurs d’un pool en attente est déterminé en définissant le paramètre maxReadyCapacity
. Quand un groupe de conteneurs est consommé à partir du pool, le pool en attente commence automatiquement à se réapprovisionner pour s’assurer de conserver la capacité prête maximale définie.
La seule stratégie de réapprovisionnement disponible pour des pools en attente sur Azure Container Instances est Always
.
Setting | Description |
---|---|
maxReadyCapacity | Nombre maximal de groupes de conteneurs que vous souhaitez déployer dans le pool. |
refillPolicy | Indique au pool en attente de réapprovisionner immédiatement des groupes de conteneurs pour maintenir maxReadyCapacity. |
Profil du groupe de conteneurs
Un profil de groupe de conteneurs indique au pool en attente comment configurer les conteneurs du pool. Si vous apportez des modifications au profil du groupe de conteneurs, vous devez également mettre à jour votre pool en attente pour vous assurer que les mises à jour sont appliquées aux instances du pool.
{
"location":"{location}",
"properties":{
"containers": [
{
"name":"[mycontainergroupprofile]",
"properties": {
"command":[],
"environmentVariables":[],
"image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"ports":[
{
"port":8000
}
],
"resources": {
"requests": {
"cpu":1,
"memoryInGB":1.5
}
}
}
}
],
"imageRegistryCredentials":[],
"ipAddress":{
"ports":[
{
"protocol":"TCP",
"port":8000
}
],
"type":"Public"
},
"osType":"Linux",
"sku":"Standard"
}
}
ConfigMaps
Un ConfigMap est une propriété qui peut être associée à un profil de groupe de conteneurs et utilisée pour appliquer des configurations de conteneur semblables aux variables d’environnement et aux volumes de secrets. Toutefois, lors de l’utilisation de variables d’environnement ou de volumes secrets, un redémarrage du pod est nécessaire pour que les modifications prennent effet. En utilisant des ConfigMaps, les configurations peuvent être appliquées sans redémarrer le conteneur. Cela permet des mises à jour hors bande pour que les conteneurs puissent lire les nouvelles valeurs sans redémarrer.
Azure Container Instances peut être créé avec ou sans ConfigMaps et mis à jour à tout moment après la création à l’aide des ConfigMaps. La mise à jour des ConfigMaps dans un groupe de conteneurs en cours d’exécution peut être effectuée rapidement et sans nécessiter le redémarrage du conteneur.
Pour plus d’informations, consultez Utiliser des ConfigMaps.
{
"properties": {
"containers": [
{
"name": "{mycontainergroupprofile}",
"properties": {
"image": "mcr.microsoft.com/azuredocs/aci-helloworld",
"ports": [
{
"port": 80,
"protocol": "TCP"
}
],
"resources": {
"requests": {
"memoryInGB": 0.5,
"cpu": 0.5
}
},
"configMap": {
"keyValuePairs": {
"key1": "value1",
"key2": "value2"
}
}
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"protocol": "tcp",
"port": 80
}
]
}
},
"location": "{location}"
}
Conteneurs confidentiels
Les pools en attente pour Azure Container Instances prennent en charge les conteneurs confidentiels. Pour utiliser des conteneurs confidentiels, mettez à jour le type sku
sur Confidential
dans le profil de groupe de conteneurs.
Important
Les valeurs passées à l’aide de ConfigMaps ne sont pas incluses dans la stratégie de sécurité ou validées par le runtime avant que le montage du fichier soit mis à la disposition du conteneur. Toutes les valeurs susceptibles d’avoir un impact sur les données ou la sécurité de l’application ne peuvent pas être approuvées par l’application pendant l’exécution et doivent être mises à la disposition du conteneur à l’aide de variables d’environnement.
{
"location":"{location}",
"properties":{
"containers": [
{
"name":"{mycontainergroupprofile}",
"properties": {
"command":[],
"environmentVariables":[],
"image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"ports":[
{
"port":8000
}
],
"resources": {
"requests": {
"cpu":1,
"memoryInGB":1.5
}
}
}
}
],
"imageRegistryCredentials":[],
"ipAddress":{
"ports":[
{
"protocol":"TCP",
"port":8000
}
],
"type":"Public"
},
"osType":"Linux",
"sku":"Confidential"
}
}
Identité managée
Les pools en attente pour Azure Container Instances prennent en charge l’intégration avec une identité managée. L’application d’une identité managée est effectuée lors de la demande d’un conteneur du pool en attente, y compris les paramètres et réglages identity
. Une identité managée n’est pas une propriété prise en charge directement dans le profil de groupe de conteneurs.
{
"location": "{location}",
"properties": {
"standByPoolProfile":{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.StandbyPool/standbyContainerGroupPools/{standbyPoolName}"
},
"containerGroupProfile": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ContainerInstance/containerGroupProfiles/{mycontainergroupprofile}",
"revision": {revisionNumber}
},
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity}": {}
},
"containers": [
{
"name": "{mycontainergroupprofile}",
"properties": {
"configMap": {
"keyValuePairs": {
"{newKey}": "{newValue}"
}
}
}
}
]
}
}
Zones de disponibilité
Les pools en attente pour Azure Container Instances prennent en charge la création et la demande de conteneurs dans des zones de disponibilité. La création d’un pool en attente zonal est actuellement disponible uniquement à l’aide des API REST du pool en attente à l’aide de la version 2024-08-01-preview et disponible uniquement dans la région Inde Centre.
Créer un pool en attente zonal
PUT https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.StandbyPool/standbyContainerGroupPools/myStandbyPool?api-version=2024-08-01-preview
Request Body
{
"properties": {
"elasticityProfile": {
"maxReadyCapacity": 20,
"refillPolicy": "always"
},
"containerGroupProperties": {
"containerGroupProfile": {
"id": "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile",
"revision": 1
},
"subnetIds": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNET/subnets/mySubnet"
}
]
},
"zones": [
"1",
"2",
"3"
]
},
"location": "West Central US"
}