Skip to content

Commit e4223ac

Browse files
authored
feat: add support for multi networking (#2385)
Signed-off-by: drfaust92 <[email protected]>
1 parent 069d32c commit e4223ac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+143
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ Then perform the following commands on the root folder:
178178
| enable\_kubernetes\_alpha | Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days. | `bool` | `false` | no |
179179
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
180180
| enable\_mesh\_certificates | Controls the issuance of workload mTLS certificates. When enabled the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster. Requires Workload Identity. | `bool` | `false` | no |
181+
| enable\_multi\_networking | Whether multi-networking is enabled for this cluster | `bool` | `null` | no |
181182
| enable\_network\_egress\_export | Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic. | `bool` | `false` | no |
182183
| enable\_resource\_consumption\_export | Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. | `bool` | `true` | no |
183184
| enable\_secret\_manager\_addon | Enable the Secret Manager add-on for this cluster | `bool` | `false` | no |

autogen/main/cluster.tf.tmpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@ resource "google_container_cluster" "primary" {
253253

254254
disable_l4_lb_firewall_reconciliation = var.disable_l4_lb_firewall_reconciliation
255255

256+
enable_multi_networking = var.enable_multi_networking
257+
256258
enable_cilium_clusterwide_network_policy = var.enable_cilium_clusterwide_network_policy
257259

258260
in_transit_encryption_config = var.in_transit_encryption_config

autogen/main/variables.tf.tmpl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,6 +1016,12 @@ variable "disable_l4_lb_firewall_reconciliation" {
10161016
description = "Disable L4 Load Balancer firewall reconciliation"
10171017
default = null
10181018
}
1019+
1020+
variable "enable_multi_networking" {
1021+
type = bool
1022+
description = "Whether multi-networking is enabled for this cluster"
1023+
default = null
1024+
}
10191025
{% if beta_cluster %}
10201026
{% if autopilot_cluster != true %}
10211027

cluster.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ resource "google_container_cluster" "primary" {
192192

193193
disable_l4_lb_firewall_reconciliation = var.disable_l4_lb_firewall_reconciliation
194194

195+
enable_multi_networking = var.enable_multi_networking
196+
195197
enable_cilium_clusterwide_network_policy = var.enable_cilium_clusterwide_network_policy
196198

197199
in_transit_encryption_config = var.in_transit_encryption_config

metadata.display.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ spec:
141141
enable_mesh_certificates:
142142
name: enable_mesh_certificates
143143
title: Enable Mesh Certificates
144+
enable_multi_networking:
145+
name: enable_multi_networking
146+
title: Enable Multi Networking
144147
enable_network_egress_export:
145148
name: enable_network_egress_export
146149
title: Enable Network Egress Export

metadata.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -712,6 +712,9 @@ spec:
712712
- name: disable_l4_lb_firewall_reconciliation
713713
description: Disable L4 Load Balancer firewall reconciliation
714714
varType: bool
715+
- name: enable_multi_networking
716+
description: Whether multi-networking is enabled for this cluster
717+
varType: bool
715718
- name: enable_identity_service
716719
description: (Optional) Enable the Identity Service component, which allows customers to use external identity providers with the K8S API.
717720
varType: bool

modules/beta-autopilot-private-cluster/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ Then perform the following commands on the root folder:
9797
| enable\_cost\_allocation | Enables Cost Allocation Feature and the cluster name and namespace of your GKE workloads appear in the labels field of the billing export to BigQuery | `bool` | `false` | no |
9898
| enable\_fqdn\_network\_policy | Enable FQDN Network Policies on the cluster | `bool` | `null` | no |
9999
| enable\_l4\_ilb\_subsetting | Enable L4 ILB Subsetting on the cluster | `bool` | `false` | no |
100+
| enable\_multi\_networking | Whether multi-networking is enabled for this cluster | `bool` | `null` | no |
100101
| enable\_network\_egress\_export | Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic. | `bool` | `false` | no |
101102
| enable\_private\_endpoint | Whether the master's internal IP address is used as the cluster endpoint | `bool` | `false` | no |
102103
| enable\_private\_nodes | Whether nodes have internal IP addresses only | `bool` | `true` | no |

modules/beta-autopilot-private-cluster/cluster.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ resource "google_container_cluster" "primary" {
112112

113113
disable_l4_lb_firewall_reconciliation = var.disable_l4_lb_firewall_reconciliation
114114

115+
enable_multi_networking = var.enable_multi_networking
116+
115117
enable_cilium_clusterwide_network_policy = var.enable_cilium_clusterwide_network_policy
116118

117119
in_transit_encryption_config = var.in_transit_encryption_config

modules/beta-autopilot-private-cluster/metadata.display.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ spec:
103103
enable_l4_ilb_subsetting:
104104
name: enable_l4_ilb_subsetting
105105
title: Enable L4 Ilb Subsetting
106+
enable_multi_networking:
107+
name: enable_multi_networking
108+
title: Enable Multi Networking
106109
enable_network_egress_export:
107110
name: enable_network_egress_export
108111
title: Enable Network Egress Export

modules/beta-autopilot-private-cluster/metadata.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,9 @@ spec:
461461
- name: disable_l4_lb_firewall_reconciliation
462462
description: Disable L4 Load Balancer firewall reconciliation
463463
varType: bool
464+
- name: enable_multi_networking
465+
description: Whether multi-networking is enabled for this cluster
466+
varType: bool
464467
- name: allow_net_admin
465468
description: (Optional) Enable NET_ADMIN for the cluster.
466469
varType: bool

0 commit comments

Comments
 (0)