GithubHelp home page GithubHelp logo

the-marac / microservices-k8s Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 8.0 3.78 MB

Kubernetes, Docker, Microservices, Spring Cloud, Spring Boot, React, Angular, H2, Hibernate, Liquibase

Dockerfile 2.42% Java 18.06% JavaScript 19.57% TypeScript 31.21% HTML 13.60% CSS 12.77% Shell 2.37%
kubernetes docker microservices spring-cloud spring-boot react angular h2 hibernate liquidbase

microservices-k8s's Introduction

Docker, Microservices, Spring Cloud, Spring Boot, React, Angular, H2, Hibernate, Liquibase

Microservice Arhitecture

The application structure is as follows.

  • admin-server - Microservice implemented using Spring Admin Server. More info
  • zuul-gateway-service - Microservice implemented using Spring Zuul. More info
  • user-management-service - Microservice implemented using Spring boot. More info
  • react-client - A NodeJs application implemented using React. This consumes services hosted by server side. More info
  • angular-client - A NodeJs application implemented using Angular. This consumes services hosted by server side. More info

Build

1) Build Spring Boot microservices

$ cd microservices path
$ mvnw clean install
$ mvnw spring-boot:run

2) Build and run client side application

React

$ cd react-client
$ yarn install
$ yarn start

Angular

$ cd angular-client
$ npm install
$ ng serve

Access application using following URL

React

http://localhost:3000

Angular

http://localhost:4200

Kubernetes

1) Build all modules and docker images

mvnw clean deploy -P docker

2) Run kubernetes

$ minikube start
$ minikube addons enable ingress

2) Setup hostname

$ minikube ip
1.2.3.4

Add mysite.com into /etc/hosts (Linux) or C:\Windows\System32\drivers\etc\hosts (Windows)

1.2.3.4 mysite.com

3) Configure and run all services

$ cd kubernetes
$ kubectl create clusterrolebinding admin-default --clusterrole=cluster-admin --serviceaccount=default:default
$ kubectl apply -f admin-server-service.yaml,admin-server-deployment.yaml
$ kubectl apply -f zuul-gateway-service-service.yaml,zuul-gateway-service-deployment.yaml,zuul-gateway-service-ingress.yaml
$ kubectl apply -f user-management-service-service.yaml,user-management-service-deployment.yaml
$ kubectl apply -f angular-client-service.yaml,angular-client-deployment.yaml
$ kubectl apply -f react-client-service.yaml,react-client-deployment.yaml

microservices-k8s's People

Contributors

dependabot[bot] avatar the-marac avatar

Stargazers

 avatar  avatar

Watchers

 avatar  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.