Conteirizando sua aplicação NodeJS - kube-news

Neste repositório apresento o resultado do encapsulamento de uma aplicação construída em NodeJS em um Container Docker. O arquivo de encapsulamento Dockerfile segue uma configuração básica, cujo o principal objetivo é demonstra a facilidade na configuração, distribuição e execução de uma aplicação encapsulada em containers.

Há diversos benefícios em encapsular uma aplicação em container, mas o principal é a portabilidade, já que o projeto pode ser executado em qualquer máquina que possua o Docker instalado, tornando a Aplicação independente de sistema operacional e/ou qualquer outra configuração/instalação.

Jornada DevOps de Elite - Aula 02:

Este repositório é parte da atividade pártica da Aula 02 do Curso Jornada DevOps de Elite, ocorrido de 17 a 23 de outubro de 2022, promovido pela Kubedev.io.

🛒 Requisitos do Projeto:

Antes de começar, você vai precisar ter instalado em sua máquina os seguintes recursos:

📀 Executando o Projeto:

Para testarmos a aplicação, temos que executar os 4 passos a seguir:

  1. Fazer download do Projeto
  2. Criar Cluster Kubernetes
  3. Executar Manifesto Kubernetes
  4. Acessar a Aplicação

1. Fazer downloado do Projeto

  • Baixe este Repositório, executando o comando Git:
git clone git@github.com:aguiardafa/kube-news.git

2. Criar Cluster Kubernetes

  1. Execute o comando abaixo para criar o Cluster Kubernetes para implantação do projeto:
k3d cluster create meucluster -p "80:30000@loadbalancer"

3. Executar Manifesto

  1. Pelo terminal, aberto na raiz da pasta k8s do Repositório, execute o comando para executar o manifesto kubernetes:
kubectl apply -f deployment.yaml
  1. Execute o comando para verificar se a criação dos pods foi bem sucedida:
kubectl get pods

4. Acessar a Aplicação NodeJS

  1. Pelo navegador de sua preferência, acesse a url http://localhost para visualizar a Aplicação;
  2. Se os passos anteriores foram executados corretamente, a resposta será semelhante a tela abaixo:

Kube-news

👨‍💻Autor

Diego Aguiar
Feito por Diego Aguiar 👋 Entre em contato!