GKE cluster configuration overview

Roundtable is deployed on a Google Kubernetes Engine (GKE) cluster called roundtable (view the GKE console). The Roundtable cluster is not configuration managed — we configure the Roundtable cluster through the glcloud command-line tool or the GKE console. The purpose of this page is to summarize key cluster configurations and decisions so that current operators can understand the cluster, and the cluster could be roughly redeployed elsewhere in the future.

Region

Both the master and nodes are deployed in the us-central1-a zone (Iowa). See also the Google Cloud Platform Pricing page for current pricing in this region.

VPC-native

The Roundtable cluster is VPC-native (alias IP) enabled. VPC-native networking is necessary for connecting to Google Cloud Platform’s managed datastores such as Cloud Memory Store (connection docs) and Cloud SQL (connection docs).

Stackdriver monitoring

Stackdriver Kubernetes monitoring is enabled and Legacy Stackdriver Logging and Legacy Stackdriver Monitoring are disabled.

We use Stackdriver for logs. See the Stackdriver Kubernetes Engine Monitoring documentation for more information.

Istio

At this time the Anthos Service Mesh is disabled. We trialled Istio early in the Roundtable deployment, and decided to focus on more traditional ingress and continuous deployment in the initial phase. As Roundtable matures, we may revisit using a service mesh on Roundtable.

Nodes

See Node pools for the Roundtable GKE cluster for more information.

Generally nodes are configured with both auto-upgrade and auto-repair enabled.

Making the default storage class expandable

Out-of-the-box, the standard StorageClass (default, with spinning hard drives) does not allow volume expansion. We manually enabled that feature:

kubectl patch sc standard -p '{"allowVolumeExpansion": true}'

See the blog post Resizing Persistent Volumes using Kubernetes.