kubernetes

Convertendo uma aplicação de VM para Container – Google Kubernetes – Parte 3

O Kubernetes tem sido muito utilizado pelas empresas que estão modernizando suas aplicações de VM para Containers, afim de aproveitar dos benefícios que são proporcionados neste processo. Logo, com o objetivo de não ficar para trás no mercado de tecnologia, você que atua como um Profissional de TI, precisa ficar cada vez mais de olho e acompanhar as tendências do mercado.

A atividade que daremos continuidade neste post, é de extrema importância para o negócio das empresas. Então, não pense que, por exemplo, devido sua empresa não estar utilizando as técnicas de modernização, que não faz sentido para você, pois esse conhecimento todo o Profissional de TI precisa ficar por dentro.

Agora, vamos colocar a mão na massa, realizando o upload da imagem da aplicação para o Docker Hub. Em seguida, vamos fazer o push para o Container Registry na Google Cloud e implementar com o Google Kubernetes Engine.

Vamos lá? #pracima

Upload da Docker Image para o Docker Hub

Pré-requisitos: fazer o download do Docker aqui e realizar a criação da sua conta no Docker Hub aqui.

1- Com o Build da imagem concluído, vamos adicionar uma tag nela.

Formato
docker tag SOURCE_IMAGE[:TAG] SEU-DOCKER-ID/TARGET_IMAGE[:TAG]

Comando Pronto
docker tag appflask tcbjosuelima/appflask

2- Em seguida, vamos fazer o push da imagem para o Docker Hub.

Formato
docker push <SEU-DOCKER-ID>/NAME[:TAG]

Comando pronto
docker push tcbjosuelima/appflask:latest
Início do upload da imagem
Upload da imagem concluído

Agora, acesse a sua conta no Docker hub. Em seguida, navegue até Repositories. Feito isso, você vai ver a imagem da aplicação, comprovando o upload concluído com sucesso.

Preparação da imagem da aplicação no Container Registry

Pré-requisitos:

  • De início, você vai precisar criar uma conta gratuita na Google Cloud. Nessa conta, você tem a possibilidade de usar $300 dólares no período de 90 dias.
  • Em seguida, com a conta já criada, certifique-se de estar com a API do Kubernetes e Container Registry habilitada.

P.S.: Caso tiver uma conta ativa na Google Cloud e a API já estiver habilitada, fique à vontade para pular os pré-requisitos acima.

1- Na Console da GCP, na barra de pesquisas, procure por Container Registry. Em seguida, em Products & Pages, clique em Container Registry.

2- Clique em Ativar o Cloud Shell.

3- Agora, vamos fazer o download da imagem do Docker Hub, executando em seguida o seguinte comando no Cloud Shell:

Formato
docker pull docker.io/<repositório-no-docker-hub>/<container>

Comando pronto
docker pull docker.io/tcbjosuelima/appflask

4- Com o objetivo de preparar a imagem, execute os seguintes comandos no Cloud Shell:

Formato
docker tag <TAG> us.gcr.io/<ID_PROJETO>/tcb-python-flask-gcp

Comando pronto
docker tag edd0a6f99488 us.gcr.io/capable-epigram-318416/appflask

5- Para subir a imagem para o Container Registry, execute o seguinte comando no Cloud Shell:

Formato

docker push us.gcr.io/<ID_PROJETO>/appflask

Exemplo
docker push us.gcr.io/capable-epigram-318416/appflask

Em seguida, clique em Autorizar.

Por fim, concluímos o Push para o Container Registry.

Ao retornar em Container Registry, a nossa imagem vai estar à disposição.

Vamos para os próximos passos.

Criação do Autopilot Cluster na Google Cloud

1- Na barra de pesquisas, digite Kubernetes. Em seguida, em Produtos e Páginas, clique em Kubernetes Engine.

2- Para realizarmos o deploy da nossa aplicação, precisaremos antes fazer a criação de um Cluster. No Google Kubernetes Engine, conseguimos fazer a criação de um Cluster Standard (Padrão) e Autopilot (Piloto Automático). Para o nosso cenário, vamos realizar a criação de um Autopilot Cluster.

Após acessar o Google Kubernets Engine, na aba Clusters, clique em Criar.

3- Em Criar cluster, Piloto automático, clique em Configurar.

4- Para o nosso cenário, vamos manter o Nome do cluster e Região no padrão. Mantenha as outras opções, em seguida, clique em Criar.

Obs.: Esse procedimento vai levar em torno de 5-10 minutos.

Autopilot cluster sendo criado
Autopilot cluster criado

Deploy da Imagem no Google Kubernetes Engine

1- Com o cluster pronto, clique nele para mais informações.

2- Clique em Conectar.

3- Em seguida, clique em Executar no Cloud Shell.

4- Após abrir o Cloud Shell com a linha de comando, aperta a tecla Enter.

Clique em Autorizar.

Em seguida, você vai ver as seguintes informações na sua console.

5- Com o cluster criado, vamos realizar o deploy da imagem da nossa aplicação que está no Container Registry.

Na console da Google Cloud, insira a seguinte linha:

Formato
kubectl create deployment <nome-do-workload> --image=<path-da-sua-imagem-no-Container-Registry>

Comando Pronto
kubectl create deployment appflask --image=us.gcr.io/capable-epigram-318416/appflask
kubectl

Para acompanhar o processo e verificar se o deploy foi concluído, clique em Cargas de Trabalho (Workloads). Em seguida, acompanhe o status.

Obs.: Para ficar ok, vai levar de 5 a 10 minutos.

kubernetes

Agora nós precisamos expor a nossa aplicação para o mundo. Como nós fazemos isso?

6- No Cloud Shell, execute a seguinte linha de comando:

Formato
kubectl expose deployment <nome-do-workload> --type LoadBalancer --port 80 --target-port 5000

Comando pronto
kubectl expose deployment appflask --type LoadBalancer --port 80 --target-port 5000

Aplicação exposta. Em seguida, vamos ver como acessá-la.

7- Para avançarmos, execute no Cloud Shell o comando abaixo:

kubectl get service appflask

Como resultado, você vai ver o seguinte:

Copie o External IP, abra uma nova aba no seu navegador e valide se está funcionando.

Por fim, conforme indicado na figura acima, concluímos a modernização da nossa aplicação que estava em uma VM no ambiente on-premises e agora está em execução no Google Kubernetes Engine na Google Cloud Platform.

Para aprender Google Cloud Platform de forma prática com Projetos Hands-on baseados nos cenários do Mundo Real, clique aqui.

Compartilhe este Post

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados

POSTS RECENTES

Conheça nosso Site

Venha aprender na prática as skills de Cloud que todo recrutador sonha em encontrar.