📁 Categorias
Representa os tipos de produto (ex: Lanche, Bebida). As categorias são pré-cadastradas no sistema e não podem ser manipuladas via API, servindo como base para a criação de produtos.
Projeto Tech Challenge FIAP com explicação e informação de como rodar no Kubernetes (Minikube). Um passo a passo completo para configurar e rodar a solução em um ambiente de desenvolvimento local.
Antes de começar, é importante entender a estrutura que eu montei. O sistema é composto por uma API (.NET), um Worker de background e um Banco de Dados (SQL Server), todos rodando como contêineres independentes dentro de um cluster Kubernetes.
Garanta que as seguintes ferramentas estejam instaladas e funcionando antes de prosseguir.
winget install Kubernetes.minikube
.kubectl version --client
.git clone https://github.com/alealencarr/TechChallenge.git
cd TechChallenge
Construa as imagens para a API e o Worker.
docker build -t api-k8s:v1 -f api.dockerfile .
docker build -t worker-k8s:v1 -f job.dockerfile .
minikube start --memory 4g --cpus 2
minikube addons enable metrics-server
minikube image load api-k8s:v1
minikube image load worker-k8s:v1
kubectl apply -f k8s/
Monitore os Pods até que todos estejam com o status `Running`. Lembre-se que reinicializações (`CrashLoopBackOff`) são normais enquanto o banco de dados inicia.
kubectl get pods -w
minikube service api-service-tc
Este comando abrirá a URL da sua API no navegador. Adicione `/swagger` ao final para ver a documentação e testar.
kubectl port-forward service/api-service-tc 8080:80
A escalabilidade é controlada pelo Horizontal Pod Autoscaler (HPA). A regra é baseada no consumo de CPU para garantir que a aplicação tenha os recursos necessários sob alta carga.
100m
(10% de um núcleo de CPU).50%
do solicitado.1
pod até um máximo de 9
pods.Quando a carga na API faz com que o uso médio de CPU ultrapasse o gatilho de 50%, o HPA começa a criar novos pods para distribuir o trabalho. Quando a carga diminui, o processo inverso ocorre.
# Monitore o HPA em tempo real com este comando
kubectl get hpa -w
Quando terminar os testes, use os seguintes comandos para limpar os recursos e liberar memória do seu computador.
kubectl delete -f k8s/
minikube stop
minikube delete