Skip to content

Basic integration project using: Docker, Kubernetes, NodeJS and MongoDB.

License

Notifications You must be signed in to change notification settings

memignone/Integration-project

Repository files navigation

Integration project

This is a basic integration project. The main scope is to experiment and learn about container-based apps and containerization.

The main tools used are:

Steps to run it inside Kubernetes:

  • Install Kubectl and Minikube
  • Start the minikube with:
    • Windows 10 with Hyper-V: link minikube start --vm-driver=hyperv --hyperv-virtual-switch="minikube-switch"
    • Other: minikube start
  • Enable metrics: minikube addons enable metrics-server
  • Install Helm
  • Deploy using Helm:
    • helm install --name db -f ./production/mongo-values.yaml stable/mongodb
    • helm install --name app ./production/app-chart/
  • Add an autoscaler: kubectl autoscale deployment app --cpu-percent=30 --max=4
  • Access the app with: minikube service app
  • Access the dashboard with: minikube dashboard

Steps to update the image stored in DockerHub:

  • Transpile the code with Babel: npm run build
  • Build and tag the image locally: docker build -f ./production/Dockerfile -t memignone/basic-node-app:latest .
  • Push it to Docker Hub: docker push memignone/basic-node-app:latest

About

Basic integration project using: Docker, Kubernetes, NodeJS and MongoDB.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published