(AFGESCHAFT) Inleiding tot oplossingen voor Docker-containerhosting met Azure Container Service

Waarschuwing

Azure Container Service (ACS) wordt afgeschaft. Er worden geen nieuwe functies of functionaliteit meer aan ACS toegevoegd. Alles van de API's, portal, CLI-opdrachten en documentatie is gemarkeerd als afgeschaft.

Zie voor meer informatie de aankondiging over de afschaffing van Azure Container Service op Azure.com.

U wordt aangeraden een van de volgende Azure Marketplace oplossingen te implementeren:

Zie Azure Kubernetes Service als u Kubernetes wilt gebruiken.

Azure Container Service helpt u bij het eenvoudig maken, configureren en beheren van een cluster virtuele machines die vooraf zijn geconfigureerd voor het uitvoeren van beperkte toepassingen. De service maakt gebruik van een geoptimaliseerde configuratie van populaire open-source tools voor planning en orchestration. U kunt hierbij dan uitgaan van uw eigen vaardigheden of gebruikmaken van een grote en groeiende groep community experts om toepassingen op basis van containers te implementeren en beheren in Microsoft Azure.

Azure Container Service biedt u de mogelijkheid beperkte toepassingen op meerdere hosts te beheren in Azure.

Azure Container Service maakt gebruik van de Docker-containerindeling om ervoor te zorgen dat uw toepassingscontainers volledig draagbaar zijn. De service biedt ook ondersteuning als u Marathon en DC/OS, Docker Swarm of Kubernetes kiest, zodat u deze toepassingen kunt schalen naar duizenden of zelfs tienduizenden containers.

Azure Container Service biedt het voordeel van de hoogwaardige functies van Azure in combinatie met draagbare toepassingen, met inbegrip van draagbaarheid in de orchestration-lagen.

Azure Container Service gebruiken

Ons doel met Azure Container Service is om een containerhostingomgeving te bieden met behulp van opensource-hulpprogramma's en technologieën die tegenwoordig populair zijn onder gebruikers. Daarom worden er standaard-API-eindpunten beschikbaar gesteld voor uw gekozen orchestrator (DC/OS, Docker Swarm of Kubernetes). Met behulp van deze eindpunten kunt u gebruikmaken van alle software die geschikt is voor communicatie met deze eindpunten. In het geval van een Docker Swarm-eindpunt kunt u bijvoorbeeld kiezen om gebruik te maken van de Docker CLI (opdrachtregelinterface). Voor DC/OS kunt u kiezen voor de DCOS CLI. Voor Kubernetes zou u kubectl kunnen gebruiken.

Een Docker-cluster maken met behulp van Azure Container Service

Als u Azure Container Service wilt gebruiken, moet u eerst een Azure Container Service-cluster implementeren via de portal (zoek in Marketplace naar Azure Container Service). U kunt hierbij gebruikmaken van een Azure Resource Manager-sjabloon (Docker Swarm, DC/OS of Kubernetes), maar u kunt ook de Azure CLI gebruiken. De verstrekte snelstartsjablonen kunnen worden aangepast om aanvullende of geavanceerde Azure-configuratie toe te voegen. Zie Een Azure Container Service-cluster implementeren voor meer informatie.

Een toepassing implementeren

Voor orchestration met Azure Container Service kunt u kiezen uit Docker Swarm, DC/OS of Kubernetes. De implementatie van uw toepassing hangt af van de orchestrator die u kiest.

Met DC/OS

DC/OS is een gedistribueerd besturingssysteem op basis van de Apache Mesos-kernel voor gedistribueerde systemen. Apache Mesos is ondergebracht bij de Apache Software Foundation. Onder de gebruikers en medewerkers van het product tellen we enkele van de grootste namen in IT.

Azure Container Service geconfigureerd voor DC/OS met agents en masters.

DC/OS en Apache Mesos bieden een indrukwekkende functieset:

  • In de praktijk beproefde schaalbaarheid
  • Fouttolerant gerepliceerde primaire en secundaire bestanden met behulp van Apache ZooKeeper
  • Ondersteuning voor containers met Docker-indeling
  • Systeemeigen isolatie tussen taken met Linux-containers
  • Multiresource planning (geheugen, CPU, schijf en poorten)
  • Java, Python en C++ API's voor het ontwikkelen van nieuwe parallelle toepassingen
  • Een web-UI voor weergave van de clusterstatus

DC/OS in Azure Container Service omvat standaard het Marathon Orchestration Platform voor het plannen van werkbelastingen. De DC/OS-implementatie van ACS bevat echter ook Mesosphere Universe-services die u kunt toevoegen aan uw service. De services van Universe zijn Spark, Hadoop Cassandra en nog veel meer.

DC/OS Universe in Azure Container Service

Met Marathon

Marathon is een clusterbreed initialisatie- en beheersysteem voor services in cgroups of, in het geval van Azure Container Service, voor containers in Docker-indeling. Marathon biedt een web-UI van waaruit u uw toepassingen kunt implementeren. U krijgt toegang via een URL die er ongeveer uitziet als ,http://DNS_PREFIX.REGION.cloudapp.azure.com waarbij DNS_PREFIX en REGIO beide zijn gedefinieerd tijdens de implementatie. U kunt ook uw eigen DNS-naam opgeven. Zie DC/OS-containerbeheer via de Marathon-webgebruikersinterface voor meer informatie over het uitvoeren van een container met de Marathon-webgebruikersinterface.

Lijst met Marathon-toepassingen

U kunt ook de REST API's gebruiken voor communicatie met Marathon. Er zijn een aantal clientbibliotheken beschikbaar voor elke tool. Ze hebben betrekking op verschillende talen, en u kunt het HTTP-protocol in elke taal gebruiken. Daarnaast bieden veel populaire DevOps-tools ondersteuning voor Marathon. Zo beschikt u over maximale flexibiliteit voor uw bedrijfsteam wanneer u met een Azure Container Service-cluster werkt. Zie DC/OS-containerbeheer via de Marathon REST-API voor meer informatie over het uitvoeren van een container met de Marathon REST-API.

Met Docker Swarm

Docker Swarm biedt systeemeigen clustering voor Docker. Aangezien Docker Swarm werkt met de standaard Docker API, kan elke tool die al communiceert met een Docker-daemon, gebruikmaken van Swarm om meerdere hosts op transparante manier te schalen in Azure Container Service.

Azure Container Service geconfigureerd voor het gebruik van Swarm.

Notitie

De Docker Swarm-orchestrator in Azure Container Service maakt gebruik van legacy standalone Swarm. Momenteel is de geïntegreerde Swarm-modus (in Docker 1.12 en hoger) geen ondersteunde orchestrator in Azure Container Service. Als u een Swarmmoduscluster in Azure wilt implementeren, gebruikt u de open-source ACS Engine, een door de community bijgedragen snelstartsjabloon of een Docker-oplossing in de Azure Marketplace.

Tools die worden ondersteund voor het beheer van containers in een Swarm-cluster, zijn bijvoorbeeld:

  • Dokku
  • Docker CLI en Docker Compose
  • Krane
  • Jenkins

Kubernetes gebruiken

Kubernetes is een populaire open-source orchestrator van productieklasse voor containers. Kubernetes automatiseert het implementeren, schalen en beheren van toepassingen in containers. Omdat het een open-source oplossing is en up-to-date wordt gehouden door de open-source community, werkt het naadloos in Azure Container Service en kan het worden gebruikt om containers op de gewenste schaal uit te voeren in Azure Container Service.

Azure Container Service geconfigureerd voor het gebruik van Kubernetes.

De applicatie bevat een uitgebreide set functies, zoals:

  • Horizontale schaalaanpassing
  • Servicedetectie en taakverdeling
  • Geheimen en configuratiebeheer
  • Op API gebaseerde geautomatiseerde implementaties en terugdraaiacties
  • Zelfherstellend

Video's

Aan de slag met Azure Container Service (101):

Toepassingen ontwikkelen met Azure Container Service (Build 2016)

Volgende stappen

Implementeer een Container Service-cluster met de portal of Azure CLI.