Giter Site home page Giter Site logo

vijaynidhi85 / microservices-demo-with-pvc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microservices-demo/microservices-demo

0.0 1.0 0.0 52.97 MB

Deployment scripts & config for Sock Shop with Persistent Volume Claims in the yamls

Home Page: https://microservices-demo.github.io/

License: Apache License 2.0

Shell 5.11% Ruby 4.00% Python 56.09% Makefile 1.52% HCL 29.93% Dockerfile 2.28% Mustache 1.08%

microservices-demo-with-pvc's Introduction

Sock Shop with Storage Persistence : A Microservice Demo Application

This project is designed to modify the original Sock Shop's microservice application to user Persistant volumes for kubernetes based deployments rather than tmp directories.

Please refer to the original project here:

https://microservices-demo.github.io/

and

https://github.com/microservices-demo/microservices-demo

Deployment instructions :

  • clone the repo to you local setup where you have kubeconfig configured to your kubernetes cluster
  • cd into **deploy/kubernetes/manifests ** directory
  • run following command to deploy all yamls in the manifests
kubectl apply -f . 

Note

  • These changes are made for the kubernetes based deployment to use back-end storage based CSI provisioners for 3 DB services(carts/catalogue/orders)
  • It uses the default Storage-Class
  • This is for testing/demo purpose only - made some security context changes to run on openshift
  • Tested on openshift and nutanix karbon k8s
  • for openshift you may need to add the default account of the sock-shop namespace to priviledge security context
oc adm policy add-scc-to-user privileged -z default -n sock-shop
  • You might hit docker image pull limits - you could try to authenticate your image pulls by performing the following:
  1. docker login ## login to your docker hub account
  2. Create the docker registry pull secret
kubectl create secret generic regcred     --from-file=.dockerconfigjson=~/.docker/config.json     --type=kubernetes.io/dockerconfigjson -n sock-shop
  1. Patch the default serfvice account of the namespace sock-shop
 kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "regcred"}]}'
  1. Delete the pods with imagepull backoff issues

Changes Made:

  • Modified the following files in the manifests directory:

    • 03-carts-db-dep.yaml
    • 07-catalogue-db-dep.yaml
    • 13-orders-db-dep.yaml
  • For each of the above files - added PVC definition and mounted it in the respective db folder

  • Fixed a few security context settings to run on Openshift


Sock Shop : A Microservice Demo Application

The application is the user-facing part of an online shop that sells socks. It is intended to aid the demonstration and testing of microservice and cloud native technologies.

It is built using Spring Boot, Go kit and Node.js and is packaged in Docker containers.

You can read more about the application design.

Deployment Platforms

The deploy folder contains scripts and instructions to provision the application onto your favourite platform.

Please let us know if there is a platform that you would like to see supported.

Bugs, Feature Requests and Contributing

We'd love to see community contributions. We like to keep it simple and use Github issues to track bugs and feature requests and pull requests to manage contributions. See the contribution information for more information.

Screenshot

Sock Shop frontend

Visualizing the application

Use Weave Scope or Weave Cloud to visualize the application once it's running in the selected target platform.

Sock Shop in Weave Scope

microservices-demo-with-pvc's People

Contributors

nustiueudinastea avatar idcrosby avatar philwinder avatar vlal avatar pidster avatar jasonrichardsmith avatar rodrmartinez avatar moretea avatar frankscholten avatar errordeveloper avatar elieser1101 avatar adam-sandor avatar peterbourgon avatar lukemarsden avatar vijaynidhi85 avatar katzien avatar amouat avatar jml avatar abuehrle avatar alban avatar etiennetremel avatar stefanprodan avatar marccarre avatar vincents avatar shiresky avatar juliogomez avatar gellis01 avatar gavrie avatar dtzar avatar awh avatar

Watchers

Christophe Jauffret 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.