Skip to content

Repositório destinado para estudo do curso de Kubernetes com microsserviços: subindo e gerenciando uma aplicação da Alura

Notifications You must be signed in to change notification settings

DeveloperArthur/kubernetes-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes com microsserviços: subindo e gerenciando uma aplicação

img

Iniciando o Minikube

Para iniciar o Minikube, execute:

minikube start

Ativando o driver CSI

Para que o volume funcione corretamente, é necessário ativar o driver CSI no Minikube:

minikube addons enable csi-hostpath-driver

Construindo as imagens Docker

Para criar as imagens Docker dos serviços, execute:

docker build -t arthur/java-gateway-k8s:v4 gateway/.
docker build -t arthur/java-pagamentos-k8s:v4 pagamentos/.
docker build -t arthur/java-pedidos-k8s:v4 pedidos/.
docker build -t arthur/java-server-k8s:v4 server/.

Carregando imagens locais no Minikube

Carregue as imagens Docker locais para o Minikube com os seguintes comandos:

minikube image load arthur/java-gateway-k8s:v4;
minikube image load arthur/java-pagamentos-k8s:v4;
minikube image load arthur/java-pedidos-k8s:v4;
minikube image load arthur/java-server-k8s:v4

Para verificar se as imagens foram carregadas corretamente, execute:

minikube ssh
# Dentro do terminal SSH do Minikube:
docker images

Aplicando configurações no Kubernetes

Para configurar os volumes, banco de dados, secrets, configmaps, aplicação e serviços, execute:

kubectl apply -f k8s/volumes.yaml \
  -f k8s/mysql.yaml \
  -f k8s/secrets.yaml \
  -f k8s/configmap.yaml \
  -f k8s/app.yaml \
  -f k8s/loadbalancer.yaml \
  -f k8s/services.yaml

Abrindo o dashboard do Minikube

minikube dashboard

img

Configurando LoadBalancer

Para configurar o LoadBalancer utilizando o IP local da sua máquina:

minikube tunnel --bind-address=IPLOCAL

Acessando Eureka

Acessando IPLOCAL:8081

img

Testando o sistema

Enviando request para IPLOCAL:8082

img

img

Escalando verticalmente o Minikube

Se precisar aumentar os recursos disponíveis para o Minikube:

minikube start --cpus 4 --memory 8192
minikube config set memory 4096
minikube config set cpus 4

Comandos auxiliares

Verificando os pods, deployments e serviços ativos:

kubectl get pods
kubectl get deployments.v1.apps
kubectl get svc

Para excluir o Minikube:

minikube delete

Verificar configuração de memória:

minikube config view | grep memory

Principais Desafios

  • Os serviços pagamentos e pedidos não se mantinham no ar;
  • pagamentos e pedidos não apareciam no Eureka;
  • Não era possível fazer requisições via gateway para pagamentos e pedidos.

Discussão aberta sobre este problema:

Status: RESOLVIDO

Referências e Repositórios Relacionados

About

Repositório destinado para estudo do curso de Kubernetes com microsserviços: subindo e gerenciando uma aplicação da Alura

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published