Skip to content

Latest commit

 

History

History
91 lines (72 loc) · 1.92 KB

README.md

File metadata and controls

91 lines (72 loc) · 1.92 KB

Microservices

Create ingress locally

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud/deploy.yaml

Ingress Docs

Create namespace

kubectl apply -f k8s/Common/app_namespace.yaml

Create database

kubectl apply -f k8s/postgres/

Create services

kubectl apply -f k8s/orders-api/
kubectl apply -f k8s/products-api/
kubectl apply -f k8s/users-api/

Create UI

kubectl apply -f k8s/frontend/

Access to services

localhost/orders
localhost/products
localhost/users

Access to UI

localhost/

HELM

helm dep build helm &&
helm dep build helm/charts/orders-api &&
helm dep build helm/charts/products-api && 
helm dep build helm/charts/users-api &&
helm dep build helm/charts/frontend

helm install local helm
helm uninstall local

Important

Delete pvcs before second redeploy

kubectl delete pvc/data-postgres-0

Testing

Make the request handling slow (10 sec latency; users-api): POST http://localhost/users/untested-request

Testing results:

Normal pods:

normal pods testing

One unhealthy users-api pod:

1 unhealthy users-api pod testing

One unhealthy users-api pod + retry:

1 unhealthy users-api pod testing (with retry)

One unhealthy users-api pod + circuit breaker:

1 unhealthy users-api pod testing (with circuit breaker)

ISTIO

kubectl create namespace istio-system
helm repo add istio https://istio-release.storage.googleapis.com/charts
helm install istio-base istio/base -n istio-system
helm install istiod istio/istiod -n istio-system --wait
helm repo update
kubectl label namespace default istio-injection=enabled
kubectl apply -f istio