Dela via


Väntelägespooler för Azure Container Instances (förhandsversion)

Viktigt!

Väntelägespooler för Azure Container Instances är för närvarande i förhandsversion. Förhandsversioner är tillgängliga för dig under förutsättning att du godkänner de kompletterande användningsvillkoren. Vissa aspekter av funktionen kan ändras innan den är allmänt tillgänglig (GA).

Med väntelägespooler för Azure Container Instances kan du skapa en pool med företablerade containergrupper som kan användas som svar på inkommande trafik. Containergrupperna i poolen är helt etablerade, initierade och redo att ta emot arbete.

Diagram över arbetsflödet för att skapa en container med den traditionella sökvägen jämfört med sökvägen till väntelägespoolen.

Begränsningar

Väntelägespooler för Azure Container Instances är inte tillgängliga i Azure Portal.

Förutsättningar

Funktionsregistrering

Registrera resursprovidern för väntelägespoolen och funktionen för förhandsversion av väntelägespoolen med din prenumeration med Hjälp av Azure Cloud Shell. Registreringen kan ta upp till 30 minuter att visa som registrerad. Du kan köra kommandona nedan igen för att avgöra när funktionen har registrerats.

Register-AzResourceProvider -ProviderNameSpace Microsoft.ContainerInstance
Register-AzResourceProvider -ProviderNamespace Microsoft.StandbyPool
Register-AzProviderFeature -FeatureName StandbyContainerGroupPoolPreview -ProviderNamespace Microsoft.StandbyPool

Behörigheter för rollbaserad åtkomstkontroll

Om du vill tillåta att väntelägespooler skapar containergrupper i din prenumeration tilldelar du lämpliga behörigheter till resursprovidern för väntelägespoolen.

  1. Gå till dina prenumerationer i Azure-portalen.
  2. Välj den prenumeration som du vill justera behörigheter för.
  3. Välj Access Control (IAM).
  4. Välj Lägg till och Lägg till rolltilldelning.
  5. Under fliken Roll söker du efter Deltagare i väntelägescontainergrupppool och väljer den.
  6. Flytta till fliken Medlemmar .
  7. Välj + Välj medlemmar.
  8. Sök efter Resursprovider för väntelägespool och välj den.
  9. Gå till fliken Granska + tilldela .
  10. Tillämpa ändringarna.
  11. Upprepa stegen ovan genom att även ange rollen Azure Container Instances-deltagare och nätverksdeltagare till resursprovidern för väntelägespoolen.

Mer information om hur du tilldelar roller finns i tilldela Azure-roller med hjälp av Azure Portal.

Använda en container från väntelägespoolen

När du behöver en ny containergrupp kan du omedelbart hämta en från väntelägespoolen som etableras och körs.

Väntelägespooler ger bara ut containergrupper från poolen som är helt etablerade och redo att ta emot arbete. När instanserna i poolen fortfarande initieras är de till exempel inte i körningstillstånd och delas inte ut när en container begärs. Om inga instanser i poolen är tillgängliga återgår Azure Container Instances som standard till att skapa en ny containergrupp.

Storlek på väntelägespool

Antalet containergrupper i en väntelägespool bestäms genom att parametern maxReadyCapacity anges. När en containergrupp förbrukas från poolen börjar väntelägespoolen automatiskt fyllas på så att väntelägespoolen behåller den maximala kapacitet som angetts.

Den enda tillgängliga påfyllningsprincipen för väntelägespooler på Azure Container-instanser är Always.

Inställning beskrivning
maxReadyCapacity Det maximala antalet containergrupper som du vill distribuera i poolen.
refillPolicy Meddelar väntelägespoolen att omedelbart fylla på containergrupper för att behålla maxReadyCapacity.

Profil för containergrupp

En containergruppprofil anger för väntelägespoolen hur containrarna i poolen ska konfigureras. Om du gör några ändringar i containergruppprofilen måste du också uppdatera väntelägespoolen för att säkerställa att uppdateringarna tillämpas på instanserna i poolen.

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


Konfigurationskartor

En konfigurationskarta är en egenskap som kan associeras med en containergruppprofil och användas för att tillämpa containerkonfigurationer som liknar miljövariabler och hemliga volymer. När du använder miljövariabler eller hemliga volymer krävs dock omstart av podden för att ändringarna ska börja gälla. Med hjälp av konfigurationskartor kan konfigurationerna tillämpas utan att containern startas om. Detta aktiverar out-of-band-uppdateringar så att containrar kan läsa de nya värdena utan att starta om.

Azure Container Instances kan skapas med eller utan konfigurationskartor och kan uppdateras när som helst efter skapandet med hjälp av konfigurationskartor. Uppdatering av konfigurationskartor i en befintlig containergrupp som körs kan utföras snabbt och utan att containern startas om.

Mer information finns i använda konfigurationskartor.

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

Konfidentiella containrar

Väntelägespooler för Azure-containerinstanser stöder konfidentiella containrar. Om du vill använda konfidentiella containrar uppdaterar du sku typen till Confidential i containergruppprofilen.

Viktigt!

Värden som skickas med hjälp av konfigurationskartor ingår inte i säkerhetsprincipen eller verifieras av körningen innan filmonteringen görs tillgänglig för containern. Alla värden som kan påverka data- eller programsäkerheten kan inte vara betrodda av programmet under körningen och bör i stället göras tillgängliga för containern med hjälp av miljövariabler.

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


Hanterad identitet

Väntelägespooler för Azure Container Instances stöder integrering med hanterad identitet. Användning av en hanterad identitet utförs när du begär en container från väntelägespoolen och inkluderar parametrarna identity och inställningarna. Hanterad identitet är inte en egenskap som stöds direkt i containergruppprofilen.

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

Tillgänglighetszoner

Väntelägespooler för Azure Container Instances har stöd för att skapa och begära containrar mellan tillgänglighetszoner. Att skapa en zonindelad väntepool är för närvarande endast tillgängligt med hjälp av REST API:er för väntelägespoolen med version 2024-08-01-preview och är endast tillgängligt i regionen Indien, centrala.

Skapa en zonindelad väntepool

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

Nästa steg

Skapa en väntelägespool för Azure Container Instances.