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
$ cd microservices path
$ mvnw clean install
$ mvnw spring-boot:run
React
$ cd react-client
$ yarn install
$ yarn start
Angular
$ cd angular-client
$ npm install
$ ng serve
React
http://localhost:3000
Angular
http://localhost:4200
mvnw clean deploy -P docker
$ minikube start
$ minikube addons enable ingress
$ 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
$ 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