pattern_extractor_svc/
│
├── src/
│ └── main.py
│
├── tests/
│ └── test_app.py
│
├── .gitignore
├── deployment.yaml
├── ingress.yaml
├── Dockerfile
├── readme.md
├── requirements.txt
└── service.yaml
- Preparação:
- Certifique-se de que o Minikube esteja instalado e configurado corretamente em sua máquina local. Você pode iniciar o Minikube com o comando
minikube start
. - Certifique-se de que sua imagem do Docker esteja construída corretamente e esteja disponível. Se você estiver usando apenas o Minikube e não tiver um registro Docker privado, pode ser útil usar o ambiente Docker do Minikube para construir suas imagens, garantindo que elas estejam disponíveis para o Minikube. Você pode configurar isso com
eval $(minikube -p minikube docker-env)
antes de construir sua imagem Docker.
- Certifique-se de que o Minikube esteja instalado e configurado corretamente em sua máquina local. Você pode iniciar o Minikube com o comando
A partir da raiz do projeto, executar o comando:
eval $(minikube -p minikube docker-env) #Trabalhando com imagem local
docker build -t pattern_extractor_svc .
Para fazer o deploy no Minikube:
-
Deploy do Microsserviço: Execute o seguinte comando para criar o Deployment no Kubernetes:
kubectl apply -f deployment.yaml
-
Criação do Service e Ingress: Execute o seguinte comando para criar o Service e expor seu microsserviço:
kubectl apply -f service.yaml kubectl apply -f ingress.yaml
-
Verificando o Estado (opcional): Você pode verificar o estado do Deployment e do Service usando:
kubectl get deployments kubectl get services kubectl get pods -l app=pattern-extractor kubectl logs <nome-do-pod>
-
Atualizar o arquivo hosts:
-
Se você está usando um nome de host específico (como pattern-extractor.test neste exemplo), você precisará adicionar uma entrada para esse host no arquivo /etc/hosts do seu sistema operacional apontando para o IP do cluster Minikube. Você pode encontrar o IP do Minikube com o comando:
minikube ip
Então, adicione uma entrada no arquivo /etc/hosts:
<minikube-ip> pattern-extractor.test
-
Após iniciar o servidor, você pode testar o serviço usando ferramentas como curl
, Postman ou diretamente através do navegador acessando a documentação interativa gerada pelo FastAPI ({URL}/docs
).
Exemplo de requisição curl
a partir da máquina local:
curl -X 'POST' \
'http://pattern-extractor.test/extrair-padroes/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"texto": "Meu CPF é 123.456.789-09, PIS 123.45678.12.3, Título 123456789012, CNH 52798802300, e-mail [email protected], CEP 12345-678, nasci em 01/01/1980, tel: (11) 98765-4321, placa ABC1D23.",
"labels": ["E-mail", "PIS/PASEP", "Outros", "CPF", "CNH"]
}'
Dependendo do modelo do Spacy escolhido, os tipos de entidades disponíveis podem variar, então ajuste os parâmetros e o código conforme necessário.
kubectl delete deployment pattern-extractor-svc
Kubernetes v1.28.3 on Docker 24.0.7