Skip to content

Upgrade Kubernetes Version

Changing version on an existing kupe_cluster resource triggers an in-place Kubernetes upgrade rather than a replacement.

resource "kupe_cluster" "prod" {
name = "prod"
version = "1.32" # upgraded from 1.31
}
Terminal window
terraform plan
terraform apply

terraform apply waits, up to the update timeout (15 minutes unless the timeouts attribute sets another, for example timeouts = { update = "30m" }), until the cluster is Running with the change applied: its status.observedGeneration has reached the generation the change produced. The apply fails at once if the cluster starts being deleted (Terminating), and fails if the cluster stays Degraded for 2 minutes after the platform applied the change. A cluster that was Degraded before the change gets the chance to recover with it.

If the timeout runs out first, the apply fails while the cluster is Degraded after the platform applied the change, or while the platform is failing to apply the change and retrying. Otherwise the apply ends with a warning, the platform carries on in the background, and a later terraform apply records the result. The change is in state either way, so applying again does not send it again.

While you wait, follow the phase in the console or with the kupe_cluster data source.

For the underlying lifecycle and rollback considerations, see Upgrade Clusters.