(INAKTUELL) Introduktion till värdlösningar med Dockerbehållare med Azure Container Service

Varning

Azure Container Service (ACS) är inaktuell. Inga nya funktioner läggs till i ACS. Alla API:er, portalen, CLI-kommandon och dokumentationen är markerade som inaktuella.

Mer information finns i utfasningsmeddelandet för Azure Container Service på Azure.com.

Vi rekommenderar att du distribuerar någon av följande Azure Marketplace lösningar:

Om du vill använda Kubernetes läser du Azure Kubernetes Service.

Azure Container Service gör det enklare för dig att skapa, konfigurera och hantera av ett kluster på virtuella datorer som är förkonfigurerade för att köra program i behållare. Det använder en optimerad konfiguration av populära verktyg för öppen källkod för schemaläggning och dirigering. På så sätt kan du använda dina befintliga kunskaper eller använda en stor och växande mängd communityexpertis för att distribuera och hantera containerbaserade program i Microsoft Azure.

Med Azure Container Service kan du hantera program i behållare på flera värdar i Azure.

I Azure Container Service används formatet med Docker-behållare så att dina programbehållare är fullständigt bärbara. Formatet stöder Marathon och DC/OS, Docker Swarm eller Kubernetes så att du kan skala programmen till tusentals containrar eller till och med tiotusentals.

Genom att använda Azure Container Service kan du dra nytta av Azures funktioner på företagsnivå samtidigt som programmen fortsätter att vara bärbara – det gäller även orkestreringslagren.

Använda Azure Container Service

Vårt mål med Azure Container Service är att tillhandahålla en containervärdmiljö med hjälp av verktyg och tekniker med öppen källkod som är populära bland användarna i dag. Därför exponerar vi standard API-slutpunkter för den dirigering du väljer (DC/OS, Docker Swarm eller Kubernetes). Genom att använda dessa slutpunkter kan du använda all programvara som kan kommunicera till slutpunkterna. För exempelvis Docker Swarm-slutpunkten kan du använda kommandoradsgränssnittet Docker (CLI). För DC/OS kanske du väljer DCOS CLI. För Kubernetes kanske du väljer kubectl.

Skapa ett Docker-kluster med Azure Container Service

Om du vill börja använda Azure Container Service distribuerar du ett Azure Container Service-kluster via portalen (sök efter Azure Container Service på Marketplace) med hjälp av en Azure Resource Manager-mall (Docker Swarm, DC/OS eller Kubernetes) eller med Azure CLI. De tillhandahållna snabbstartsmallarna kan ändras så att de inkluderar ytterligare eller avancerad Azure-konfiguration. Mer information finns i Distribuera ett Azure Container Service-kluster.

Distribuera ett program

Med Azure Container Service kan du välja mellan Docker Swarm, DC/OS och Kubernetes för dirigering. Hur du distribuerar programmet beror på ditt val av dirigering.

Använda DC/OS

DC/OS är ett distribuerat operativsystem som baseras på Apache Mesos distribuerade systemkernel. Apache Mesos finns i Apache Software Foundation och listar några av de största namnen inom IT som användare och bidragsgivare.

Azure Container Service konfigurerat för DC/OS visar agenter och huvudnoder.

DC/OS och Apache Mesos har en imponerande funktionsuppsättning:

  • Beprövad skalbarhet
  • Feltoleranta replikerade primära och sekundära med Apache ZooKeeper
  • Stöd för Docker-formaterade container
  • Intern isolering mellan aktiviteter med Linux-container
  • Schemaläggning med flera resurser (minne, CPU, disk och portar)
  • Java-, Python- och C++-API:er för att utveckla nya parallella program
  • Ett webbgränssnitt för att visa klustertillstånd

Som standard innehåller DC/OS som körs på Azure Container Service Marathon-dirigeringsplattformen för schemaläggning av arbetsbelastningar. Med DC/OS-distributionen av ACS ingår dock Mesosphere Universe med tjänster som kan läggas till för din tjänst. Exempel på tjänster som ingår i Universe är Spark, Hadoop, Cassandra och många fler.

DC/OS Universe i Azure Container Service

Använda Marathon

Marathon är ett klusteromfattande init- och kontrollsystem för tjänster i cgroups – eller, när det gäller Azure Container Service, Docker-formaterade behållare. Marathon tillhandahåller ett webbgränssnitt som du kan distribuera dina program från. Du får tillgång till den via en webbadress som ser ut ungefär så här: http://DNS_PREFIX.REGION.cloudapp.azure.com där både DNS_PREFIX och REGION definieras vid distributionen. Du kan också ange ett eget DNS-namn. Mer information om hur du kör en container med Marathon-webbgränssnittet finns i avsnittet om hur du hanterar DC/OS-containrar via webbgränssnittet för Marathon.

Marathon-programlista

Du kan också använda REST API:er för att kommunicera med Marathon. Det finns ett antal klientbibliotek som är tillgängliga för varje verktyg. De täcker en mängd olika språk – och du kan använda HTTP-protokollet på valfritt språk. Dessutom har många DevOps-verktyg stöd för Marathon. Detta ger maximal flexibilitet för driftsgruppen när du arbetar med Azure Container Service-kluster. Mer information om hur du kör en container med REST-API:et för Marathon finns i avsnittet om hur du hanterar DC/OS-containrar via REST-API:et för Marathon.

Använda Docker Swarm

Docker Swarm tillhandahåller interna kluster för Docker. Eftersom Docker Swarm tillhandahåller standard-API för Docker API kan vilket verktyg som helst som redan kommunicerar med en Docker-daemon använda Swarm för att transparent skala till flera värdar i Azure Container Service.

Azure Container Service konfigurerat för Swarm.

Anteckning

Docker Swarm Orchestrator i Azure Container Service använder äldre fristående versionen av Swarm. Det integrerade Swarm-läget (i Docker 1.12 och senare) är inte en orchestrator som stöds i Azure Container Service. Om du vill distribuera ett Swarm-lägeskluster i Azure använder du ACS Engine (öppen källkod), en snabbstartsmall (från communityn) eller en Docker-lösning på Azure Marketplace.

Verktyg som stöds för att hantera containrar i ett Swarm-kluster omfattar, men är inte begränsat till, följande:

  • Dokku
  • Docker CLI och Docker Compose
  • Krane
  • Jenkins

Använda Kubernetes

Kubernetes är ett populärt dirigeringsverktyg för containrar i produktionsklass med öppen källkod. Kubernetes automatiserar distributionen, skalningen och hanteringen av program som använder containrar. Eftersom verktyget är baserat öppen källkod och drivs av communityn fungerar det smidigt i Azure Container Service och kan användas till att distribuera behållare i stor skala i Azure Container Service.

Azure Container Service konfigurerat för Kubernetes.

Det har en omfattande uppsättning funktioner. Till exempel:

  • Horisontell skalning
  • Tjänstidentifiering och belastningsutjämning
  • Hemligheter och konfigurationshantering
  • API-baserade automatiserade distributioner och återställningar
  • Självläkning

Video

Komma igång med Azure Container Service (101):

Building Applications Using the Azure Container Service (Bygga program med Azure Container Service) (version 2016)

Nästa steg

Distribuera ett containertjänstkluster med hjälp av portalen eller Azure CLI.