/gke-toolbox

A Helm Chart with pre-configured tools for your Container Engine clusters

Primary LanguageSmartyApache License 2.0Apache-2.0

GKE Toolbox

Introduction

The GKE Toolbox is a Helm chart that installs and configures useful tools into your Container Engine Clusters

Tools

Enabled by Default

  • 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

Disabled by Default

  • 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

Prerequisites

  1. Credentials to a Container Engine cluster with at least 3 cores and 8GB or RAM
  2. For external-dns, a cluster with the following scope enabled at creation: https://www.googleapis.com/auth/ndev.clouddns.readwrite
  3. 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

Getting Started

  1. Clone this repository

     git clone https://github.com/viglesiasce/gke-toolbox
    
  2. Change directories to the repo

     cd gke-toolbox
    
  3. Install Helm

  4. Initialize Helm

     helm init
    
  5. 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/
    
  6. Download dependent charts

     helm dep build
    
  7. Install the chart:

     helm install -n toolbox .
    
  8. 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