fix additional pod networks config creation in GKE node pool (#3134)
* fix additional pod networks config creation * fix doc * Replicate change in gke stage --------- Co-authored-by: Julio Castillo <jccb@google.com>
This commit is contained in:
@@ -67,6 +67,7 @@ module "cluster-1-nodepool-1" {
|
||||
}
|
||||
# tftest modules=1 resources=2 inventory=create-sa.yaml
|
||||
```
|
||||
|
||||
### Node & node pool configuration
|
||||
|
||||
```hcl
|
||||
@@ -103,6 +104,7 @@ module "cluster-1-nodepool-1" {
|
||||
}
|
||||
# tftest modules=1 resources=2 inventory=config.yaml
|
||||
```
|
||||
|
||||
### GPU Node & node pool configuration
|
||||
|
||||
```hcl
|
||||
@@ -137,7 +139,8 @@ module "cluster-1-nodepool-gpu-1" {
|
||||
# tftest modules=1 resources=2 inventory=guest-accelerator.yaml
|
||||
```
|
||||
|
||||
### Dynamic Workload Scheduler (DWS) & node pool configuration
|
||||
### Dynamic Workload Scheduler (DWS) & node pool configuration
|
||||
|
||||
This example uses Dynamic Workload Scheduler (DWS) to configure a GPU nodepool.
|
||||
|
||||
```hcl
|
||||
@@ -198,7 +201,7 @@ module "cluster-1-nodepool-dws" {
|
||||
| [labels](variables.tf#L41) | The resource labels to be applied each node (vm). | <code>map(string)</code> | | <code>{}</code> |
|
||||
| [max_pods_per_node](variables.tf#L53) | Maximum number of pods per node. | <code>number</code> | | <code>null</code> |
|
||||
| [name](variables.tf#L59) | Optional nodepool name. | <code>string</code> | | <code>null</code> |
|
||||
| [network_config](variables.tf#L65) | Network configuration. | <code title="object({ enable_private_nodes = optional(bool) pod_range = optional(object({ cidr = optional(string) create = optional(bool, false) name = optional(string) }), {}) additional_node_network_configs = optional(list(object({ network = string subnetwork = string })), []) additional_pod_network_config = optional(list(object({ subnetwork = string secondary_pod_range = string max_pods_per_node = string })), []) total_egress_bandwidth_tier = optional(string) pod_cidr_overprovisioning_disabled = optional(bool, false) })">object({…})</code> | | <code>null</code> |
|
||||
| [network_config](variables.tf#L65) | Network configuration. | <code title="object({ enable_private_nodes = optional(bool) pod_range = optional(object({ cidr = optional(string) create = optional(bool, false) name = optional(string) }), {}) additional_node_network_configs = optional(list(object({ network = string subnetwork = string })), []) additional_pod_network_configs = optional(list(object({ subnetwork = string secondary_pod_range = string max_pods_per_node = string })), []) total_egress_bandwidth_tier = optional(string) pod_cidr_overprovisioning_disabled = optional(bool, false) })">object({…})</code> | | <code>null</code> |
|
||||
| [node_config](variables.tf#L89) | Node-level configuration. | <code title="object({ boot_disk_kms_key = optional(string) disk_size_gb = optional(number) disk_type = optional(string, "pd-balanced") ephemeral_ssd_count = optional(number) gcfs = optional(bool, false) guest_accelerator = optional(object({ count = number type = string gpu_driver = optional(object({ version = string partition_size = optional(string) max_shared_clients_per_gpu = optional(number) })) })) local_nvme_ssd_count = optional(number) gvnic = optional(bool, false) image_type = optional(string) kubelet_config = optional(object({ cpu_manager_policy = string cpu_cfs_quota = optional(bool) cpu_cfs_quota_period = optional(string) pod_pids_limit = optional(number) })) linux_node_config = optional(object({ sysctls = optional(map(string)) cgroup_mode = optional(string) })) local_ssd_count = optional(number) machine_type = optional(string) metadata = optional(map(string)) min_cpu_platform = optional(string) preemptible = optional(bool) sandbox_config_gvisor = optional(bool) shielded_instance_config = optional(object({ enable_integrity_monitoring = optional(bool) enable_secure_boot = optional(bool) })) spot = optional(bool) workload_metadata_config_mode = optional(string) })">object({…})</code> | | <code>{}</code> |
|
||||
| [node_count](variables.tf#L154) | Number of nodes per instance group. Initial value can only be changed by recreation, current is ignored when autoscaling is used. | <code title="object({ current = optional(number) initial = number })">object({…})</code> | | <code title="{ initial = 1 }">{…}</code> |
|
||||
| [node_locations](variables.tf#L166) | Node locations. | <code>list(string)</code> | | <code>null</code> |
|
||||
|
||||
@@ -132,7 +132,7 @@ resource "google_container_node_pool" "nodepool" {
|
||||
dynamic "additional_pod_network_configs" {
|
||||
for_each = try(var.network_config.additional_pod_network_configs, [])
|
||||
content {
|
||||
subnetwork = additional_pod_network_configs.value.network
|
||||
subnetwork = additional_pod_network_configs.value.subnetwork
|
||||
secondary_pod_range = additional_pod_network_configs.value.secondary_pod_range
|
||||
max_pods_per_node = additional_pod_network_configs.value.max_pods_per_node
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ variable "network_config" {
|
||||
network = string
|
||||
subnetwork = string
|
||||
})), [])
|
||||
additional_pod_network_config = optional(list(object({
|
||||
additional_pod_network_configs = optional(list(object({
|
||||
subnetwork = string
|
||||
secondary_pod_range = string
|
||||
max_pods_per_node = string
|
||||
|
||||
Reference in New Issue
Block a user