-
Notifications
You must be signed in to change notification settings - Fork 826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GKE Standard/Terraform] Cluster nodes aren't upgrading with the control plane #3339
Comments
Digging in, I'm not 100% sure that TF will actually upgrade the nodes that exist (it's possible that Looking at: hashicorp/terraform-provider-google#10895 (and https://developer.hashicorp.com/terraform/language/meta-arguments/lifecycle) it gives me the idea that we should put the kubernetes version in the nodepool name, so that on upgrades a new node pool would get created with the new version, and then delete the old one - migrating the pods across. Not quite as nice as a rolling update within a node pool, but it's a thought at least. |
Transcribing interesting comment from chat:
|
Reading the above docs (which have a great example), yep - looks like the GKE terraform should be changed to |
Per the docs: "...node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster." Which is not great - since you can end up with out-of-sync K8s versions between the control plane and nodes, an inability to change nodepool sizes and just a general lack of flexibility. Moving the node pool definitions out of the cluster definition solves this issue! Closes googleforgames#3339
Per the docs: "...node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster." Which is not great - since you can end up with out-of-sync K8s versions between the control plane and nodes, an inability to change nodepool sizes and just a general lack of flexibility. Moving the node pool definitions out of the cluster definition solves this issue! Closes #3339 Co-authored-by: Mengye (Max) Gong <[email protected]>
What happened:
terraform apply
the GKE Terraform modules repeatedly over multiple Agones versions, I am noticing that while my Kubernetes control plane version is updating, the nodes aren't being updated.Noticed this in the Global Scale Game demo: googleforgames/global-multiplayer-demo#190 my Control Plane was
1.27.3-gke.100
but my nodes, created a while ago remained on1.24.9-gke.3200
.This is the source: https://github.com/googleforgames/global-multiplayer-demo/blob/main/infrastructure/agones-gke.tf
This doesn't seem to be an issue with Autopilot.
What you expected to happen:
Nodes to be upgraded with the Control Plane.
How to reproduce it (as minimally and precisely as possible):
Create a cluster with the Terraform module with an older version set of Kuberntes, then change the Kubernetes version and apply again. The node version won't change.
Anything else we need to know?:
Environment:
kubectl version
): 1.27.xThe text was updated successfully, but these errors were encountered: