This project was my first introduction to developing microservices and deploying them to a local Kubernetes cluster(minikube).
Multiple repos were combined for your convinience.
- Main repo https://github.com/harsh098/microservice-deploy/
- Authentication Service https://github.com/harsh098/microservice-deploy-auth
- Gateway Service https://github.com/harsh098/microservice-deploy-gateway-svc
- RabbitMQ deployment https://github.com/harsh098/microservice-deploy-rabbitmq
- Converter Service https://github.com/harsh098/microservice-deploy-converter-service
- Notification Service https://github.com/harsh098/microservice-deploy-notification-service
Assuming you have mysql and mongo installed on local and mongo is configured to allow access without authentication.
- Configure You
mysqld.serviceandmongod.serviceto allow all hosts i.e.0.0.0.0(for all IPv4) or::(for all IPv6 abd IPv4)
sudo systemctl start docker mysqld and mongod - Edit
init.sqlas instructed in the file - run
init.sql
- Run the following commands
minikube start
eval $(minikube -p minikube docker-env)
- Clone the git repo
- cd into the directory
Run the following command./builder.py . - edit following
secret.yamlfiles for your setup - Run
minikube ip
Note: replace 192.168.49.2 with the address in the output of minikube ip
Add the following lines to /etc/hosts (in Mac/Linux) or C:\Windows\System32\Drivers\etc\hosts (in Windows)
192.168.49.2 kubernetes.docker.internal
192.168.49.2 vid2mp3.com
192.168.49.2 rabbitmq-manager.com
Run The following commands
- cd into project directory
kubectl create -f auth_service/manifests
kubectl create -f gateway/manifests
kubectl create -f rabbit/manifests
kubectl create -f converter_svc/manifests
kubectl create -f notification_service/manifests
- Mac and Windows Users need to run
minikube tunnelin a separate terminal window









