Utforska Azure Container Instances
Azure Container Instances (ACI) är en utmärkt lösning för alla scenarier som kan fungera i isolerade containers, som enkla appar, automatisering av uppgifter och att skapa jobb. Här är exempel på några av fördelarna:
- Snabb start: ACI kan starta containrar i Azure på några sekunder, utan att behöva etablera och hantera en virtuell dator (VM)
- Containeråtkomst: Med ACI kan du exponera dina containergrupper direkt på Internet med en IP-adress och ett fullständigt domännamn (FQDN)
- Säkerhet på Hypervisor-nivå: Isolera ditt program så fullständigt som det skulle vara på en virtuell dator
- Kunddata: ACI-tjänsten lagrar de minsta kunddata som krävs för att säkerställa att dina containergrupper körs som förväntat
- Anpassade storlekar: ACI ger optimal användning genom att tillåta exakta specifikationer för processorkärnor och minne
- Beständig lagring: Montera Azure Files-resurser direkt till en container för att hämta och bevara tillstånd
- Linux och Windows: schemalägg både Windows- och Linux-containrar med hjälp av samma API.
För scenarier där du behöver fullständig containerorkestrering, inklusive tjänstidentifiering för flera containrar, automatisk skalning och koordinerade programuppgraderingar rekommenderar vi Azure Kubernetes Service (AKS).
Containergrupper
Den översta resursen i Azure Container Instances är containergruppen. 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 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 resurserna lokalt.
Kommentar
Grupper med flera containrar stöder för närvarande endast Linux-containrar. För Windows-containrar stöder Azure Container Instances endast distribution av en enda instans.
Distribution
Det finns två vanliga sätt att distribuera en grupp med flera containrar: använd en Resource Manager-mall eller en YAML-fil. En Resource Manager-mall rekommenderas när du behöver distribuera fler Azure-tjänstresurser (till exempel en Azure Files-resurs) när du distribuerar containerinstanserna. På grund av YAML-formatets mer koncisa karaktär rekommenderas en YAML-fil när distributionen endast innehåller containerinstanser.
Resurstilldelning
Azure Container Instances allokerar resurser som processorer, minne och eventuellt GPU:er (förhandsversion) till en containergrupp genom att lägga till resursbegäranden för instanserna i gruppen. Om du till exempel använder CPU-resurser, om du skapar en containergrupp med två instanser, som var och en begär en PROCESSOR, tilldelas containergruppen två processorer.
Nätverk
Containergrupper delar en IP-adress och ett portnamnområde på den IP-adressen. För att externa klienter ska kunna nå en container i gruppen måste du exponera porten på IP-adressen och från containern. Eftersom containrar i gruppen delar ett portnamnområde stöds inte portmappning. Containrar i en grupp kan nå varandra via localhost på de portar som de exponerar, även om dessa portar inte exponeras externt på gruppens IP-adress.
Storage
Du kan ange externa volymer som ska monteras i en containergrupp. Du kan mappa dessa volymer till specifika sökvägar i de enskilda containrarna i en grupp. Volymer som stöds är:
- Azure-filresurs
- Hemlig
- Tom katalog
- Klonad git-lagringsplats
Vanliga scenarier
Grupper med flera containrar är användbara i fall där du vill dela upp en enda funktionell uppgift i några containeravbildningar. Dessa avbildningar kan 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 hämtar det senaste innehållet från källkontrollen.
- En programcontainer och en loggningscontainer. Loggningscontainern samlar in loggar och måttutdata 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 genererar en avisering om den inte är det.
- En klientdelscontainer och en serverdelscontainer. Klientdelen kan hantera ett webbprogram, där serverdelen kör en tjänst för att hämta data.