Deploy the dashboard in the following way:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
Expose the dashboard:
echo "apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kube-dash
namespace: kube-system
spec:
rules:
- host: kube-dash.k8s.evilcloud.xyz
http:
paths:
- backend:
serviceName: kubernetes-dashboard
servicePort: 443
path: /
" | kubectl create -f -
Heapster:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/rbac/heapster-rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/standalone/heapster-controller.yaml
Set RBAC permissions:
kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/traefik-rbac.yaml
Deploy DaemonSet (you can also use a pod deployment.. some pros and cons):
kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/traefik-ds.yaml
Expose Traefik-ui dashboard:
kubectl apply -f https://gitlab.libre.nz/tomas/k8s-recetas/raw/master/traefik/web-ui.yaml
Countour is an ingress controller leveraging Envoy:
kubectl create -f https://gitlab.libre.nz/tomas/k8s-recetas/raw/master/heptio/contour.yaml
Istio (Envoy c++ proxy+Istio mesh):
Download Istio (0.4.0 in this case): https://github.com/istio/istio/releases
wget -qO- https://github.com/istio/istio/releases/download/0.4.0/istio-0.4.0-linux.tar.gz | tar xvz
Change directory
cd istio-0.4.0
Add Istio client to PATH:
export PATH=$PWD/bin:$PATH
Deploy Istio on Kubernetes:
No mutual TLS:
kubectl apply -f install/kubernetes/istio.yaml
Mutual TLS:
kubectl apply -f install/kubernetes/istio-auth.yaml
If you want to automatically inject Istio sidecar to applications:
kubectl apply -f install/kubernetes/istio-initializer.yaml
Depending on your kube config, you might need to enable this as Alpha Feature till later releases (https://kubernetes.io/docs/admin/extensible-admission-controllers/#enable-initializers-alpha-feature)
(Optional) Deploy Zipkin/Prometheus/ServiceGraph/Grfana:
kubectl apply -f install/kubernetes/addons/zipkin.yaml
kubectl apply -f install/kubernetes/addons/prometheus.yaml
kubectl apply -f install/kubernetes/addons/servicegraph.yaml
kubectl apply -f install/kubernetes/addons/grafana.yaml
kubectl create -f https://raw.githubusercontent.com/ToroNZ/speedtest/docker/speedtest.yaml
Hit the URL specified at the bottom of ^ file... (speedtest.k8s.evilcloud.xyz ?)