An open API service indexing awesome lists of open source software.

https://github.com/prabaprakash/kubernetes-istio-service-mesh

Playing with Istio Service Mesh by ramp up 10 services
https://github.com/prabaprakash/kubernetes-istio-service-mesh

docker helm istio kubernets service-mesh

Last synced: 2 months ago
JSON representation

Playing with Istio Service Mesh by ramp up 10 services

Awesome Lists containing this project

README

        

# Digitial Ocean Instructions

`https://www.digitalocean.com/community/tutorials/how-to-install-and-use-istio-with-kubernetes`

# Single Node, Load Balancer
If you install kubernets from microk8s, minikube.

you need to setup load balancer manually

I used nginx reverse proxy to Istio Ingress, for more

checkout https://github.com/prabaprakash/Kubernetes-Istio-Service-Mesh/blob/master/single_node_nginx.md

# Ramp Up Ten Services
```
$ kubectl config set-context --current --namespace=default
$ bash kubernetesapply.sh
```
service-1, http://services.southindiantrekkers.org/service-1

to

service-9, http://services.southindiantrekkers.org/service-9

# Istio
```
$ bash istiocomponentsapply.sh
```
Kiali, http://kiali.southindiantrekkers.org

Prometheus, http://prometheus.southindiantrekkers.org

Tracing, http://tracing.southindiantrekkers.org

Grafana, http://grafana.southindiantrekkers.org

# Artillery Load Test
```
artillery quick --count 10 -n 20 http://services.southindiantrekkers.org/service-1
```
# Helm Istio Installation
```
$ helm repo add istio.io https://storage.googleapis.com/istio-release/releases/1.1.7/charts/
$ helm repo list
$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
$ NAMESPACE=istio-system
$ kubectl create ns $NAMESPACE
$ helm init --service-account tiller
$ helm install --name istio-init --namespace istio-system istio.io/istio-init
$ kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l
$ helm install --name istio --namespace istio-system --set grafana.enabled=true istio.io/istio
$ kubectl get svc -n istio-system
$ kubectl get pods -n istio-system
$ kubectl label namespace default istio-injection=enabled
$ kubectl get namespace -L istio-injection
```