Sem categoria

Contêiner do Docker usando o Apache Mesos e o Marathon

apache-mesos-logo apache-mesos-marathon-logo Docker Logo

Apache Mesos é um gerenciador de cluster de código aberto desenvolvido na UC Berkeley. Ele fornece isolamento e compartilhamento de recursos entre aplicativos distribuídos. A figura mostra os principais componentes do Mesos.

O Mesos consiste em um mestre que gerencia o escravo executados em cada nó do cluster. Estruturas Mesos são aplicativos que são executados no Mesos e executam tarefas sobre esses escravos. Os escravos são
máquinas físicas ou virtuais, geralmente do mesmo provedor.
mesos-architecture

O Mesos usa um mecanismo de agendamento de dois níveis em que ofertas de recursos são feitos para as estruturas. O nó mestre do Mesos decide quantos recursos oferecer a cada estrutura, enquanto cada estrutura determina os recursos que aceita e qual aplicativo é necessário.
para executar nesses recursos.

Maratona é uma plataforma de orquestração de contêineres executada no Mesos. Vários formatos de contêineres são suportados e o Docker é
certamente o mais comum!

Este blog mostrará como configurar o Mesos, o Marathon e executar uma imagem simples do Docker. Essa configuração é apenas para os corajosos de coração. Estou sempre interessado em dar uma olhada nos bastidores e foi isso que motivou esta postagem. Mas uma postagem futura mostrará um método mais
instalação perfeita.

Vamos começar!

Configurar a VM do CentOS

Faça o download do CentOS e configure a VM conforme mostrado:
centos-7.1-install

Instalar componentes

Instale os diferentes componentes necessários para essa configuração.

  1. Configurar o repositório do Mesos:
  2. Instale o Mesos e o Marathon:
  3. Instale o ZooKeeper:
  4. Adicione o repositório do Docker:
  5. Instalar o Docker:

Configurar o mapeamento de nome de host/endereço IP

Editar /etc/hosts e criar um mapeamento de nome de host e endereço IP. Localize o endereço IP usando ifconfig e escolha a interface de rede ativada durante a instalação do CentOS.

Iniciar serviços

Iniciar todos os serviços

  1. Iniciar o Docker:
  2. Inicie o ZooKeeper:
  3. Iniciar o Mesos master:
  4. Configurar mesos e doca contêineres:
  5. Iniciar o escravo Mesos:
  6. Maratona inicial:
  7. Verificação de serviços:Mesos UI: http://127.0.0.1:5050 Marathon UI: http://127.0.0.1:8080 Registros: tail -f /var/log/messages
  8. Verifique o mestre Mesos:
  9. Verifique o escravo Mesos:
  10. Verifique o ZooKeeper:

Implantar aplicativo do Docker no Mesos

A aplicativo simples baseado no Docker é definido usando o arquivo de configuração. O Marathon é executado na porta 8080 e, portanto, a configuração atualizada
se parece com o arquivo:

Implemente o aplicativo como:

O aplicativo levará algum tempo para fazer o download da imagem e, em seguida, executar o contêiner. Essa configuração é um pouco sensível e várias execuções do aplicativo mostraram que o download da imagem do Docker não foi bem-sucedido todas as vezes.
Nesse caso, a imagem do Docker foi baixada manualmente usando docker pull python:3 e, em seguida, o aplicativo poderá ser implantado com êxito.

No nosso caso, o mestre e o escravo estão sendo executados na mesma máquina e, portanto, a lista de imagens do Docker e de contêineres em execução pode ser facilmente visualizada:

O aplicativo está disponível na porta 31669 e pode ser visto em http://127.0.0.1:31669 como:
mesos-marathon-app-output
IU do Mesos (http://127.0.0.1:5050) mostra:
marathon-ui-app-output
Marathon UI (http://127.0.0.1:8080) mostra:
mesos-ui-app-output
Como
Como você pode ver, essa é uma configuração bastante envolvente. Uma postagem futura no blog mostrará como usar o DC/OS e configurá-lo de forma mais integrada.

Leitura adicional ...

Canal Slack do Mesos é incrível! Particularmente, aprendi muito sobre Mesos com @jgarcia.mesosphere, @akaplan.mesosphere, @harpreet.mesosphere, @graham.mesosphere. Obrigado, pessoal, continuem se envolvendo com a comunidade!

Aproveite!

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.