|
|
||
|---|---|---|
| .vscode | ||
| istio-manifests | ||
| kubernetes-manifests | ||
| pb | ||
| src | ||
| tests/cartservice | ||
| .gitignore | ||
| README.md | ||
| skaffold.yaml | ||
Microservices demo
This project contains a 10-tier microservices application. The application is a web-based e-commerce app called “Hipster Shop” where users can browse items, add them to the cart, and purchase them.
Setup on GKE
-
Install:
-
Create a Google Kubernetes Engine cluster and make sure
kubectlis pointing to the cluster. -
Enable Google Container Registry (GCR) on your GCP project:
gcloud services enable containerregistry.googleapis.com -
Configure docker to authenticate to GCR:
gcloud auth configure-docker -q -
Edit
skaffold.yaml, prepend your GCR registry host (gcr.io/YOUR_PROJECT/) to allimageName:fields (or update the existing project name). -
Edit the Deployment manifests at
kubernetes-manifestsdirectory and update theimagefields to match the changes you made in the previous step. -
Run
skaffold run. This builds the container images, pushes them to GFR, and deploys the application to Kubernetes. -
Find the IP address of your application:
kubectl get service frontend-externalthen visit the application on your browser to confirm installation.
Istio Deployment
-
Create a GKE cluster.
-
Install Istio without mutual TLS enablement.
-
Install the automatic sidecar injection (annotate the
defaultnamespace with the label):kubectl label namespace default istio-injection=enabled -
Deploy the application.
-
Apply the manifests in
./istio-manifestsdirectory.kubectl apply -f ./istio-manifests