NodePoolArgs

data class NodePoolArgs(val autoRenew: Output<Boolean>? = null, val autoRenewPeriod: Output<Int>? = null, val cisEnabled: Output<Boolean>? = null, val clusterId: Output<String>? = null, val cpuPolicy: Output<String>? = null, val dataDisks: Output<List<NodePoolDataDiskArgs>>? = null, val deploymentSetId: Output<String>? = null, val desiredSize: Output<Int>? = null, val formatDisk: Output<Boolean>? = null, val imageId: Output<String>? = null, val imageType: Output<String>? = null, val installCloudMonitor: Output<Boolean>? = null, val instanceChargeType: Output<String>? = null, val instanceTypes: Output<List<String>>? = null, val instances: Output<List<String>>? = null, val internetChargeType: Output<String>? = null, val internetMaxBandwidthOut: Output<Int>? = null, val keepInstanceName: Output<Boolean>? = null, val keyName: Output<String>? = null, val kmsEncryptedPassword: Output<String>? = null, val kmsEncryptionContext: Output<Map<String, Any>>? = null, val kubeletConfiguration: Output<NodePoolKubeletConfigurationArgs>? = null, val labels: Output<List<NodePoolLabelArgs>>? = null, val management: Output<NodePoolManagementArgs>? = null, val name: Output<String>? = null, val nodeCount: Output<Int>? = null, val nodeNameMode: Output<String>? = null, val password: Output<String>? = null, val period: Output<Int>? = null, val periodUnit: Output<String>? = null, val platform: Output<String>? = null, val polardbIds: Output<List<String>>? = null, val rdsInstances: Output<List<String>>? = null, val resourceGroupId: Output<String>? = null, val rollingPolicy: Output<NodePoolRollingPolicyArgs>? = null, val rolloutPolicy: Output<NodePoolRolloutPolicyArgs>? = null, val runtimeName: Output<String>? = null, val runtimeVersion: Output<String>? = null, val scalingConfig: Output<NodePoolScalingConfigArgs>? = null, val scalingPolicy: Output<String>? = null, val securityGroupId: Output<String>? = null, val securityGroupIds: Output<List<String>>? = null, val socEnabled: Output<Boolean>? = null, val spotPriceLimits: Output<List<NodePoolSpotPriceLimitArgs>>? = null, val spotStrategy: Output<String>? = null, val systemDiskCategory: Output<String>? = null, val systemDiskEncryptAlgorithm: Output<String>? = null, val systemDiskEncrypted: Output<Boolean>? = null, val systemDiskKmsKey: Output<String>? = null, val systemDiskPerformanceLevel: Output<String>? = null, val systemDiskSize: Output<Int>? = null, val systemDiskSnapshotPolicyId: Output<String>? = null, val tags: Output<Map<String, Any>>? = null, val taints: Output<List<NodePoolTaintArgs>>? = null, val unschedulable: Output<Boolean>? = null, val userData: Output<String>? = null, val vswitchIds: Output<List<String>>? = null) : ConvertibleToJava<NodePoolArgs>

Import

Cluster nodepool can be imported using the id, e.g. Then complete the nodepool.tf accords to the result of pulumi preview.

$ pulumi import alicloud:cs/nodePool:NodePool custom_nodepool cluster_id:nodepool_id

Constructors

Link copied to clipboard
fun NodePoolArgs(autoRenew: Output<Boolean>? = null, autoRenewPeriod: Output<Int>? = null, cisEnabled: Output<Boolean>? = null, clusterId: Output<String>? = null, cpuPolicy: Output<String>? = null, dataDisks: Output<List<NodePoolDataDiskArgs>>? = null, deploymentSetId: Output<String>? = null, desiredSize: Output<Int>? = null, formatDisk: Output<Boolean>? = null, imageId: Output<String>? = null, imageType: Output<String>? = null, installCloudMonitor: Output<Boolean>? = null, instanceChargeType: Output<String>? = null, instanceTypes: Output<List<String>>? = null, instances: Output<List<String>>? = null, internetChargeType: Output<String>? = null, internetMaxBandwidthOut: Output<Int>? = null, keepInstanceName: Output<Boolean>? = null, keyName: Output<String>? = null, kmsEncryptedPassword: Output<String>? = null, kmsEncryptionContext: Output<Map<String, Any>>? = null, kubeletConfiguration: Output<NodePoolKubeletConfigurationArgs>? = null, labels: Output<List<NodePoolLabelArgs>>? = null, management: Output<NodePoolManagementArgs>? = null, name: Output<String>? = null, nodeCount: Output<Int>? = null, nodeNameMode: Output<String>? = null, password: Output<String>? = null, period: Output<Int>? = null, periodUnit: Output<String>? = null, platform: Output<String>? = null, polardbIds: Output<List<String>>? = null, rdsInstances: Output<List<String>>? = null, resourceGroupId: Output<String>? = null, rollingPolicy: Output<NodePoolRollingPolicyArgs>? = null, rolloutPolicy: Output<NodePoolRolloutPolicyArgs>? = null, runtimeName: Output<String>? = null, runtimeVersion: Output<String>? = null, scalingConfig: Output<NodePoolScalingConfigArgs>? = null, scalingPolicy: Output<String>? = null, securityGroupId: Output<String>? = null, securityGroupIds: Output<List<String>>? = null, socEnabled: Output<Boolean>? = null, spotPriceLimits: Output<List<NodePoolSpotPriceLimitArgs>>? = null, spotStrategy: Output<String>? = null, systemDiskCategory: Output<String>? = null, systemDiskEncryptAlgorithm: Output<String>? = null, systemDiskEncrypted: Output<Boolean>? = null, systemDiskKmsKey: Output<String>? = null, systemDiskPerformanceLevel: Output<String>? = null, systemDiskSize: Output<Int>? = null, systemDiskSnapshotPolicyId: Output<String>? = null, tags: Output<Map<String, Any>>? = null, taints: Output<List<NodePoolTaintArgs>>? = null, unschedulable: Output<Boolean>? = null, userData: Output<String>? = null, vswitchIds: Output<List<String>>? = null)

Functions

Link copied to clipboard
open override fun toJava(): NodePoolArgs

Properties

Link copied to clipboard
val autoRenew: Output<Boolean>? = null

Enable Node payment auto-renew, default is false.

Link copied to clipboard
val autoRenewPeriod: Output<Int>? = null

Node payment auto-renew period, one of 1, 2, 3,6, 12.

Link copied to clipboard
val cisEnabled: Output<Boolean>? = null

Whether enable worker node to support cis security reinforcement, its valid value true or false. Default to false and apply to AliyunLinux series. See CIS Reinforcement.

Link copied to clipboard
val clusterId: Output<String>? = null

The id of kubernetes cluster.

Link copied to clipboard
val cpuPolicy: Output<String>? = null

Kubelet cpu policy. For Kubernetes 1.12.6 and later, its valid value is either static or none. Default to none and modification is not supported.

Link copied to clipboard
val dataDisks: Output<List<NodePoolDataDiskArgs>>? = null

The data disk configurations of worker nodes, such as the disk type and disk size. See data_disks below.

Link copied to clipboard
val deploymentSetId: Output<String>? = null

The deployment set of node pool. Specify the deploymentSet to ensure that the nodes in the node pool can be distributed on different physical machines.

Link copied to clipboard
val desiredSize: Output<Int>? = null

The desired size of nodes of the node pool. From version 1.158.0, desired_size is not required.

Link copied to clipboard
val formatDisk: Output<Boolean>? = null

After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is false.

Link copied to clipboard
val imageId: Output<String>? = null

Custom Image support. Must based on CentOS7 or AliyunLinux2.

Link copied to clipboard
val imageType: Output<String>? = null

The image type, instead of platform. This field cannot be modified. One of AliyunLinux, AliyunLinux3, AliyunLinux3Arm64, AliyunLinuxUEFI, CentOS, Windows,WindowsCore,AliyunLinux Qboot,ContainerOS. If you select Windows or WindowsCore, the passord is required.

Link copied to clipboard
val installCloudMonitor: Output<Boolean>? = null

Install the cloud monitoring plug-in on the node, and you can view the monitoring information of the instance through the cloud monitoring console. Default is true.

Link copied to clipboard
val instanceChargeType: Output<String>? = null

Node payment type. Valid values: PostPaid, PrePaid, default is PostPaid. If value is PrePaid, the arguments period, period_unit, auto_renew and auto_renew_period are required.

Link copied to clipboard
val instances: Output<List<String>>? = null

The instance list. Add existing nodes under the same cluster VPC to the node pool.

Link copied to clipboard
val instanceTypes: Output<List<String>>? = null

The instance type of worker node.

Link copied to clipboard
val internetChargeType: Output<String>? = null

The billing method for network usage. Valid values PayByBandwidth and PayByTraffic. Conflict with eip_internet_charge_type, EIP and public network IP can only choose one.

Link copied to clipboard
val internetMaxBandwidthOut: Output<Int>? = null

The maximum outbound bandwidth for the public network. Unit: Mbit/s. Valid values: 0 to 100.

Link copied to clipboard
val keepInstanceName: Output<Boolean>? = null

Add an existing instance to the node pool, whether to keep the original instance name. It is recommended to set to true.

Link copied to clipboard
val keyName: Output<String>? = null

The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields. Only key_name is supported in the management node pool.

Link copied to clipboard
val kmsEncryptedPassword: Output<String>? = null

An KMS encrypts password used to a cs kubernetes. You have to specify one of password key_name kms_encrypted_password fields.

Link copied to clipboard
val kmsEncryptionContext: Output<Map<String, Any>>? = null

An KMS encryption context used to decrypt kms_encrypted_password before creating or updating a cs kubernetes with kms_encrypted_password. See Encryption Context. It is valid when kms_encrypted_password is set.

Link copied to clipboard

Kubelet configuration parameters for worker nodes. See kubelet_configuration below. More information in Kubelet Configuration.

Link copied to clipboard
val labels: Output<List<NodePoolLabelArgs>>? = null

A List of Kubernetes labels to assign to the nodes . Only labels that are applied with the ACK API are managed by this argument. Detailed below. More information in Labels. See labels below.

Link copied to clipboard
val management: Output<NodePoolManagementArgs>? = null

Managed node pool configuration. When using a managed node pool, the node key must use key_name. See management below.

Link copied to clipboard
val name: Output<String>? = null

The name of node pool.

Link copied to clipboard
val nodeCount: Output<Int>? = null

The worker node number of the node pool. From version 1.111.0, node_count is not required.

Link copied to clipboard
val nodeNameMode: Output<String>? = null

Each node name consists of a prefix, its private network IP, and a suffix, the input format is customized,<prefix>,ip,<suffix>. For example "customized,aliyun.com-,ip,-test", if the node private network IP address is 192.168.59.176, the prefix is aliyun.com-,and the suffix is -test, the node name will be aliyun.com-192.168.59.176-test.

Link copied to clipboard
val password: Output<String>? = null

The password of ssh login cluster node. You have to specify one of password key_name kms_encrypted_password fields.

Link copied to clipboard
val period: Output<Int>? = null

Node payment period. Its valid value is one of {1, 2, 3, 6, 12, 24, 36, 48, 60}.

Link copied to clipboard
val periodUnit: Output<String>? = null

Node payment period unit, valid value: Month. Default is Month.

Link copied to clipboard
val platform: Output<String>? = null

The platform. One of AliyunLinux, Windows, CentOS, WindowsCore. If you select Windows or WindowsCore, the passord is required. Field platform has been deprecated from provider version 1.145.0. New field image_type instead.

Link copied to clipboard
val polardbIds: Output<List<String>>? = null

PolarDB id list, You can choose which PolarDB whitelist to add instances to.

Link copied to clipboard
val rdsInstances: Output<List<String>>? = null

RDS instance list, You can choose which RDS instances whitelist to add instances to.

Link copied to clipboard
val resourceGroupId: Output<String>? = null

The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.

Link copied to clipboard

Rolling policy is used to specify the strategy when the node pool is rolling update. This field works when nodepool updating. See rolling_policy below.

Link copied to clipboard

Rollout policy is used to specify the strategy when the node pool is rolling update. This field works when node pool updating. Please use rolling_policy to instead it from provider version 1.185.0. See rollout_policy below.

Link copied to clipboard
val runtimeName: Output<String>? = null

The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container.

Link copied to clipboard
val runtimeVersion: Output<String>? = null

The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime.

Link copied to clipboard

Auto scaling node pool configuration. See scaling_config below. With auto-scaling is enabled, the nodes in the node pool will be labeled with k8s.aliyun.com=true to prevent system pods such as coredns, metrics-servers from being scheduled to elastic nodes, and to prevent node shrinkage from causing business abnormalities.

Link copied to clipboard
val scalingPolicy: Output<String>? = null

The scaling mode. Valid values: release, recycle, default is release. Standard mode(release): Create and release ECS instances based on requests.Swift mode(recycle): Create, stop, and restart ECS instances based on needs. New ECS instances are only created when no stopped ECS instance is avalible. This mode further accelerates the scaling process. Apart from ECS instances that use local storage, when an ECS instance is stopped, you are only chatged for storage space.

Link copied to clipboard
val securityGroupId: Output<String>? = null

The security group id for worker node. Field security_group_id has been deprecated from provider version 1.145.0. New field security_group_ids instead.

Link copied to clipboard
val securityGroupIds: Output<List<String>>? = null

Multiple security groups can be configured for a node pool. If both security_group_ids and security_group_id are configured, security_group_ids takes effect. This field cannot be modified.

Link copied to clipboard
val socEnabled: Output<Boolean>? = null

Whether enable worker node to support soc security reinforcement, its valid value true or false. Default to false and apply to AliyunLinux series. See SOC Reinforcement.

Link copied to clipboard

The maximum hourly price of the instance. This parameter takes effect only when spot_strategy is set to SpotWithPriceLimit. You could enable multiple spot instances by setting this field repeatedly. See spot_price_limit below.

Link copied to clipboard
val spotStrategy: Output<String>? = null

The preemption policy for the pay-as-you-go instance. This parameter takes effect only when instance_charge_type is set to PostPaid. Valid value SpotWithPriceLimit,SpotAsPriceGo and NoSpot, default is NoSpot.

Link copied to clipboard
val systemDiskCategory: Output<String>? = null

The system disk category of worker node. Its valid value are cloud_ssd, cloud_efficiency and cloud_essd. Default to cloud_efficiency.

Link copied to clipboard
val systemDiskEncryptAlgorithm: Output<String>? = null

The encryption Algorithm for Encrypting System Disk. It takes effect when system_disk_encrypted is true. Valid values aes-256 and sm4-128.

Link copied to clipboard
val systemDiskEncrypted: Output<Boolean>? = null

Whether to enable system disk encryption.

Link copied to clipboard
val systemDiskKmsKey: Output<String>? = null

The kms key id used to encrypt the system disk. It takes effect when system_disk_encrypted is true.

Link copied to clipboard
val systemDiskPerformanceLevel: Output<String>? = null

The performance of system disk, only valid for ESSD disk. You have to specify one of PL0 PL1 PL2 PL3 fields.

Link copied to clipboard
val systemDiskSize: Output<Int>? = null

The system disk category of worker node. Its valid value range 40~500 in GB. Default to 120.

Link copied to clipboard
val systemDiskSnapshotPolicyId: Output<String>? = null

The system disk snapshot policy id.

Link copied to clipboard
val tags: Output<Map<String, Any>>? = null

A Map of tags to assign to the resource. It will be applied for ECS instances finally. Detailed below.

Link copied to clipboard
val taints: Output<List<NodePoolTaintArgs>>? = null

A List of Kubernetes taints to assign to the nodes. Detailed below. More information in Taints and Toleration. See taints below.

Link copied to clipboard
val unschedulable: Output<Boolean>? = null

Set the newly added node as unschedulable. If you want to open the scheduling option, you can open it in the node list of the console. If you are using an auto-scaling node pool, the setting will not take effect. Default is false.

Link copied to clipboard
val userData: Output<String>? = null

Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.

Link copied to clipboard
val vswitchIds: Output<List<String>>? = null

The vswitches used by node pool workers.