Primeiros passos com o Docker para AWS e dimensionamento de nós

Este blog explicará como começar a usar o Docker para AWS e implantar um sistema multi-host Cluster de enxame na Amazon.
Docker Logo
amazon-web-services-logo

Muito obrigado a @friismo por me ajudar a depurar os conceitos básicos!

boot2docker -> Máquina Docker -> Docker para Mac

Você está empacotando seus aplicativos usando o Docker e usando boot2docker para executar contêineres no desenvolvimento? Então você está realmente vivendo sob uma rocha!

É altamente recomendável fazer a atualização para Máquina Docker para desenvolvimento/teste de contêineres do Docker. Ele encapsula o boot2docker e permite criar uma ou mais VMs leves em seu computador. Cada
A VM atua como um mecanismo do Docker e pode executar vários contêineres do Docker. A execução de várias VMs permite que você configure vários hosts Docker Swarm em seu laptop local com facilidade.

Máquina Docker também já é notícia velha. DockerCon 2016 anunciado versão beta pública do Docker para Mac. Isso significa que qualquer pessoa pode
inscreva-se no Docker para Mac em docker.com/getdocker e usá-lo para desenvolvimento/teste de contêineres do Docker. É claro que também existe o Docker para Windows!

O Docker para Mac ainda é um host único, mas tem um modo de enxame que permite inicializá-lo como um cluster Swarm de nó único.

O que é o Docker para AWS?

Então, agora que você está usando o Docker para Mac para desenvolvimento, qual seria a sua plataforma de implantação? A DockerCon 2016 também anunciou o Docker para AWS e Azure Beta.

O Docker para AWS e Azure inicia uma frota de Docker 1.12 Engines com o modo swarm ativado imediatamente. O modo de enxame significa que os mecanismos individuais do Docker se formam em um enxame auto-organizado e auto-recuperável, distribuído em zonas de disponibilidade para maior durabilidade.

Somente cobranças do AWS e do Azure se aplicam; o Docker para AWS e o Docker para Azure são gratuitos no momento. Inscreva-se no Docker para AWS e Azure em beta.docker.com. Observe que a disponibilidade é restrita no momento
tempo. Quando sua conta for ativada, você receberá um e-mail de convite, conforme mostrado abaixo:
 docker-aws-invite

Valores do Docker para o AWS CloudFormation

Clique em Pilha de lançamento para ser redirecionado para a página de modelo do CloudFormation. Adote os padrões:
docker4aws-1
Modelo S3
O URL será preenchido automaticamente e ficará oculto aqui. Clique em Próximo. Essa página permite que você especifique detalhes para o modelo CloudFormation:
docker4aws-2

As seguintes alterações podem ser feitas:

  • Nome do modelo
  • Número de gerente e trabalhador nós, 1 e 3 nesse caso. Observe que somente um número ímpar de gerentes pode ser especificado. Por padrão, os contêineres são agendados somente nos nós de trabalho.
  • Tamanho da AMI dos nós mestre e de trabalho
  • Uma chave já configurada em sua conta do AWS

Clique em Próximo e usar os padrões:
docker4aws-3

Clique em Próximo, confirme as configurações:
docker4aws-4
docker4aws-5
Selecione
Recursos de IAM caixa de seleção e clique em Criar para criar o modelo do CloudFormation. Foram necessários cerca de 10 minutos para criar um cluster de 4 nós (1 gerente + 3 trabalhadores):
docker4aws-6
Mais detalhes
sobre o cluster podem ser vistas no Console do EC2:
docker4aws-7

Detalhes do cluster do Docker para AWS Swarm

A guia Output (Saída) do Console do EC2 mostra mais detalhes sobre o cluster:
docker4aws-8
Mais detalhes
sobre o cluster pode ser obtido de duas maneiras:

  • Faça login no cluster usando SSH
  • Crie um túnel e configure a CLI local do Docker

Criar conexão SSH com o Docker para AWS

Faça login usando o comando mostrado no Valor da coluna Saída guia. Crie uma conexão SSH como:

Observe que estamos usando aqui a mesma chave que foi especificada durante o modelo do CloudFormation. A lista de contêineres pode ser vista usando docker ps comando:

Criar um túnel SSH para o Docker para AWS

Como alternativa, um túnel SSH pode ser criado como:

Configuração do DOCKER_HOST:

A lista de contêineres pode ser vista como acima usando docker ps comando. Além disso, é possível obter mais informações sobre o cluster usando informações da plataforma comando:

Veja a seguir alguns detalhes importantes desse resultado:

  • 4 nós e 1 gerente, o que significa 3 nós de trabalho
  • Todos os nós estão executando o Docker Engine versão 1.12.0-rc3
  • Cada VM é criada usando o Alpine Linux 3.4

Dimensionamento de nós de trabalho no Docker para AWS

Todos os nós de trabalho são configurados em um Grupo do AWS AutoScaling. O nó do gerenciador é configurado em um grupo separado do AWS AutoScaling.
docker4aws-9
Esse primeiro
permite que você dimensione a contagem de trabalhadores usando o grupo Autoscaling. O Docker ingressará ou removerá automaticamente novas instâncias do Swarm. Alterar a contagem de gerentes ao vivo é não compatíveis com esta versão. Selecione o
Grupo AutoScaling para nós de trabalho para ver detalhes completos sobre o grupo:
docker4aws-10

Clique em Editar para alterar o número de instâncias desejadas para 5 e salve a configuração clicando em Salvar botão:
docker4aws-11

Leva alguns segundos para que as novas instâncias sejam provisionadas e incluídas automaticamente no cluster do Docker Swarm. O grupo de Autoscaling atualizado é mostrado como:
docker4aws-12

E agora informações da plataforma O comando mostra a saída atualizada como:

Isso mostra que há um total de 6 nós com 1 gerente.

Referências do Docker para AWS

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.