Once a Google Kubernetes Engine cluster is running, four settings decide how well it looks after itself. The maintenance window controls when Google is allowed to upgrade and repair it. The cluster autoscaler controls how many machines it runs, and so what it costs. Logging and monitoring decide whether you can see what is happening inside it. And node auto repair decides whether broken machines are fixed without you noticing.
None of these is hard to set, but each has a default that may not suit you, and each can cause trouble if switched off carelessly. A cluster that upgrades in the middle of your busiest hour, scales down too eagerly, or has no logs when something breaks is a cluster you will wish you had configured sooner.
This walks through each setting in the console and with gcloud, with the commands updated to what Google documents today.
Prerequisites:
GKE upgrades clusters and repairs nodes automatically, and a maintenance window tells it when it is allowed to do that. Without one, maintenance can happen at any time.
Open the console,
Open menu > Kubernetes > Clusters

Click your cluster to open it.

In the Automation section, click the pencil icon next to Maintenance window.

Tick Enable maintenance window, choose the time and the days, then click Save changes. To turn a window off later, untick Enable maintenance window.

This sets a six hour window every Saturday and Sunday, in UTC. The start and end times only anchor the pattern, and the recurrence repeats it. Replace the placeholders and use your cluster’s zone, which has a letter on the end, such as us-central1-c:
gcloud container clusters update CLUSTER_NAME –zone=ZONE –maintenance-window-start=2026-11-14T02:00:00Z –maintenance-window-end=2026-11-14T08:00:00Z –maintenance-window-recurrence=’FREQ=WEEKLY;BYDAY=SA,SU’
The original page wrote the flags with en dashes, used a region where a zone belongs, and set a window that ran for five days. Google’s documentation gives many examples of this form. For a regional cluster, use the region flag instead of the zone flag.

gcloud container clusters update CLUSTER_NAME –zone=ZONE –clear-maintenance-window
GKE’s cluster autoscaler resizes your node pools to match what your workloads need. You set a minimum and maximum size for each pool, and it adds or removes machines within those limits, so you do not have to add machines by hand or keep spare ones running. The autoscaling profile decides how readily it removes machines.
In the cluster, click the pencil icon next to Autoscaling profile.

Choose Optimize utilization and click Save changes.

gcloud container clusters update CLUSTER_NAME –zone=ZONE –autoscaling-profile=optimize-utilization
The original page used the beta command group, but Google’s current documentation shows this in the standard group. To go back to the default, use the value balanced. The profile only has an effect on node pools that have autoscaling switched on, as the Configuring and Expanding GKE Clusters guide in this series shows.

GKE can send your cluster’s logs to Cloud Logging and its metrics to Cloud Monitoring, which is how you find out what went wrong when something does. The original page calls this Cloud Operations for GKE, which is an old product name, and uses a command Google has deprecated.
Google’s reference says the enable stackdriver kubernetes flag is deprecated and will be removed, and tells you to use the logging and monitoring flags. This sends system logs and workload logs, and system metrics:
gcloud container clusters update CLUSTER_NAME –zone=ZONE –logging=SYSTEM,WORKLOAD –monitoring=SYSTEM

The original page also shows a command for Legacy Logging and Monitoring. Google says that Legacy Logging and Monitoring is deprecated, and I would not use it for anything new. If you meet a cluster that still uses it, plan to move it to the logging and monitoring flags above.

To turn logging and monitoring off, set the components to NONE. I have not tested this, and I would be careful, since a cluster with no logs is very hard to troubleshoot:
gcloud container clusters update CLUSTER_NAME –zone=ZONE –logging=NONE –monitoring=NONE
Node auto repair watches the health of the machines in a node pool and repairs ones that fail, so a bad machine is replaced without you having to notice it first. It is almost always worth leaving on.
gcloud container node-pools update POOL_NAME –cluster=CLUSTER_NAME –zone=ZONE –enable-autorepair

gcloud container node-pools update POOL_NAME –cluster=CLUSTER_NAME –zone=ZONE –no-enable-autorepair
Turn it off only if you have a specific reason, such as investigating a problem on a node you do not want replaced.

The original page says that an error may arise and shows a fix. It does not show the error text. Google’s reference notes that node auto upgrade is enabled by default for clusters in a release channel. The most likely cause is that GKE will not let you switch off node settings on a cluster that is enrolled in one. The fix on the original page is to open Cluster basics, click the pencil icon next to Release channel, change it to a static version, and save.

Think before you do this. A release channel is how GKE keeps your cluster up to date, and leaving it means you take on upgrades yourself. Check the exact error you get, and if you only wanted auto repair on, you do not need to change the channel at all.

In the cluster, click Nodes.

Open the node pool you want to change.

Click Edit.

Tick the Enable Auto Repair and Click Save.

That covers the four settings that decide how a GKE cluster looks after itself, with the commands brought up to date. To go further, explore Prwatech’s Google Cloud training program, which includes placement assistance.