Behållargrupper i Azure Container Instances
Den översta resursen i Azure Container Instances är containergruppen. I den här artikeln beskrivs vilka containergrupper som är och vilka typer av scenarier de möjliggör.
Vad är en containergrupp?
En containergrupp är en samling containrar som schemaläggs på samma värddator. Containrarna i en containergrupp delar en livscykel, resurser, lokalt nätverk och lagringsvolymer. Det liknar begrepp i en podd i Kubernetes.
Följande diagram visar ett exempel på en containergrupp som innehåller flera containrar:

Det här exemplet på en containergrupp:
- Schemaläggs på en enda värddator.
- Tilldelas en DNS-namnetikett.
- Exponerar en enskild offentlig IP-adress, med en exponerad port.
- Består av två containrar. En container lyssnar på port 80 medan den andra lyssnar på port 5000.
- Innehåller två Azure-filresurser som volymmonteringar och varje container monterar en av filresurser lokalt.
Anteckning
Grupper med flera containrar stöder för närvarande endast Linux-containrar. För Windows-containrar Azure Container Instances endast distribution av en enda containerinstans. Medan vi arbetar med att ta med alla funktioner i Windows-containrar kan du hitta de aktuella plattformsskillnaderna i översikten över tjänsten.
Distribution
Här är två vanliga sätt att distribuera en grupp med flera containrar: använda en Resource Manager eller en YAML-fil. En Resource Manager-mall rekommenderas när du behöver distribuera ytterligare Azure-tjänstresurser (till exempel en Azure Files resurs)när du distribuerar containerinstanserna. På grund av YAML-formatets mer koncisa natur rekommenderas en YAML-fil när distributionen endast innehåller containerinstanser. Mer information om egenskaper som du kan ange finns i Resource Manager mallreferens eller YAML-referensdokumentation.
Om du vill bevara en containergrupps konfiguration kan du exportera konfigurationen till en YAML-fil med hjälp av Azure CLI-kommandot az container export. Med Exportera kan du lagra dina konfigurationer för containergrupper i versionskontroll för "konfiguration som kod". Du kan också använda den exporterade filen som utgångspunkt när du utvecklar en ny konfiguration i YAML.
Resursallokeringen
Azure Container Instances tilldelar resurser som processorer, minne och eventuellt GPU:er (förhandsversion) till en grupp med flera containrar genom att lägga till resursbegäranden för instanserna i gruppen. Om du till exempel tar CPU-resurser och skapar en containergrupp med två containerinstanser, där var och en begär 1 processor, allokeras containergruppen 2 processorer.
Resursanvändning efter containerinstanser
Varje containerinstans i en grupp tilldelas de resurser som anges i dess resursbegäran. Det maximala antalet resurser som används av en containerinstans i en grupp kan dock vara annorlunda om du konfigurerar dess valfria resursgränsegenskap. Resursgränsen för en containerinstans måste vara större än eller lika med den obligatoriska egenskapen för resursbegäran.
Om du inte anger en resursgräns är containerinstansens maximala resursanvändning samma som dess resursbegäran.
Om du anger en gräns för en containerinstans kan instansens maximala användning vara större än begäran, upp till den gräns som du har angett. På motsvarande sätt kan resursanvändningen av andra containerinstanser i gruppen minska. Den högsta resursgräns som du kan ange för en containerinstans är det totala antalet resurser som allokerats till gruppen.
I en grupp med två containerinstanser som var och en begär 1 PROCESSOR kan en av dina containrar till exempel köra en arbetsbelastning som kräver fler processorer att köra än den andra.
I det här scenariot kan du ange en resursgräns på upp till 2 processorer för containerinstansen. Med den här konfigurationen kan containerinstansen använda upp till 2 processorer om det är tillgängligt.
Anteckning
En liten mängd av en containergrupps resurser används av tjänstens underliggande infrastruktur. Dina containrar kommer att kunna komma åt de flesta men inte alla resurser som har allokerats till gruppen. Därför bör du planera en liten resursbuffert när du begär resurser för containrar i gruppen.
Lägsta och högsta allokering
Allokera minst 1 PROCESSOR och 1 GB minne till en containergrupp. Enskilda containerinstanser i en grupp kan etableras med mindre än 1 CPU och 1 GB minne.
Maximalt antal resurser i en containergrupp finns i resurstillgänglighet för Azure Container Instances i distributionsregionen.
Nätverk
Containergrupper kan dela en extern IP-adress, en eller flera portar på den IP-adressen och en DNS-etikett med ett fullständigt kvalificerat domännamn (FQDN). Om du vill göra det möjligt för externa klienter att nå en container i gruppen måste du exponera porten på IP-adressen och från containern. En containergrupps IP-adress och FQDN släpps när containergruppen tas bort.
I en containergrupp kan containerinstanser nå varandra via localhost på valfri port, även om dessa portar inte exponeras externt på gruppens IP-adress eller från containern.
Du kan också distribuera containergrupper i ett virtuellt Azure-nätverk så att containrar kan kommunicera säkert med andra resurser i det virtuella nätverket.
Storage
Du kan ange externa volymer som ska monteras i en containergrupp. Volymer som stöds är:
Du kan mappa volymerna till specifika sökvägar i de enskilda containrarna i en grupp.
Vanliga scenarier
Grupper med flera containrar är användbara i fall där du vill dela upp en enda funktionell uppgift i ett litet antal containeravbildningar. Dessa avbildningar kan sedan levereras av olika team och ha separata resurskrav.
Exempel på användning kan vara:
- En container som betjänar ett webbprogram och en container som drar det senaste innehållet från källkontrollen.
- En programcontainer och en loggningscontainer. Loggningscontainern samlar in loggar och mått från huvudprogrammet och skriver dem till långsiktig lagring.
- En programcontainer och en övervakningscontainer. Övervakningscontainern skickar regelbundet en begäran till programmet för att säkerställa att den körs och svarar korrekt, och skickar en avisering om den inte gör det.
- En frontend-container och en backend-container. Frontend kan hantera ett webbprogram, där serverdelen kör en tjänst för att hämta data.
Nästa steg
Lär dig hur du distribuerar en containergrupp med flera containrar med Azure Resource Manager mall: