-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into fix/remove-label-keeper
- Loading branch information
Showing
194 changed files
with
4,639 additions
and
1,749 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,10 +12,14 @@ Sub modules are provided for creating private clusters, beta private clusters, a | |
|
||
## Compatibility | ||
|
||
This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. | ||
If you find incompatibilities using Terraform `>=0.13`, please open an issue. | ||
This module is meant for use with Terraform 1.3+ and tested using Terraform 1.0+. | ||
If you find incompatibilities using Terraform `>=1.3`, please open an issue. | ||
|
||
If you haven't [upgraded][terraform-0.13-upgrade] and need a Terraform | ||
If you haven't [upgraded to 1.3][terraform-1.3-upgrade] and need a Terraform | ||
0.13.x-compatible version of this module, the last released version | ||
intended for Terraform 0.13.x is [27.0.0]. | ||
|
||
If you haven't [upgraded to 0.13][terraform-0.13-upgrade] and need a Terraform | ||
0.12.x-compatible version of this module, the last released version | ||
intended for Terraform 0.12.x is [12.3.0]. | ||
|
||
|
@@ -61,6 +65,7 @@ module "gke" { | |
image_type = "COS_CONTAINERD" | ||
enable_gcfs = false | ||
enable_gvnic = false | ||
logging_variant = "DEFAULT" | ||
auto_repair = true | ||
auto_upgrade = true | ||
service_account = "project-service-account@<PROJECT ID>.iam.gserviceaccount.com" | ||
|
@@ -130,13 +135,15 @@ Then perform the following commands on the root folder: | |
| add\_cluster\_firewall\_rules | Create additional firewall rules | `bool` | `false` | no | | ||
| add\_master\_webhook\_firewall\_rules | Create master\_webhook firewall rules for ports defined in `firewall_inbound_ports` | `bool` | `false` | no | | ||
| add\_shadow\_firewall\_rules | Create GKE shadow firewall (the same as default firewall rules with firewall logs enabled). | `bool` | `false` | no | | ||
| additional\_ip\_range\_pods | List of _names_ of the additional secondary subnet ip ranges to use for pods | `list(string)` | `[]` | no | | ||
| authenticator\_security\_group | The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format [email protected] | `string` | `null` | no | | ||
| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) | <pre>object({<br> enabled = bool<br> min_cpu_cores = number<br> max_cpu_cores = number<br> min_memory_gb = number<br> max_memory_gb = number<br> gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))<br> auto_repair = bool<br> auto_upgrade = bool<br> })</pre> | <pre>{<br> "auto_repair": true,<br> "auto_upgrade": true,<br> "enabled": false,<br> "gpu_resources": [],<br> "max_cpu_cores": 0,<br> "max_memory_gb": 0,<br> "min_cpu_cores": 0,<br> "min_memory_gb": 0<br>}</pre> | no | | ||
| cluster\_autoscaling | Cluster autoscaling configuration. See [more details](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#clusterautoscaling) | <pre>object({<br> enabled = bool<br> min_cpu_cores = number<br> max_cpu_cores = number<br> min_memory_gb = number<br> max_memory_gb = number<br> gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number }))<br> auto_repair = bool<br> auto_upgrade = bool<br> disk_size = optional(number)<br> disk_type = optional(string)<br> })</pre> | <pre>{<br> "auto_repair": true,<br> "auto_upgrade": true,<br> "disk_size": 100,<br> "disk_type": "pd-standard",<br> "enabled": false,<br> "gpu_resources": [],<br> "max_cpu_cores": 0,<br> "max_memory_gb": 0,<br> "min_cpu_cores": 0,<br> "min_memory_gb": 0<br>}</pre> | no | | ||
| cluster\_dns\_domain | The suffix used for all cluster service records. | `string` | `""` | no | | ||
| cluster\_dns\_provider | Which in-cluster DNS provider should be used. PROVIDER\_UNSPECIFIED (default) or PLATFORM\_DEFAULT or CLOUD\_DNS. | `string` | `"PROVIDER_UNSPECIFIED"` | no | | ||
| cluster\_dns\_scope | The scope of access to cluster DNS records. DNS\_SCOPE\_UNSPECIFIED (default) or CLUSTER\_SCOPE or VPC\_SCOPE. | `string` | `"DNS_SCOPE_UNSPECIFIED"` | no | | ||
| cluster\_ipv4\_cidr | The IP address range of the kubernetes pods in this cluster. Default is an automatically assigned CIDR. | `string` | `null` | no | | ||
| cluster\_resource\_labels | The GCE resource labels (a map of key/value pairs) to be applied to the cluster | `map(string)` | `{}` | no | | ||
| config\_connector | Whether ConfigConnector is enabled for this cluster. | `bool` | `false` | no | | ||
| 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 | | ||
| create\_service\_account | Defines if service account specified to run nodes should be created. | `bool` | `true` | no | | ||
| 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 | | ||
|
@@ -149,6 +156,7 @@ Then perform the following commands on the root folder: | |
| enable\_binary\_authorization | Enable BinAuthZ Admission controller | `bool` | `false` | no | | ||
| 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 | | ||
| 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 | | ||
| 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 | | ||
| 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 | | ||
| 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 | | ||
| enable\_shielded\_nodes | Enable Shielded Nodes features on all nodes in this cluster | `bool` | `true` | no | | ||
|
@@ -158,6 +166,7 @@ Then perform the following commands on the root folder: | |
| firewall\_priority | Priority rule for firewall rules | `number` | `1000` | no | | ||
| gateway\_api\_channel | The gateway api channel of this cluster. Accepted values are `CHANNEL_STANDARD` and `CHANNEL_DISABLED`. | `string` | `null` | no | | ||
| gce\_pd\_csi\_driver | Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. | `bool` | `true` | no | | ||
| gcs\_fuse\_csi\_driver | Whether GCE FUSE CSI driver is enabled for this cluster. | `bool` | `false` | no | | ||
| gke\_backup\_agent\_config | Whether Backup for GKE agent is enabled for this cluster. | `bool` | `false` | no | | ||
| grant\_registry\_access | Grants created cluster-specific service account storage.objectViewer and artifactregistry.reader roles. | `bool` | `false` | no | | ||
| horizontal\_pod\_autoscaling | Enable horizontal pod autoscaling addon | `bool` | `true` | no | | ||
|
@@ -231,6 +240,7 @@ Then perform the following commands on the root folder: | |
| logging\_service | Logging service used | | ||
| master\_authorized\_networks\_config | Networks from which access to master is permitted | | ||
| master\_version | Current master kubernetes version | | ||
| mesh\_certificates\_config | Mesh certificates configuration | | ||
| min\_master\_version | Minimum master kubernetes version | | ||
| monitoring\_service | Monitoring service used | | ||
| name | Cluster name | | ||
|
@@ -271,6 +281,7 @@ The node_pools variable takes the following parameters: | |
| image_type | The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool | COS_CONTAINERD | Optional | | ||
| initial_node_count | The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource. Defaults to the value of min_count | " " | Optional | | ||
| key | The key required for the taint | | Required | | ||
| logging_variant | The type of logging agent that is deployed by default for newly created node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT. | DEFAULT | Optional | | ||
| local_ssd_count | The amount of local SSD disks that will be attached to each cluster node and may be used as a `hostpath` volume or a `local` PersistentVolume. | 0 | Optional | | ||
| machine_type | The name of a Google Compute Engine machine type | e2-medium | Optional | | ||
| min_cpu_platform | Minimum CPU platform to be used by the nodes in the pool. The nodes may be scheduled on the specified or newer CPU platform. | " " | Optional | | ||
|
@@ -317,7 +328,7 @@ The [project factory](https://github.com/terraform-google-modules/terraform-goog | |
#### Kubectl | ||
- [kubectl](https://github.com/kubernetes/kubernetes/releases) 1.9.x | ||
#### Terraform and Plugins | ||
- [Terraform](https://www.terraform.io/downloads.html) 0.13+ | ||
- [Terraform](https://www.terraform.io/downloads.html) 1.3+ | ||
- [Terraform Provider for GCP][terraform-provider-google] v4.51 | ||
#### gcloud | ||
Some submodules use the [terraform-google-gcloud](https://github.com/terraform-google-modules/terraform-google-gcloud) module. By default, this module assumes you already have gcloud installed in your $PATH. | ||
|
@@ -346,3 +357,4 @@ In order to operate with the Service Account you must activate the following API | |
[terraform-provider-google]: https://github.com/terraform-providers/terraform-provider-google | ||
[12.3.0]: https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/12.3.0 | ||
[terraform-0.13-upgrade]: https://www.terraform.io/upgrade-guides/0-13.html | ||
[terraform-1.3-upgrade]: https://developer.hashicorp.com/terraform/language/v1.3.x/upgrade-guides |
Oops, something went wrong.