https://github.com/denniseffing/mts-service-mesh
Configuration for deploying microservices of the OASP reference application "My Thai Star" on an Istio service mesh.
https://github.com/denniseffing/mts-service-mesh
Last synced: 3 months ago
JSON representation
Configuration for deploying microservices of the OASP reference application "My Thai Star" on an Istio service mesh.
- Host: GitHub
- URL: https://github.com/denniseffing/mts-service-mesh
- Owner: denniseffing
- Created: 2018-07-11T13:28:17.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-22T16:51:07.000Z (about 7 years ago)
- Last Synced: 2025-01-23T07:46:06.816Z (about 1 year ago)
- Language: Shell
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Thai Star Service Mesh
Configuration for deploying microservices of the OASP reference application "My Thai Star" on an Istio service mesh.
Microservices:
- [mts-booking-order](https://github.com/denniseffing/mts-booking-order)
- [mts-dishes](https://github.com/denniseffing/mts-dishes)
- [mts-frontend](https://github.com/denniseffing/mts-frontend)
The microservice implementation is **only for demonstrating the functionality of Istio** and is not under active development. It is based on [oasp/my-thai-star@9caedb](https://github.com/oasp/my-thai-star/commit/9caedb91eb3fe0d433f6d08e5cd72b7fbb8f25c3) and will not be updated in the future.
The configuration has been tested on the following environments:
- Minikube running Kubernetes 1.10.5 and Istio 1.0.2
- Google Kubernetes Engine with 4 nodes running Kubernetes 1.10.6-gke.4 and Istio 1.0.2
## How to use
1. Install Istio on Kubernetes and enable tracing, Kiali and Grafana.
Please disable Galley as it doesn't allow specifying a host:port combination for virtual services.
```bash
helm install ./install/kubernetes/helm/istio --name istio --namespace istio-system --set galley.enabled=false --set tracing.enabled=true --set=kiali.enabled=true --set=grafana.enabled=true
```
Check out the [Istio documentation](https://istio.io/docs/setup/kubernetes/quick-start/) for detailed installation instructions.
2. OPTIONAL: Apply service configuration for the Kiali dashboard.
```bash
kubectl apply -f mts-app-deployment/kiali-services.yaml
```
> NOTE: When deploying on minikube, you have to activate the ingress addon: `minikube addons enable ingress`
When deploying on GKE, you have to forward the port 20001 to the pod that runs Kiali.
3. Deploy My Thai Star and apply the basic Istio routing configuration.
```bash
# Deploy My Thai Star
kubectl apply -f mts-app-deployment/services/mts.yaml
# Apply basic Istio routing configuration
kubectl apply -f mts-app-deployment/routing-configuration/mts-ingress.yaml
kubectl apply -f mts-app-deployment/routing-configuration/mts-virtualservice-ingress.yaml
```
4. Determine Istio ingress gateway `NODE_IP` and `NODE_PORT`. See [here](https://istio.io/docs/tasks/traffic-management/ingress/#determining-the-ingress-ip-and-ports) for further information.
5. Add Istio ingress gateway `NODE_IP` to hosts file using the domain mts.local.
6. Open up your browser at `http://mts.local:` (Minikube) or http://mts.local (GKE).
> If you want to access the Kiali dashboard, you can reach it on http://mts.local when using Minikube or on http://localhost:20001 when using GKE.
----
TODO: Documenation for advanced configurations.