Dela via


Azure Container Instances och containerorkestrerare

På grund av deras små storlek och programorientering passar containrar bra för flexibla leveransmiljöer och mikrotjänstbaserade arkitekturer. Uppgiften att automatisera och hantera ett stort antal containrar och hur de interagerar kallas orkestrering. Populära containerorkestrerare är Kubernetes, DC/OS och Docker Swarm.

Azure Container Instances innehåller några av de grundläggande schemaläggningsfunktionerna för orkestreringsplattformar. Och även om det inte täcker de tjänster med högre värde som dessa plattformar tillhandahåller, kan Azure Container Instances komplettera dem. Den här artikeln beskriver omfattningen av vad Azure Container Instances hanterar och hur fullständiga containerorkestrerare kan interagera med den.

Traditionell orkestrering

Standarddefinitionen för orkestrering innehåller följande uppgifter:

  • Schemaläggning: Med tanke på en containeravbildning och en resursbegäran hittar du en lämplig dator där containern ska köras.
  • Tillhörighet/antitillhörighet: Ange att en uppsättning containrar ska köras i närheten av varandra (för prestanda) eller tillräckligt långt ifrån varandra (för tillgänglighet).
  • Hälsoövervakning: Håll utkik efter containerfel och schemalägg om dem automatiskt.
  • Redundansväxling: Håll reda på vad som körs på varje dator och schemalägg om containrar från datorer som misslyckats till felfria noder.
  • Skalning: Lägg till eller ta bort containerinstanser för att matcha efterfrågan, antingen manuellt eller automatiskt.
  • Nätverk: Tillhandahålla ett överläggsnätverk för samordning av containrar för kommunikation mellan flera värddatorer.
  • Tjänstidentifiering: Aktivera containrar för att hitta varandra automatiskt, även när de flyttas mellan värddatorer och ändrar IP-adresser.
  • Samordnade programuppgraderingar: Hantera containeruppgraderingar för att undvika programavbrott och aktivera återställning om något går fel.

Orkestrering med Azure Container Instances: En metod i flera lager

Azure Container Instances möjliggör en stegvis metod för orkestrering, vilket ger alla de schemaläggnings- och hanteringsfunktioner som krävs för att köra en enda container, samtidigt som orkestreringsplattformar kan hantera uppgifter med flera containrar ovanpå den.

Eftersom den underliggande infrastrukturen för containerinstanser hanteras av Azure behöver en orkestreringsplattform inte bekymra sig om att hitta en lämplig värddator där en enda container ska köras. Molnets elasticitet säkerställer att en alltid är tillgänglig. I stället kan orkestreraren fokusera på de uppgifter som förenklar utvecklingen av arkitekturer med flera containrar, inklusive skalning och samordnade uppgraderingar.

Scenarier

Även om orkestreringsintegrering med Azure Container Instances fortfarande är begynnande, förväntar vi oss att några olika miljöer kommer att uppstå:

Orkestrering av containerinstanser exklusivt

Eftersom de börjar snabbt och fakturerar för det andra, erbjuder en miljö som uteslutande baseras på Azure Container Instances det snabbaste sättet att komma igång och hantera mycket varierande arbetsbelastningar.

Kombination av containerinstanser och containrar i virtuella datorer

För långvariga, stabila arbetsbelastningar är orkestrering av containrar i ett kluster med dedikerade virtuella datorer vanligtvis billigare än att köra samma containrar med Azure Container Instances. Containerinstanser erbjuder dock en bra lösning för att snabbt utöka och kontraktera din övergripande kapacitet för att hantera oväntade eller kortvariga toppar i användningen.

I stället för att skala ut antalet virtuella datorer i klustret och sedan distribuera ytterligare containrar till dessa datorer, kan orkestreraren helt enkelt schemalägga ytterligare containrar i Azure Container Instances och ta bort dem när de inte längre behövs.

Exempelimplementering: virtuella noder för Azure Kubernetes Service (AKS)

Om du vill skala programarbetsbelastningar snabbt i ett AKS-kluster (Azure Kubernetes Service) kan du använda virtuella noder som skapats dynamiskt i Azure Container Instances. Virtuella noder möjliggör nätverkskommunikation mellan poddar som körs i ACI och AKS-klustret.

Virtuella noder stöder för närvarande Linux-containerinstanser. Kom igång med virtuella noder med hjälp av Azure CLI eller Azure-portalen.

Virtuella noder använder virtuell Kubelet med öppen källkod för att efterlikna Kubernetes kubelet genom att registrera som en nod med obegränsad kapacitet. Virtual Kubelet skickar skapandet av poddar som containergrupper i Azure Container Instances.

Se Virtual Kubelet-projektet för ytterligare exempel på hur du utökar Kubernetes-API:et till serverlösa containerplattformar.

Nästa steg

Skapa din första container med Azure Container Instances med hjälp av snabbstartsguiden.