Compartilhar via


(PRETERIDO) Introdução às soluções de hospedagem de contêiner do Docker com o Serviço de Contêiner do Azure

Aviso

O ACS (Serviço de Contêiner do Azure) está sendo preterido. Nenhum novo recurso ou funcionalidade está sendo adicionado ao ACS. Todas as APIs, a experiência do portal, os comandos da CLI e a documentação estão marcados como preteridos.

Para obter mais informações, consulte o Comunicado de preterimento do Serviço de Contêiner do Azure em Azure.com.

Recomendamos que você implante uma das seguintes soluções do Azure Marketplace:

Se você quiser usar o Kubernetes, consulte Serviço de Kubernetes do Azure.

O Serviço de Contêiner do Azure torna mais simples criar, configurar e gerenciar um cluster de máquinas virtuais pré-configuradas para executar aplicativos em contêineres. Ele usa uma configuração otimizada de ferramentas populares de agendamento e orquestração de software livre. Isso permite que você use suas habilidades existentes ou se basee em um grande e crescente conjunto de conhecimentos da comunidade para implantar e gerenciar aplicativos baseados em contêiner no Microsoft Azure.

O Serviço de Contêiner do Azure fornece um meio de gerenciar aplicativos em contêineres em vários hosts no Azure.

O Serviço de Contêiner do Azure aproveita o formato de contêiner do Docker para garantir que os contêineres de aplicativo sejam totalmente portáteis. Ele também dá suporte à sua escolha de Marathon e DC/OS, Docker Swarm ou Kubernetes para que você possa dimensionar esses aplicativos para milhares de contêineres ou até mesmo dezenas de milhares.

Usando o Serviço de Contêiner do Azure, você pode aproveitar os recursos de nível empresarial do Azure, mantendo ainda a portabilidade do aplicativo, incluindo a portabilidade nas camadas de orquestração.

Usando o Serviço de Contêiner do Azure

Nossa meta com o Serviço de Contêiner do Azure é fornecer um ambiente de hospedagem de contêiner usando ferramentas e tecnologias de software livre que são populares entre os usuários atualmente. Para isso, exporemos os endpoints de API padrão para o orquestrador escolhido (DC/OS, Docker Swarm ou Kubernetes). Ao usar esses endpoints, você pode aproveitar qualquer software capaz de se comunicar com eles. Por exemplo, no caso do ponto de extremidade do Docker Swarm, você pode optar por usar a interface de linha de comando (CLI) do Docker. Para DC/OS, você pode escolher a CLI do DCOS. Para o Kubernetes, você pode escolher kubectl.

Criando um cluster do Docker usando o Serviço de Contêiner do Azure

Para começar a usar o Serviço de Contêiner do Azure, implante um cluster do Serviço de Contêiner do Azure por meio do portal (pesquise no Marketplace pelo Serviço de Contêiner do Azure), usando um modelo do Azure Resource Manager (Docker Swarm, DC/OS ou Kubernetes) ou com a CLI do Azure. Os modelos de início rápido fornecidos podem ser modificados para incluir configurações adicionais ou avançadas do Azure. Para obter mais informações, consulte Implantar um cluster do Serviço de Contêiner do Azure.

Implantando um aplicativo

O Serviço de Contêiner do Azure fornece uma opção de Docker Swarm, DC/OS ou Kubernetes para orquestração. A maneira como você implanta seu aplicativo depende da sua escolha de orquestrador.

Usando DC/OS

DC/OS é um sistema operacional distribuído baseado no kernel de sistemas distribuídos do Apache Mesos. O Apache Mesos está hospedado no Apache Software Foundation e lista alguns dos maiores nomes de TI como usuários e colaboradores.

Serviço de Contêiner do Azure configurado para DC/OS mostrando agentes e masters.

DC/OS e Apache Mesos incluem um conjunto de recursos impressionante:

  • Escalabilidade comprovada
  • Primários e secundários replicados tolerantes a falhas usando o Apache ZooKeeper
  • Suporte para contêineres formatados pelo Docker
  • Isolamento nativo entre tarefas com contêineres do Linux
  • Agendamento de várias fontes (memória, CPU, disco e portas)
  • APIs Java, Python e C++ para desenvolver novos aplicativos paralelos
  • Uma interface do usuário da Web para exibir o estado do cluster

Por padrão, o DC/OS em execução no Serviço de Contêiner do Azure inclui a plataforma de orquestração Marathon para agendar cargas de trabalho. No entanto, incluído na implantação do DC/OS no ACS está o Universo Mesosphere de serviços que podem ser adicionados ao seu serviço. Os serviços no Universo incluem Spark, Hadoop, Cassandra e muito mais.

Universo DC/OS no Serviço de Contêiner do Azure

Usando a Maratona

Marathon é um sistema de inicialização e controle em todo o cluster para serviços em cgroups ou, no caso do Serviço de Contêiner do Azure, contêineres formatados pelo Docker. O Marathon fornece uma interface do usuário da Web da qual você pode implantar seus aplicativos. Você pode acessar isso em uma URL semelhante a http://DNS_PREFIX.REGION.cloudapp.azure.com em que DNS_PREFIX e REGION são definidos no momento da implantação. Você também pode fornecer seu próprio nome DNS. Para obter mais informações sobre como executar um contêiner usando a interface do usuário da Web do Marathon, consulte o gerenciamento de contêiner de DC/SO por meio da interface do usuário da Web do Marathon.

Lista de inscrições da maratona

Você também pode usar as APIs REST para se comunicar com o Marathon. Há várias bibliotecas de clientes disponíveis para cada ferramenta. Elas abrangem uma variedade de idiomas e você pode usar o protocolo HTTP em qualquer idioma. Além disso, muitas ferramentas populares do DevOps oferecem suporte para o Marathon. Isso fornece flexibilidade máxima para sua equipe de operações quando você está trabalhando com um cluster do Serviço de Contêiner do Azure. Para obter mais informações sobre como executar um contêiner usando a API REST da Maratona, consulte o gerenciamento de contêineres do DC/OS por meio da API REST da Maratona.

Usando o Docker Swarm

O Docker Swarm fornece clustering nativo para o Docker. Como o Docker Swarm atende à API padrão do Docker, qualquer ferramenta que já se comunique com um daemon do Docker pode usar o Swarm para dimensionar de forma transparente para vários hosts no Serviço de Contêiner do Azure.

Serviço de Contêiner do Azure configurado para usar o Swarm.

Observação

O orquestrador do Docker Swarm no Azure Container Service utiliza o Swarm autônomo legado. Atualmente, o modo Swarm integrado (no Docker 1.12 e superior) não é um orquestrador suportado no Serviço de Contêiner do Azure. Se você quiser implantar um cluster de modo Swarm no Azure, use o mecanismo ACS de software livre , um modelo de início rápido contribuído pela comunidade ou uma solução do Docker no Azure Marketplace .

As ferramentas com suporte para gerenciar contêineres em um cluster Swarm incluem, mas não se limitam a:

  • Dokku
  • Docker CLI e Docker Compose
  • Krane
  • Jenkins

Usando Kubernetes

O Kubernetes é uma ferramenta popular de orquestrador de contêiner de nível de produção e software livre. O Kubernetes automatiza a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres. Como é uma solução de software livre e é orientada pela comunidade de software livre, ela é executada perfeitamente no Serviço de Contêiner do Azure e pode ser usada para implantar contêineres em escala no Serviço de Contêiner do Azure.

Serviço de Contêiner do Azure configurado para usar o Kubernetes.

Ele tem um conjunto avançado de recursos, incluindo:

  • Dimensionamento horizontal
  • Descoberta de serviço e balanceamento de carga
  • Gerenciamento de segredos e configuração
  • Implementações e reversões automáticas baseadas em API
  • Autorrecuperação

Vídeos

Introdução ao Serviço de Contêiner do Azure (101):

Criando aplicativos usando o Serviço de Contêiner do Azure (Build 2016)

Próximas etapas

Implante um cluster de serviço de contêiner usando o portal ou a CLI do Azure.