Share via


Azure Container Instances en containerorchestrators

Vanwege hun kleine omvang en toepassingsgerichtheid zijn containers goed geschikt voor flexibele leveringsomgevingen en microservice-gebaseerde architecturen. De taak van het automatiseren en beheren van een groot aantal containers en de manier waarop deze communiceren, wordt indeling genoemd. Populaire containerorchestrators zijn Kubernetes, DC/OS en Docker Swarm.

Azure Container Instances biedt enkele basismogelijkheden voor het plannen van indelingsplatforms. En hoewel het niet betrekking heeft op de hoogwaardige services die deze platforms bieden, kunnen Azure Container Instances er een aanvulling op zijn. In dit artikel wordt het bereik beschreven van wat Azure Container Instances verwerkt en hoe volledige containerorchestrators ermee kunnen werken.

Traditionele indeling

De standaarddefinitie van indeling omvat de volgende taken:

  • Planning: zoek op basis van een containerinstallatiekopieën en een resourceaanvraag een geschikte machine waarop de container kan worden uitgevoerd.
  • Affiniteit/antiaffiniteit: geef op dat een set containers in de buurt van elkaar moet worden uitgevoerd (voor prestaties) of ver uit elkaar (voor beschikbaarheid).
  • Statuscontrole: controleer op containerfouten en plan deze automatisch opnieuw.
  • Failover: Houd bij wat er op elke computer wordt uitgevoerd en plan containers opnieuw van mislukte machines naar knooppunten die in orde zijn.
  • Schalen: voeg containerinstanties toe of verwijder deze om aan de vraag te voldoen, handmatig of automatisch.
  • Netwerken: een overlaynetwerk bieden voor het coördineren van containers voor communicatie tussen meerdere hostcomputers.
  • Servicedetectie: stel containers in staat om elkaar automatisch te vinden, zelfs wanneer ze tussen hostcomputers worden verplaatst en IP-adressen wijzigen.
  • Gecoördineerde toepassingsupgrades: beheer containerupgrades om downtime van toepassingen te voorkomen en terugdraaien in te schakelen als er iets misgaat.

Indeling met Azure Container Instances: een gelaagde benadering

Azure Container Instances maakt een gelaagde benadering van indeling mogelijk, waarbij alle plannings- en beheermogelijkheden worden geboden die nodig zijn om één container uit te voeren, terwijl orchestratorplatforms taken met meerdere containers kunnen beheren.

Omdat de onderliggende infrastructuur voor containerinstanties wordt beheerd door Azure, hoeft een orchestratorplatform zich niet bezig te houden met het vinden van een geschikte hostcomputer waarop één container kan worden uitgevoerd. De elasticiteit van de cloud zorgt ervoor dat er altijd een beschikbaar is. In plaats daarvan kan de orchestrator zich richten op de taken die de ontwikkeling van architecturen met meerdere containers vereenvoudigen, inclusief schalen en gecoördineerde upgrades.

Scenario's

Hoewel orchestrator-integratie met Azure Container Instances nog in opkomst is, verwachten we dat er een aantal verschillende omgevingen zullen ontstaan:

Uitsluitend indeling van containerinstanties

Omdat ze snel beginnen en per seconde factureren, biedt een omgeving die uitsluitend is gebaseerd op Azure Container Instances de snelste manier om aan de slag te gaan en om te gaan met zeer variabele workloads.

Combinatie van containerinstanties en containers in Virtual Machines

Voor langdurige, stabiele workloads is het organiseren van containers in een cluster met toegewezen virtuele machines doorgaans goedkoper dan het uitvoeren van dezelfde containers met Azure Container Instances. Containerinstanties bieden echter een uitstekende oplossing voor het snel uitbreiden en inkrimpen van uw totale capaciteit om onverwachte of kortstondige pieken in het gebruik op te vangen.

In plaats van het aantal virtuele machines in uw cluster uit te schalen en vervolgens extra containers op die machines te implementeren, kan de orchestrator gewoon de extra containers in Azure Container Instances plannen en verwijderen wanneer ze niet meer nodig zijn.

Voorbeeld van implementatie: virtuele knooppunten voor Azure Kubernetes Service (AKS)

Als u snel toepassingsworkloads in een AKS-cluster (Azure Kubernetes Service) wilt schalen, kunt u virtuele knooppunten gebruiken die dynamisch zijn gemaakt in Azure Container Instances. Virtuele knooppunten maken netwerkcommunicatie mogelijk tussen pods die worden uitgevoerd in ACI en het AKS-cluster.

Virtuele knooppunten ondersteunen momenteel Linux-containerinstanties. Aan de slag met virtuele knooppunten met behulp van de Azure CLI of Azure Portal.

Virtuele knooppunten gebruiken de open source Virtuele Kubelet om de Kubernetes-kubelet na te bootsen door zich te registreren als een knooppunt met onbeperkte capaciteit. De virtuele Kubelet verzendt het maken van pods als containergroepen in Azure Container Instances.

Zie het virtuele Kubelet-project voor aanvullende voorbeelden van het uitbreiden van de Kubernetes-API naar serverloze containerplatforms.

Volgende stappen

Maak uw eerste container met Azure Container Instances met behulp van de snelstartgids.