Skip to content

Commit 0e8ff25

Browse files
authored
chore: v24 upgrade guide (terraform-google-modules#1467)
1 parent b006593 commit 0e8ff25

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

docs/upgrading_to_v24.0.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Upgrading to v24.0
2+
The v24.0 release of *kubernetes-engine* is a backwards incompatible
3+
release.
4+
5+
### master_global_access_enabled in GA private-cluster module
6+
7+
`master_global_access` is now supported in GA private-cluster module and defaults to true. To opt out, set `master_global_access_enabled` to `false`.
8+
9+
```diff
10+
module "gke" {
11+
- source = "terraform-google-modules/kubernetes-engine/google//modules/private-cluster"
12+
- version = "~> 23.0"
13+
+ source = "terraform-google-modules/kubernetes-engine/google//modules/private-cluster"
14+
+ version = "~> 24.0"
15+
...
16+
+ master_global_access_enabled = false
17+
}
18+
```
19+
20+
### Update variant random ID keepers updated
21+
22+
The v24.0 release updates the keepers for the update variant modules. This will force a recreation of the nodepools.
23+
24+
To avoid this, it is possible to edit the remote state of the `random_id` resource to add the new attributes.
25+
26+
1. Perform a `terraform plan` as normal, identifying the `random_id` resources changing and the new `max_pods_per_node` and `pod_range` attributes
27+
```tf
28+
~ keepers = { # forces replacement
29+
+ "max_pods_per_node" = ""
30+
+ "pod_range" = ""
31+
# (19 unchanged elements hidden)
32+
}
33+
# (2 unchanged attributes hidden)
34+
}
35+
```
36+
2. Pull the remote state locally: `terraform state pull > default.tfstate`
37+
1. Back up the original remote state: `cp default.tfstate original.tfstate`
38+
1. Edit the `random_id` resources to add in the new `max_pods_per_node` and `pod_range` attributes from the `terraform plan` step
39+
```diff
40+
"attributes": {
41+
"b64_std": "pool-02-vb4=",
42+
"b64_url": "pool-02-vb4",
43+
"byte_length": 2,
44+
"dec": "pool-02-48574",
45+
"hex": "pool-02-bdbe",
46+
"id": "vb4",
47+
"keepers": {
48+
...
49+
"taints": "",
50+
+ "max_pods_per_node": "",
51+
+ "pod_range": ""
52+
},
53+
"prefix": "pool-02-"
54+
}
55+
```
56+
5. Bump the serial number at the top
57+
1. Push the modified state to the remote `terraform state push default.tfstate`
58+
1. Confirm the `random_id` resource no longer changes (or the corresponding `nodepool`) in a `terraform plan`
59+
60+
### Minimum Google Provider versions
61+
62+
Minimum Google Provider versions have been updated to `4.36.0`.

0 commit comments

Comments
 (0)