(ZASTARALÉ) Úvod do řešení hostování kontejnerů Dockeru pomocí služby Azure Container Service

Upozornění

Služba Azure Container Service (ACS) je zastaralá. Do služby ACS se nepřidávají žádné nové funkce. Všechna rozhraní API, prostředí portálu, příkazy rozhraní příkazového řádku a dokumentace jsou označená jako zastaralá.

Další informace najdete v oznámení o vyřazení služby Azure Container Service v Azure.com.

Doporučujeme nasadit jedno z následujících Azure Marketplace řešení:

Pokud chcete používat Kubernetes, přečtěte si Azure Kubernetes Service.

Služba Azure Container Service vám zjednoduší vytváření, konfiguraci a správu clusteru virtuálních počítačů, které jsou předem nakonfigurovány pro spouštění kontejnerizovaných aplikací. Používá optimalizovanou konfiguraci oblíbených nástrojů open source pro plánování a orchestraci. Díky tomu můžete při nasazování a správě kontejnerových aplikací v Microsoft Azure využívat své stávající dovednosti nebo stavět na rozsáhlých a stále se rozšiřujících odborných znalostech komunity.

Služba Azure Container Service poskytuje prostředek pro správu kontejnerizovaných aplikací na více hostitelích v Azure.

Služba Azure Container Service využívá k zajištění plné přenositelnosti kontejnerů vaší aplikace formát kontejneru Dockeru. Podporuje také zvolený systém Marathon a systém DC/OS, Docker Swarm nebo Kubernetes, takže můžete tyto aplikace škálovat do tisíců nebo dokonce desítek tisíců kontejnerů.

Díky používání služby Azure Container Service můžete využívat výhody funkcí Azure na podnikové úrovni, a přitom zachovávat přenositelnost aplikací – včetně přenositelnosti v orchestračních vrstvách.

Používání služby Azure Container Service

Naším cílem služby Azure Container Service je poskytnout prostředí pro hostování kontejnerů pomocí opensourcových nástrojů a technologií, které jsou dnes mezi uživateli oblíbené. Za tímto účelem zveřejňujeme standardní koncové body rozhraní API pro zvolený orchestrátor (systém DC/OS, Docker Swarm nebo Kubernetes). S použitím těchto koncových bodů můžete využívat veškerý software, který s nimi dokáže komunikovat. V případě koncového bodu Docker Swarm můžete například zvolit použití rozhraní příkazového řádku (CLI) Dockeru. V případě systému DC/OS můžete zvolit rozhraní příkazového řádku systému DC/OS. V případě systému Kubernetes můžete zvolit použití kubectl.

Vytvoření clusteru Dockeru s použitím služby Azure Container Service

Pokud chcete začít používat službu Azure Container Service, nasaďte cluster Azure Container Service prostřednictvím portálu (vyhledejte na Marketplace řetězec Azure Container Service) s použitím šablony Azure Resource Manageru (Docker Swarm, DC/OS nebo Kubernetes) nebo Azure CLI. Poskytované šablony pro rychlý začátek lze upravit tak, aby obsahovaly další nebo rozšířenou konfiguraci Azure. Další informace najdete v části Nasazení clusteru Azure Container Service.

Nasazení aplikace

Služba Azure Container Service poskytuje možnost orchestrace prostřednictvím Docker Swarmu, systému DC/OS nebo Kubernetes. Způsob nasazení aplikace závisí na zvoleném orchestrátoru.

S použitím systému DC/OS

DC/OS je distribuovaný operační systém založený na jádru distribuovaných systémů Apache Mesos. Apache Mesos spravuje nadace Apache Software Foundation a mezi jeho uživatele a přispěvatele patří i největší osobnosti IT.

Služba Azure Container Service nakonfigurovaná pro systém DC/OS se zobrazením agentů a nadřízených serverů.

Systém DC/OS a Apache Mesos zahrnují rozsáhlou nabídku funkcí:

  • Ověřená škálovatelnost
  • Replikované primární a sekundární soubory odolné proti chybám s využitím Apache ZooKeeperu
  • Podpora kontejnerů ve formátu Dockeru
  • Nativní izolace mezi úkoly s kontejnery Linuxu
  • Plánování s více prostředky (paměť, procesor, disk a porty)
  • Rozhraní API jazyků Java, Python a C++ pro vývoj nových paralelních aplikací
  • Webové uživatelské rozhraní pro zobrazení stavu clusteru

Ve výchozím nastavení systém DC/OS spuštěný ve službě Azure Container Service zahrnuje platformu pro orchestraci systému Marathon, která umožňuje plánování úloh. Součástí nasazení systému DC/OS se službou ACS je však Mesosphere Universe obsahující služby, které je možné přidat do vaší služby. Mezi služby v Universe patří Spark, Hadoop, Cassandra a mnoho dalších.

Universe pro systém DC/OS ve službě Azure Container Service

S použitím systému Marathon

Marathon je celoclusterový inicializační a řídicí systém pro služby ve skupinách cgroup – nebo (v případě služby Azure Container Service) v kontejnerech s formátem Dockeru. Systém Marathon poskytuje webové uživatelské rozhraní, ze kterého můžete nasazovat své aplikace. K dispozici je přístup prostřednictvím adresy URL, která vypadá přibližně takto: .http://DNS_PREFIX.REGION.cloudapp.azure.com kde DNS_PREFIX i OBLAST jsou definovány v době nasazení. Můžete také zadat vlastní název DNS. Další informace o spouštění kontejneru prostřednictvím webového uživatelského rozhraní systému Marathon najdete v části Správa kontejnerů systému DC/OS prostřednictvím webového uživatelského rozhraní systému Marathon.

Seznam aplikací systému Marathon

Pro komunikaci se systémem Marathon můžete používat i rozhraní API REST. Existuje mnoho klientských knihoven, které jsou k dispozici pro jednotlivé nástroje. Pokrývají celou řadu jazyků – a můžete použít protokol HTTP v libovolném jazyce. Podporu pro systém Marathon navíc poskytuje mnoho oblíbených nástrojů DevOps. Díky tomu má váš provozní tým při práci s clusterem Azure Container Service k dispozici maximální flexibilitu. Další informace o spouštění kontejneru prostřednictvím rozhraní API REST systému Marathon najdete v části Správa kontejnerů systému DC/OS prostřednictvím rozhraní API REST systému Marathon.

S použitím Docker Swarmu

Docker Swarm poskytuje nativní clustering pro Docker. Protože Docker Swarm obsluhuje standardní rozhraní API Dockeru, může kterýkoli nástroj, který už s démonem Dockeru komunikuje, používat Swarm pro transparentní škálování na více hostitelů ve službě Azure Container Service.

Služba Azure Container Service nakonfigurovaná pro používání Swarmu.

Poznámka

Orchestrátor Docker Swarm v Azure Container Service používá starší verzi samostatného Swarmu. Integrovaný režim Swarm (v Dockeru 1.12 a novějším) aktuálně není podporovaným orchestrátorem v Azure Container Service. Pokud chcete v Azure nasadit cluster v režimu Swarm, použijte open source modul ACS Engine, šablonu pro rychlý start vytvořenou komunitou nebo řešení Dockeru v Azure Marketplace.

Mezi podporované nástroje pro správu kontejnerů v clusteru Swarmu patří mimo jiné následující:

  • Dokku
  • Rozhraní příkazového řádku Dockeru a Docker Compose
  • Krane
  • Jenkins

S použitím Kubernetes

Kubernetes je často používaný opensourcový nástroj pro orchestraci kontejnerů na úrovni produkce. Kubernetes automatizuje nasazení, škálování a správu kontejnerizovaných aplikací. Protože se jedná o opensourcové řešení řízené opensourcovou komunitou, bezproblémově běží v Azure Container Service a jde ho ve velkém použít k nasazování kontejnerů v Azure Container Service.

Služba Azure Container Service nakonfigurovaná pro používání Kubernetes.

Má bohatou výbavu funkcí, například:

  • Horizontální škálování
  • Zjišťování služeb a vyrovnávání zatížení
  • Správa tajných klíčů a konfigurace
  • Automatická uvedení a vrácení zpět založená na rozhraní API
  • Samoopravování

Videa

Začínáme se službou Azure Container Service (101):

Sestavování aplikací s použitím služby Azure Container Service (sestavení 2016)

Další kroky

Nasaďte cluster služby Container Service pomocí portálu nebo Azure CLI.