Giter Club home page Giter Club logo

k8s's Introduction

Microservice Architecture and System Design with Python & Kubernetes

Project Title: Video to MP3 Converter

This repository refers to the freeCodeCamp.org hands-on tutorial about microservices architecture and distributed systems using below frameworks and tools:

  • Kubernetes
  • Docker
  • Flask
  • Mysql
  • Mongo
  • Celery (Redis as a broker)

The application has been divided into chunks:

  • Auth
  • Converter
  • Notification

Kubernetes component division:

  • Flask Auth Microservice
  • Flask Converter Microservice
  • Flask Notification Microservice
  • MySQL Microservice
  • Mongo Microservice
  • Celery Microservice

Steps to setting up to repository:

  • Clone repo
  • Install colima (ps. I have used colima as docker runner instead docker desktop, you can use any alternative to run docker locally.)
  • Install Kubernetes
  • Install MiniKube
  • Run colima start or colima start --cpu 4 --memory --8 (you can set up cpu and memory according to your system's specifications)
  • Run minikube start
  • Go inside each application's manifest folder
    • Run kubectl apply -f ./
  • To set up mysql user and database for the first time
    • Get inside mysql pod using k exec -it podname sh
    • Run mysql -p
    • Insert password root
    • Inside mysql shell run commands which are defined in auth/init.sql file.
  • to bind port externally to send API using curl or postman:
    • Run minikube service service_name --url localhost:port_number

Special note: If you're interested in running this project using docker, If you are new to docker and willing to learn docker first, then you can also run it using docker directly.

Docker Repo & Postman Collection can be found here.

If you're interested in learning kubernetes by reading a book, Kubernetes Book can be a good resource to start as a beginner.

k8s's People

Contributors

alefeans avatar calvinscottforbes avatar kantancoding avatar mihailgaberov avatar nilay103 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.