A project to deep dive into microservices using nodejs with docker and kubernetes Important topics, Technologies and Tools Used:
- Nodejs
- Typescript
- Reactjs
- Stripe
- Docker
- Kubernetes
- NATS-Streaming as Event Bus
- Ingress Nginx
- Skaffold
- Build CI/CD pipeline with testcase linked to Github
- git clone: https://github.com/denilgabani/ticketseller-microservice-practice.git
- Install Docker: https://docs.docker.com/get-docker/
- Install/Enable Kubernetes:
-> Enable Kubernetes directly from docker desktop app:
https://docs.docker.com/desktop/kubernetes/ OR -> Download and Install Kuberenetes https://kubernetes.io/releases/download/ - Install Skaffold: https://skaffold.dev/docs/install/
- Install Ingress nginx: run the below command kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml
- Create stripe developer account and take stripe key: https://stripe.com/docs/development
- Run command: kubectl create secret generic stripe-secret --from-literal=STRIPE_KEY= < Enter your Stripe private key>
- Run command: kubectl create secret generic jwt-secret --from-literal=JWT_KEY=<Give any random key>
- You can change localhost to custom domain name here ticketseller.dev: https://www.technig.com/change-localhost-to-domain-name/
- Go to the project directory and run the command: skaffold dev
- Skaffold will build and run the container and deployment service from infra dircories as mentioned in skaffold.yaml file.
- These deployment services run the pod for each services and also for event bus too.
- After running all the pods successfully you can visit to http://ticketseller.dev to get the live demo.