Skip to content

karim-elngr/cloud-developer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Udagram Image Filtering Microservice Build Status

Udagram is a simple cloud application developed alongside the Udacity Cloud Engineering Nanodegree. It allows users to register and log into a web client, post photos to the feed, and process photos using an image filtering microservice.

Setup

1- Setup Docker Environment

You'll need to install docker https://docs.docker.com/install/. Open a new terminal within the project directory and run:

  1. Build the images: docker-compose -f docker-compose-build.yaml build --parallel
  2. Push the images: docker-compose -f docker-compose-build.yaml push
  3. Run the container: docker-compose up
  4. visit http://http://localhost:8100/home

Docker hub imgaes

  1. frontend
  2. feed-api
  3. user-api
  4. reverse-proxy

2- Setup EKS cluster

You'll need to install eksctl https://eksctl.io. Open a new terminal within the project directory and run:

  1. Run cd course-03/exercises/udacity-c3-deployment/k8s/cluster/

  2. Run eksctl create cluster -f cluster.yaml. Takes long time to create a new cluster, don't forget to delete it after finishing to avoid AWS costs by running eksctl delete cluster --name udagram-staging.

  3. Run eksctl get cluster and make sure to find udagram-staging cluster.

  4. Run cd ../scripts

  5. Run chmod +x deploy-configs-secrets.sh if needed.

  6. Run ./deploy-configs-secrets.sh

  7. Run kubectl apply -f backend-feed-deployment.yaml, and make sure to give enough time for the pod to start and then run kubectl get pods and find backend-feed pods in the list in state RUNNING.

  8. Run kubectl apply -f backend-feed-service.yaml

  9. Run kubectl apply -f backend-user-deployment.yaml

  10. Run kubectl apply -f backend-user-service.yaml

  11. Run kubectl apply -f reverseproxy-deployment.yaml

  12. Run kubectl apply -f reverseproxy-service.yaml

  13. Run kubectl apply -f frontend-deployment.yaml

  14. Run kubectl apply -f frontend-service.yaml

3- Run EKS cluster locally

  1. Run kubectl port-forward svc/reverseproxy 8080:8080 and test that the localhost:8080/api/v0 passes the postman collections. rest api postman collection
  2. Run kubectl port-forward svc/frontend 8100:8100 to service the frontend.
  3. Visit localhost:8100 and make sure it works.

screenshots

  1. travis ci
  2. get pods
  3. docker hub

About

content for Udacity's cloud developer nanodegree

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 79.9%
  • HTML 7.2%
  • JavaScript 5.7%
  • CSS 4.9%
  • Dockerfile 1.4%
  • Shell 0.9%