🛠️ Cluster Management
Important
All resources should be modified using only Terraform and not using the dashboard. Modifying resources via the dashboard puts the state at risk of becoming out of sync and hard to manage across multiple members.
Once the cluster is running, it's worth understanding the general setup in case we need to scale up, modify the underlying hardware or verify the health of the cluster.
Cluster version upgrades
To upgrade the cluster version, open up production.tfvars and staging.tfvars. There will be a value called k8s_cluster_version. You can find relevant releases and patch versions here.
You can view and apply the plan with:
terraform [plan/apply] -var-file=staging.tfvars
Node locations
For HA (high availability), the master nodes (control plane) are managed by Google and the worker nodes (data plane) are controlled by us using node pools.

In the above we have:
- Control plane managed by Google in a separate VPC that is peered with our cluster VPC
- Data plane managed by us with 1 node per zone across 2 zones
Let's understand how this maps in Terraform
The highlighted section above determines what machine type to use:
- Staging:
e2-medium - Production:
c2-standard-4
The worker_node_count corresponds to how many workers per zone are configured. The zone locations are defined by the node_locations.
If you have 3 zones for node_locations and worker_node_count is set to 3 then you would have a total of 9 worker nodes.
To scale up the cluster or adjust hardware, etc. You just simply need to modify the variables used in [staging,production].tfvars and reapply the plan via make apply.
Healthchecks
You can verify the health of the OTFE services by hitting the healthcheck directly.
Certificate Renewal
For certificate renewal, we rely on Jetstack to auto rotate certs based on the expiry of the certificate. However, if you want verify the cert details, we can do so via Kubernetes with the following commands.
Retrieve certificate resource information
View certificate expiration
Force auto-renew certificate
Important
You shouldn't need to run this manually ever as we rely on Jetstack to handle auto-rotation, but I will add for reference in case there is an issue with cert rotation.