The GKE Toolbox is a Helm chart that installs and configures useful tools into your Container Engine Clusters
- Prometheus (
chart
) -> Kubernetes native monitoring and alerting of your nodes, pods, services, and controller states - Grafana (
chart
) -> Flexible Dashboards for Kubernetes - Nginx Ingress (
chart
) -> Allows you to use Nginx as an ingress controller which can be more flexible than the Google HTTP(S) load balancer
- Kube Lego (
chart
) -> Automatically get TLS certificates for your ingresses - External DNS -> Map your service and ingress IPs to DNS records in Cloud DNS
- Istio (
chart
) -> Kubernetes native service mesh - Spinnaker (
chart
) -> Continuous Delivery solution for Kubernetes workloads - Gitlab (
chart
) -> Source code management and continuous integration/delivery system
- Credentials to a Container Engine cluster with at least 3 cores and 8GB or RAM
- For external-dns, a cluster with the following scope enabled at creation:
https://www.googleapis.com/auth/ndev.clouddns.readwrite
- For Istio tracing to work you must have the following scope enabled:
https://www.googleapis.com/auth/trace.append
For example:
$ gcloud container clusters create tb-test --scopes https://www.googleapis.com/auth/ndev.clouddns.readwrite,https://www.
googleapis.com/auth/trace.append
-
Clone this repository
git clone https://github.com/viglesiasce/gke-toolbox
-
Change directories to the repo
cd gke-toolbox
-
Initialize Helm
helm init
-
Add repositories that we depend on:
helm repo add gke-tb.incubator https://kubernetes-charts-incubator.storage.googleapis.com/ helm repo add coreos https://s3-eu-west-1.amazonaws.com/coreos-charts/stable/
-
Download dependent charts
helm dep build
-
Install the chart:
helm install -n toolbox .
-
To complete the configuration and installation of Istio and Prometheus, run:
helm upgrade toolbox . --reuse-values --set istio.istio.install=true --set prometheus.enabled=true