You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/upgrading_to_v20.0.md
+21-2Lines changed: 21 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,5 +6,24 @@ release for the Anthos Service Mesh (ASM) module.
6
6
### ASM module rewrite
7
7
8
8
The [ASM submodule](https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/tree/master/modules/asm) has been rewritten to use the `ControlPlaneRevision` API to provision
9
-
a managed control plane rather than using an installer script. Due to the drastic difference in implementation the module does not support an upgrade path
10
-
from the previous version.
9
+
a managed control plane rather than using an installer script. Due to implementation differences, there are migration steps required to safely move from
10
+
an installation performed with the old module to using the new module. **NOTE:** these migration steps are best-effort and have not been tested against all possible ASM configurations.
11
+
12
+
1. Run `terraform state rm module.asm`
13
+
2. Update the module version to v20.0
14
+
3. Import the system namespace into the new module with `terraform import module.asm.kubernetes_namespace.system istio-system`
15
+
4. Run `terraform apply`
16
+
17
+
There should be two ASM revisions present at this point (in-cluster or managed, depending on whether the previous installation was managed). Now,
18
+
we must perform a canary upgrade to move workloads onto the new ASM revision. To do this:
19
+
20
+
1. Relabel namespaces to use the revision label from the managed revision (`asm-managed`, `asm-managed-stable`, or `asm-managed-rapid`)
21
+
2. Rollout workloads in those namespaces to get them onto the new ASM version
22
+
3.[Optional] Remove the previous revision with `istioctl x uninstall --revision ...` (if the previous installation was in-cluster)
23
+
24
+
25
+
#### Migrating options
26
+
27
+
Another difference from the previous module is that the new ASM module does not provide variables for option configuration (e.g. `custom_overlay`, `options`). For the new version these should be managed separately
28
+
outside the module. This is because those options were tightly coupled to pulling down an installer which the new module does not do. To use options specified in the previous module with the new module find the corresponding configuration [here](https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages/tree/main/asm/istio/options) and move the
29
+
config to the mesh configuration for the managed revision.
Copy file name to clipboardExpand all lines: modules/asm/README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,8 @@ To deploy this config:
35
35
| cluster\_location | The cluster location for this ASM installation. |`string`| n/a | yes |
36
36
| cluster\_name | The unique name to identify the cluster in ASM. |`string`| n/a | yes |
37
37
| enable\_cni | Determines whether to enable CNI for this ASM installation. Required to use Managed Data Plane (MDP). |`bool`|`false`| no |
38
+
| enable\_fleet\_registration | Determines whether the module enables the mesh feature on the fleet. |`bool`|`false`| no |
39
+
| enable\_mesh\_feature | Determines whether the module registers the cluster to the fleet. |`bool`|`false`| no |
38
40
| enable\_vpc\_sc | Determines whether to enable VPC-SC for this ASM installation. For more information read https://cloud.google.com/service-mesh/docs/managed/vpc-sc|`bool`|`false`| no |
39
41
| fleet\_id | The fleet to use for this ASM installation. |`string`|`""`| no |
40
42
| multicluster\_mode |[Preview] Determines whether remote secrets should be autogenerated across fleet cluster. |`string`|`"manual"`| no |
0 commit comments