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.
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.
- Gå till dina prenumerationer i Azure-portalen.
- Välj den prenumeration som du vill justera behörigheter för.
- Välj Access Control (IAM).
- Välj Lägg till och Lägg till rolltilldelning.
- Under fliken Roll söker du efter Deltagare i väntelägescontainergrupppool och väljer den.
- Flytta till fliken Medlemmar .
- Välj + Välj medlemmar.
- Sök efter Resursprovider för väntelägespool och välj den.
- Gå till fliken Granska + tilldela .
- Tillämpa ändringarna.
- 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"
}