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 in Azure Container Instances
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 worden geregistreerd als knooppunten met onbeperkte capaciteit met het AKS-clusterbesturingsvlak. Wanneer u pods in een virtueel knooppunt in uw AKS-cluster implementeert, worden ze uitgevoerd als containergroepen in ACI.
Virtuele knooppunten ondersteunen momenteel Linux-containerinstanties. Zie Virtuele knooppunten in Azure Container Instances voor meer informatie.
Volgende stappen
Maak uw eerste container met Azure Container Instances met behulp van de snelstartgids.