ClusterNodePool constructor
- Input<
ClusterNodePoolAutoscaling?> ? autoscaling, - Input<
bool?> ? ignoreNodeCountChanges, - Input<
int?> ? initialNodeCount, - Input<
List< ? instanceGroupUrls,String> ?> - Input<
List< ? maintenancePolicies,ClusterNodePoolMaintenancePolicy> ?> - Input<
List< ? managedInstanceGroupUrls,String> ?> - Input<
ClusterNodePoolManagement?> ? management, - Input<
int?> ? maxPodsPerNode, - Input<
String?> ? name, - Input<
String?> ? namePrefix, - Input<
ClusterNodePoolNetworkConfig?> ? networkConfig, - Input<
ClusterNodePoolNodeConfig?> ? nodeConfig, - Input<
int?> ? nodeCount, - Input<
List< ? nodeDrainConfigs,ClusterNodePoolNodeDrainConfig> ?> - Input<
List< ? nodeLocations,String> ?> - Input<
ClusterNodePoolPlacementPolicy?> ? placementPolicy, - Input<
ClusterNodePoolQueuedProvisioning?> ? queuedProvisioning, - Input<
ClusterNodePoolUpgradeSettings?> ? upgradeSettings, - Input<
String?> ? version,
Creates a new ClusterNodePool.
autoscaling Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.
ignoreNodeCountChanges Whether to ignore external changes (drift) to the node count (e.g. from GKE autoscaling). Setting this to true skips querying Compute Engine Instance Group Managers (IGMs) to determine the current node count on read, which can save API quota and speed up plans on large clusters. Unlike Terraform core's lifecycle { ignoreChanges = [nodeCount] }, this allows configuration-driven scaling updates in your HCL while still ignoring runtime autoscaling drift.
initialNodeCount The number of nodes to create in this
instanceGroupUrls The resource URLs of the managed instance groups associated with this node pool.
maintenancePolicies The maintenance policy to use for the cluster. Structure is
managedInstanceGroupUrls List of instance group URLs which have been assigned to this node pool.
management Node management configuration, wherein auto-repair and auto-upgrade is configured.
maxPodsPerNode The maximum number of pods per node in this node pool. Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled.
name The name of the cluster, unique within the project and
namePrefix Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name.
networkConfig Configuration for
nodeConfig The node configuration of the pool. Structure is documented below.
nodeCount The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling.
nodeDrainConfigs Node drain configuration for this NodePool.
nodeLocations The list of zones in which the cluster's nodes
placementPolicy Specifies the node placement policy
queuedProvisioning Specifies the configuration of queued provisioning
upgradeSettings Specify node upgrade settings to change how many nodes GKE attempts to upgrade at once. The number of nodes upgraded simultaneously is the sum of maxSurge and max_unavailable. The maximum number of nodes upgraded simultaneously is limited to 20.
version The Kubernetes version for the nodes in this pool. Note that if this field and autoUpgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the gcp.container.getEngineVersions data source's versionPrefix field to approximate fuzzy versions in a Terraform-compatible way.
Implementation
const ClusterNodePool({
this.autoscaling,
this.ignoreNodeCountChanges,
this.initialNodeCount,
this.instanceGroupUrls,
this.maintenancePolicies,
this.managedInstanceGroupUrls,
this.management,
this.maxPodsPerNode,
this.name,
this.namePrefix,
this.networkConfig,
this.nodeConfig,
this.nodeCount,
this.nodeDrainConfigs,
this.nodeLocations,
this.placementPolicy,
this.queuedProvisioning,
this.upgradeSettings,
this.version,
});