Delen via


Azure Container Instances en containerorchestrators

Vanwege hun kleine grootte en toepassingsstand zijn containers zeer geschikt voor flexibele leveringsomgevingen en op microservices gebaseerde architecturen. De taak van het automatiseren en beheren van een groot aantal containers en hoe ze communiceren, wordt indeling genoemd. Populaire containerorchestrators zijn Kubernetes, DC/OS en Docker Swarm.

Azure Container Instances biedt enkele van de basisplanningsmogelijkheden van indelingsplatforms. En hoewel het geen betrekking heeft op de hoogwaardige services die door deze platforms worden geboden, 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 communiceren.

Traditionele indeling

De standaarddefinitie van indeling omvat de volgende taken:

  • Planning: Zoek op basis van een containerinstallatiekopieën en een resourceaanvraag een geschikte computer waarop de container moet worden uitgevoerd.
  • Affiniteit/antiaffiniteit: geef op dat een set containers elkaar in de buurt moet uitvoeren (voor prestaties) of voldoende uit elkaar (voor beschikbaarheid).
  • Statuscontrole: Controleer of er containerfouten optreden en deze automatisch opnieuw plannen.
  • Failover: Houd bij wat er op elke machine wordt uitgevoerd en stel containers van mislukte machines opnieuw in op gezonde knooppunten.
  • Schalen: Containerinstanties toevoegen of verwijderen 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: schakel containers in om elkaar automatisch te vinden, zelfs wanneer ze tussen hostcomputers schakelen en IP-adressen wijzigen.
  • Gecoördineerde toepassingsupgrades: beheer containerupgrades om uitvaltijd van toepassingen te voorkomen en schakel terugdraaien in als er iets misgaat.

Indeling met Azure Container Instances: Een gelaagde benadering

Azure Container Instances maakt een gelaagde benadering mogelijk voor indeling, 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 Azure de onderliggende infrastructuur voor containerinstanties beheert, hoeft een orchestratorplatform zich niet bezig te houden met het vinden van een geschikte hostcomputer waarop één container moet 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, waaronder schalen en gecoördineerde upgrades.

Scenario's

Hoewel orchestrator-integratie met Azure Container Instances nog steeds optreedt, verwachten we dat er een aantal verschillende omgevingen ontstaan:

Indeling van containerinstanties uitsluitend

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 virtuele 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 contracteren van uw totale capaciteit om onverwachte of korte pieken in gebruik te voorkomen.

In plaats van het aantal virtuele machines in uw cluster uit te schalen en vervolgens meer containers op die machines te implementeren, kan de orchestrator 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 toepassingsworkloads in een AKS-cluster (Azure Kubernetes Service) snel 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. Ga aan de slag met virtuele knooppunten met behulp van de Azure CLI of Azure Portal.

Virtuele knooppunten gebruiken de open source Virtual 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 virtual 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.