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: autogen/main/README.md
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,16 @@
1
1
# Terraform Kubernetes Engine Module
2
2
3
-
This module handles opinionated Google Cloud Platform Kubernetes Engine cluster creation and configuration with Node Pools, IP MASQ, Network Policy, etc.{% if private_cluster %} This particular submodule creates a [private cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters){% endif %}{% if beta_cluster %}Beta features are enabled in this submodule.{% endif %}
3
+
This module handles opinionated Google Cloud Platform Kubernetes Engine cluster creation and configuration with Node Pools, {% if autopilot_cluster != true%}IP MASQ, {% endif %}Network Policy, etc.{% if private_cluster %} This particular submodule creates a [private cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters){% endif %}{% if beta_cluster %}Beta features are enabled in this submodule.{% endif %}
4
4
5
5
The resources/services/activations/deletions that this module will create/trigger are:
6
6
7
7
- Create a GKE cluster with the provided addons
8
8
- Create GKE Node Pool(s) with provided configuration and attach to cluster
9
9
- Replace the default kube-dns configmap if `stub_domains` are provided
10
10
- Activate network policy if `network_policy` is true
11
+
{% if autopilot_cluster != true%}
11
12
- Add `ip-masq-agent` configmap with provided `non_masquerade_cidrs` if `configure_ip_masq` is true
13
+
{% endif %}
12
14
13
15
Sub modules are provided for creating private clusters, beta private clusters, and beta public clusters as well. Beta sub modules allow for the use of various GKE beta features. See the modules directory for the various sub modules.
description = "Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server."
434
435
default = false
435
436
}
437
+
{% endif %}
436
438
437
439
{% if beta_cluster and autopilot_cluster != true%}
Copy file name to clipboardExpand all lines: modules/beta-autopilot-private-cluster/README.md
+1-6Lines changed: 1 addition & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,12 @@
1
1
# Terraform Kubernetes Engine Module
2
2
3
-
This module handles opinionated Google Cloud Platform Kubernetes Engine cluster creation and configuration with Node Pools, IP MASQ, Network Policy, etc. This particular submodule creates a [private cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters)Beta features are enabled in this submodule.
3
+
This module handles opinionated Google Cloud Platform Kubernetes Engine cluster creation and configuration with Node Pools, Network Policy, etc. This particular submodule creates a [private cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters)Beta features are enabled in this submodule.
4
4
The resources/services/activations/deletions that this module will create/trigger are:
5
5
6
6
- Create a GKE cluster with the provided addons
7
7
- Create GKE Node Pool(s) with provided configuration and attach to cluster
8
8
- Replace the default kube-dns configmap if `stub_domains` are provided
9
9
- Activate network policy if `network_policy` is true
10
-
- Add `ip-masq-agent` configmap with provided `non_masquerade_cidrs` if `configure_ip_masq` is true
11
10
12
11
Sub modules are provided for creating private clusters, beta private clusters, and beta public clusters as well. Beta sub modules allow for the use of various GKE beta features. See the modules directory for the various sub modules.
13
12
@@ -83,7 +82,6 @@ Then perform the following commands on the root folder:
83
82
| boot\_disk\_kms\_key | The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool, if not overridden in `node_pools`. This should be of the form projects/[KEY\_PROJECT\_ID]/locations/[LOCATION]/keyRings/[RING\_NAME]/cryptoKeys/[KEY\_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption|`string`|`null`| no |
84
83
| cluster\_ipv4\_cidr | The IP address range of the kubernetes pods in this cluster. Default is an automatically assigned CIDR. |`string`|`null`| no |
85
84
| cluster\_resource\_labels | The GCE resource labels (a map of key/value pairs) to be applied to the cluster |`map(string)`|`{}`| no |
86
-
| configure\_ip\_masq | Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server. |`bool`|`false`| no |
87
85
| create\_service\_account | Defines if service account specified to run nodes should be created. |`bool`|`true`| no |
88
86
| database\_encryption | Application-layer Secrets Encryption settings. The object format is {state = string, key\_name = string}. Valid values of state are: "ENCRYPTED"; "DECRYPTED". key\_name is the name of a CloudKMS key. |`list(object({ state = string, key_name = string }))`| <pre>[<br> {<br> "key_name": "",<br> "state": "DECRYPTED"<br> }<br>]</pre> | no |
89
87
| deletion\_protection | Whether or not to allow Terraform to destroy the cluster. |`bool`|`true`| no |
@@ -121,8 +119,6 @@ Then perform the following commands on the root folder:
121
119
| http\_load\_balancing | Enable httpload balancer addon |`bool`|`true`| no |
122
120
| identity\_namespace | The workload pool to attach all Kubernetes service accounts to. (Default value of `enabled` automatically sets project-based pool `[project_id].svc.id.goog`) |`string`|`"enabled"`| no |
123
121
| insecure\_kubelet\_readonly\_port\_enabled | Whether or not to set `insecure_kubelet_readonly_port_enabled` for node pool defaults and autopilot clusters. |`bool`|`null`| no |
124
-
| ip\_masq\_link\_local | Whether to masquerade traffic to the link-local prefix (169.254.0.0/16). |`bool`|`false`| no |
125
-
| ip\_masq\_resync\_interval | The interval at which the agent attempts to sync its ConfigMap file from the disk. |`string`|`"60s"`| no |
126
122
| ip\_range\_pods | The _name_ of the secondary subnet ip range to use for pods |`string`| n/a | yes |
127
123
| ip\_range\_services | The _name_ of the secondary subnet range to use for services |`string`| n/a | yes |
128
124
| issue\_client\_certificate | Issues a client certificate to authenticate to the cluster endpoint. To maximize the security of your cluster, leave this option disabled. Client certificates don't automatically rotate and aren't easily revocable. WARNING: changing this after cluster creation is destructive! |`bool`|`false`| no |
@@ -142,7 +138,6 @@ Then perform the following commands on the root folder:
142
138
| network\_project\_id | The project ID of the shared VPC's host (for shared vpc support) |`string`|`""`| no |
143
139
| network\_tags | (Optional) - List of network tags applied to auto-provisioned node pools. |`list(string)`|`[]`| no |
144
140
| node\_pools\_cgroup\_mode | Specifies the Linux cgroup mode for autopilot Kubernetes nodes in the cluster. Accepted values are `CGROUP_MODE_UNSPECIFIED`, `CGROUP_MODE_V1`, and `CGROUP_MODE_V2`, which determine the control group hierarchy used for resource management. |`string`|`null`| no |
145
-
| non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. |`list(string)`| <pre>[<br> "10.0.0.0/8",<br> "172.16.0.0/12",<br> "192.168.0.0/16"<br>]</pre> | no |
146
141
| notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. |`string`|`""`| no |
147
142
| notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. |`list(string)`|`[]`| no |
148
143
| private\_endpoint\_subnetwork | The subnetwork to use for the hosted master network. |`string`|`null`| no |
Copy file name to clipboardExpand all lines: modules/beta-autopilot-private-cluster/metadata.yaml
-19Lines changed: 0 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -240,25 +240,6 @@ spec:
240
240
description: (Optional) - List of network tags applied to auto-provisioned node pools.
241
241
varType: list(string)
242
242
defaultValue: []
243
-
- name: non_masquerade_cidrs
244
-
description: List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading.
245
-
varType: list(string)
246
-
defaultValue:
247
-
- 10.0.0.0/8
248
-
- 172.16.0.0/12
249
-
- 192.168.0.0/16
250
-
- name: ip_masq_resync_interval
251
-
description: The interval at which the agent attempts to sync its ConfigMap file from the disk.
252
-
varType: string
253
-
defaultValue: 60s
254
-
- name: ip_masq_link_local
255
-
description: Whether to masquerade traffic to the link-local prefix (169.254.0.0/16).
256
-
varType: bool
257
-
defaultValue: false
258
-
- name: configure_ip_masq
259
-
description: Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server.
260
-
varType: bool
261
-
defaultValue: false
262
243
- name: create_service_account
263
244
description: Defines if service account specified to run nodes should be created.
description="The interval at which the agent attempts to sync its ConfigMap file from the disk."
219
-
default="60s"
220
-
}
221
-
222
-
variable"ip_masq_link_local" {
223
-
type=bool
224
-
description="Whether to masquerade traffic to the link-local prefix (169.254.0.0/16)."
225
-
default=false
226
-
}
227
-
228
-
variable"configure_ip_masq" {
229
-
type=bool
230
-
description="Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server."
Copy file name to clipboardExpand all lines: modules/beta-autopilot-public-cluster/README.md
+1-6Lines changed: 1 addition & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,12 @@
1
1
# Terraform Kubernetes Engine Module
2
2
3
-
This module handles opinionated Google Cloud Platform Kubernetes Engine cluster creation and configuration with Node Pools, IP MASQ, Network Policy, etc.Beta features are enabled in this submodule.
3
+
This module handles opinionated Google Cloud Platform Kubernetes Engine cluster creation and configuration with Node Pools, Network Policy, etc.Beta features are enabled in this submodule.
4
4
The resources/services/activations/deletions that this module will create/trigger are:
5
5
6
6
- Create a GKE cluster with the provided addons
7
7
- Create GKE Node Pool(s) with provided configuration and attach to cluster
8
8
- Replace the default kube-dns configmap if `stub_domains` are provided
9
9
- Activate network policy if `network_policy` is true
10
-
- Add `ip-masq-agent` configmap with provided `non_masquerade_cidrs` if `configure_ip_masq` is true
11
10
12
11
Sub modules are provided for creating private clusters, beta private clusters, and beta public clusters as well. Beta sub modules allow for the use of various GKE beta features. See the modules directory for the various sub modules.
13
12
@@ -77,7 +76,6 @@ Then perform the following commands on the root folder:
77
76
| boot\_disk\_kms\_key | The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool, if not overridden in `node_pools`. This should be of the form projects/[KEY\_PROJECT\_ID]/locations/[LOCATION]/keyRings/[RING\_NAME]/cryptoKeys/[KEY\_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption|`string`|`null`| no |
78
77
| cluster\_ipv4\_cidr | The IP address range of the kubernetes pods in this cluster. Default is an automatically assigned CIDR. |`string`|`null`| no |
79
78
| cluster\_resource\_labels | The GCE resource labels (a map of key/value pairs) to be applied to the cluster |`map(string)`|`{}`| no |
80
-
| configure\_ip\_masq | Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server. |`bool`|`false`| no |
81
79
| create\_service\_account | Defines if service account specified to run nodes should be created. |`bool`|`true`| no |
82
80
| database\_encryption | Application-layer Secrets Encryption settings. The object format is {state = string, key\_name = string}. Valid values of state are: "ENCRYPTED"; "DECRYPTED". key\_name is the name of a CloudKMS key. |`list(object({ state = string, key_name = string }))`| <pre>[<br> {<br> "key_name": "",<br> "state": "DECRYPTED"<br> }<br>]</pre> | no |
83
81
| deletion\_protection | Whether or not to allow Terraform to destroy the cluster. |`bool`|`true`| no |
@@ -112,8 +110,6 @@ Then perform the following commands on the root folder:
112
110
| http\_load\_balancing | Enable httpload balancer addon |`bool`|`true`| no |
113
111
| identity\_namespace | The workload pool to attach all Kubernetes service accounts to. (Default value of `enabled` automatically sets project-based pool `[project_id].svc.id.goog`) |`string`|`"enabled"`| no |
114
112
| insecure\_kubelet\_readonly\_port\_enabled | Whether or not to set `insecure_kubelet_readonly_port_enabled` for node pool defaults and autopilot clusters. |`bool`|`null`| no |
115
-
| ip\_masq\_link\_local | Whether to masquerade traffic to the link-local prefix (169.254.0.0/16). |`bool`|`false`| no |
116
-
| ip\_masq\_resync\_interval | The interval at which the agent attempts to sync its ConfigMap file from the disk. |`string`|`"60s"`| no |
117
113
| ip\_range\_pods | The _name_ of the secondary subnet ip range to use for pods |`string`| n/a | yes |
118
114
| ip\_range\_services | The _name_ of the secondary subnet range to use for services |`string`| n/a | yes |
119
115
| issue\_client\_certificate | Issues a client certificate to authenticate to the cluster endpoint. To maximize the security of your cluster, leave this option disabled. Client certificates don't automatically rotate and aren't easily revocable. WARNING: changing this after cluster creation is destructive! |`bool`|`false`| no |
@@ -131,7 +127,6 @@ Then perform the following commands on the root folder:
131
127
| network\_project\_id | The project ID of the shared VPC's host (for shared vpc support) |`string`|`""`| no |
132
128
| network\_tags | (Optional) - List of network tags applied to auto-provisioned node pools. |`list(string)`|`[]`| no |
133
129
| node\_pools\_cgroup\_mode | Specifies the Linux cgroup mode for autopilot Kubernetes nodes in the cluster. Accepted values are `CGROUP_MODE_UNSPECIFIED`, `CGROUP_MODE_V1`, and `CGROUP_MODE_V2`, which determine the control group hierarchy used for resource management. |`string`|`null`| no |
134
-
| non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. |`list(string)`| <pre>[<br> "10.0.0.0/8",<br> "172.16.0.0/12",<br> "192.168.0.0/16"<br>]</pre> | no |
135
130
| notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. |`string`|`""`| no |
136
131
| notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. |`list(string)`|`[]`| no |
137
132
| project\_id | The project ID to host the cluster in (required) |`string`| n/a | yes |
Copy file name to clipboardExpand all lines: modules/beta-autopilot-public-cluster/metadata.yaml
-19Lines changed: 0 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -240,25 +240,6 @@ spec:
240
240
description: (Optional) - List of network tags applied to auto-provisioned node pools.
241
241
varType: list(string)
242
242
defaultValue: []
243
-
- name: non_masquerade_cidrs
244
-
description: List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading.
245
-
varType: list(string)
246
-
defaultValue:
247
-
- 10.0.0.0/8
248
-
- 172.16.0.0/12
249
-
- 192.168.0.0/16
250
-
- name: ip_masq_resync_interval
251
-
description: The interval at which the agent attempts to sync its ConfigMap file from the disk.
252
-
varType: string
253
-
defaultValue: 60s
254
-
- name: ip_masq_link_local
255
-
description: Whether to masquerade traffic to the link-local prefix (169.254.0.0/16).
256
-
varType: bool
257
-
defaultValue: false
258
-
- name: configure_ip_masq
259
-
description: Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server.
260
-
varType: bool
261
-
defaultValue: false
262
243
- name: create_service_account
263
244
description: Defines if service account specified to run nodes should be created.
0 commit comments