Desenvolvimento

5 dez, 2017

Como usar o serviço de containers da azure

Publicidade

Nem sempre encontramos a solução específica para alguns problemas. Passei por isso recentemente com o Serviço de Containers da Azure, então resolvi trazer aqui uma forma clara para utilizarmos essas ferramentas.

Hoje vamos falar um pouco sobre como utilizar o serviço de containers no provedor de cloud Microsoft Azure. Veremos o passo a passo de como subir uma aplicação utilizando o Azure Container Services, tendo como orquestrador o Docker Swarm.

Nesse exemplo vamos utilizar uma aplicação em Python para visualizarmos melhor a criação dos serviços, mas você pode usar o seu próprio código se preferir.

Bora cair no problema?

Primeiro é importante que você tenha uma conta na Azure – pode ser free trial, mesmo – para continuar.

Criando a Infra

Se você já possui sua conta, a partir do Dashboard, selecione “+” para criar novas soluções e selecione a opção Azure Container Service dentro da aba de Containers.

Após selecionar o serviço, vamos preencher as informações necessárias para prosseguir. Começaremos pelas informações básicas.

Preencha o nome que vai utilizar, a Subscription, o Resource Group e selecione a localização.

Nesse exemplo vamos criar um novo Resource-Group, mas você pode utilizar um já existente.

Em seguida, preencha as informações que vão ser utilizadas para configuração do Master.

Selecione “Swarm” no orquestrador para utilizarmos o Docker Swarm, digite o nome para o DNS e para seu usuário. Também coloque sua chave SSH.

Vamos utilizar apenas um Master.

Agora utilizaremos um Agente e a opção A2_V2 para o tamanho da máquina.

Por último, vamos receber um resumo das opções que selecionamos, mas antes, confira se todas as informações estão corretas, aí sim, clique em “Ok” e aguarde o deploy do serviço.

Assim que estiver finalizado, você pode conferir todos as dependências criadas, clicando no ícone:

Resource Groups > “Nome do seu grupo” > Overview

Conectando no Master

Agora que os servidores já estão sendo executados, vamos criar um túnel SSH para o Master para subirmos a aplicação. Mas para criarmos o túnel, vamos utilizar o DNS do Serviço de Containers que subimos. Para conferir a URL, acesse o recurso de Serviço de container; o DNS estará disponível na aba Overview.

Execute em seu terminal o comando:

ssh -fNL 2375:localhost:2375 -p 2200 iagobanov@pythonappmgmt.southcentralus.cloudapp.azure.com

*Observação: não esqueça de utilizar sua URL para acesso e o seu usuário que foi criado anteriormente. Verifique se não existe nenhum outro processo que já esteja usando a porta 2375. Caso tenha, utilize outra porta.

Em seguida, exporte a variável DOCKER_HOST para a porta que vai utilizar.

export DOCKER_HOST=:2375

Depois disso, você vai poder validar se já está conectado pelo túnel utilizando “docker info”. Se sim, ele vai apresentar as informações sobre os agentes criados.

Iniciando o APP

Bem, agora vamos subir o app!

Neste exemplo, vamos utilizar um simples app em Python que vai se comunicar com um Redis.

Você pode conferir o código neste repositório.

Para inicializar o app, acesse o diretório local e utilize o comando do Docker Compose.

docker-compose -f docker-compose.yml up –d

Criando as regras de segurança

Após subir a aplicação, é necessário liberar as portas de acesso para a aplicação que utiliza a porta 5000. Mas antes, vamos criar um Healt Probe para mantermos um monitoramento sobre as portas que vamos utilizar.

Para isso vamos na guia Resource Groups > “Nome do seu grupo” > swarm-agent-lb-**** > Health probes, clicar em Add.

Preencha o nome, selecione o tipo de protocolo e a porta que vai utilizar. Nesse caso, a porta 5000. Clique em “Ok” e aguarde a alteração ser realizada.

Agora vamos adicionar a regra de segurança no Load Balancer: acesse Resource Groups > “Nome do seu grupo” > swarm-agent-lb-**** > Load balacing rules e clique em Add.

Observação: Adicione um nome, as portas que vai utilizar e não esqueça de associar o Health probe criado para a porta.

Para finalizar e acessar o app utilize o IP público do agente: Resource Groups > “Nome do seu grupo” > swarm-agent-****-vmss

O IP vai estar na aba de overview com a sua devida descrição.

Acesse o IP com a porta e voilà! Já pode utilizar sua aplicação.

Easy peazy!

Com esse exemplo, passamos por todos os passos necessários para executarmos uma simples aplicação com o serviço de containers da Azure. A partir daqui, você pode definir os padrões desejados para o seu próprio código, como por exemplo, usar mais agentes e mais regras de segurança.

Agora basta ter o seu código e mãos à obra!

***

Este artigo foi publicado originalmente em: https://www.concrete.com.br/2017/11/22/como-usar-o-servico-de-containers-da-azure/