NodePool

class NodePool : KotlinCustomResource

Example Usage

Basic Usage

Import

Container Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g.

$ pulumi import alicloud:cs/nodePool:NodePool example <cluster_id>:<node_pool_id>

Properties

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

Whether to enable automatic renewal for nodes in the node pool takes effect only when instance_charge_type is set to PrePaid. Default value: false. Valid values:

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

The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When PeriodUnit = Month, the value range is {1, 2, 3, 6, 12}. Default value: 1.

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

Whether enable worker node to support cis security reinforcement, its valid value true or false. Default to false and apply to AliyunLinux series. Use security_hardening_os instead.

Link copied to clipboard
val clusterId: Output<String>

The id of kubernetes cluster.

Link copied to clipboard

Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect when you set multi_az_policy to COST_OPTIMIZED. Valid values: true: automatically creates pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created. false: does not create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.

Link copied to clipboard
val cpuPolicy: Output<String>

Node CPU management policies. Default value: none. When the cluster version is 1.12.6 or later, the following two policies are supported:

Link copied to clipboard

Configure the data disk of the node in the node pool. See data_disks below.

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

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<String>?

Number of expected nodes in the node pool.

Link copied to clipboard
val forceDelete: Output<Boolean>?

Whether to force deletion.

Link copied to clipboard
val formatDisk: Output<Boolean>

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 id: Output<String>
Link copied to clipboard
val imageId: Output<String>

The custom image ID. The system-provided image is used by default.

Link copied to clipboard
val imageType: Output<String>

The operating system image type and the platform parameter can be selected from the following values:

Link copied to clipboard

Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: false. Valid values:

Link copied to clipboard

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>>?

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

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

In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes.

Link copied to clipboard

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

The maximum bandwidth of the public IP address of the node. The unit is Mbps(Mega bit per second). The value range is:\[1,100\]

Link copied to clipboard

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>?

The name of the key pair. When the node pool is a managed node pool, only key_name is supported.

Link copied to clipboard

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

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. See kubelet_configuration below.

Link copied to clipboard
val labels: Output<List<NodePoolLabel>>?

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 loginAsNonRoot: Output<Boolean>?

Whether the ECS instance is logged on as a ecs-user user. Valid value: true and false.

Link copied to clipboard

Managed node pool configuration. See management below.

Link copied to clipboard
val multiAzPolicy: Output<String>

The scaling policy for ECS instances in a multi-zone scaling group. Valid value: PRIORITY, COST_OPTIMIZED and BALANCE. PRIORITY: scales the capacity according to the virtual switches you define (VSwitchIds.N). When an ECS instance cannot be created in the zone where the higher-priority vSwitch is located, the next-priority vSwitch is automatically used to create an ECS instance. COST_OPTIMIZED: try to create by vCPU unit price from low to high. When the scaling configuration is configured with multiple instances of preemptible billing, preemptible instances are created first. You can continue to use the CompensateWithOnDemand parameter to specify whether to automatically try to create a preemptible instance by paying for it. It takes effect only when the scaling configuration has multi-instance specifications or preemptible instances. BALANCE: distributes ECS instances evenly among the multi-zone specified by the scaling group. If the zones become unbalanced due to insufficient inventory, you can use the API RebalanceInstances to balance resources.

Link copied to clipboard
val name: Output<String>

. Field 'name' has been deprecated from provider version 1.219.0. New field 'node_pool_name' instead.

Link copied to clipboard
val nodeCount: Output<Int>

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>

Each node name consists of a prefix, its private network IP, and a suffix, separated by commas. The input format is customized,,ip,.

Link copied to clipboard
val nodePoolId: Output<String>

The first ID of the resource.

Link copied to clipboard
val nodePoolName: Output<String>

The name of node pool.

Link copied to clipboard

The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferably creates pay-as-you-go instances.

Link copied to clipboard

The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by on_demand_base_capacity. Valid values: 0 to 100.

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

The password of ssh login. You have to specify one of password and key_name fields. The password rule is 8 to 30 characters and contains at least three items (upper and lower case letters, numbers, and special symbols).

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

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

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

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

Link copied to clipboard
val platform: Output<String>

Operating system release, using image_type instead.

Link copied to clipboard
val preUserData: Output<String>?

Node pre custom data, base64-encoded, the script executed before the node is initialized.

Link copied to clipboard

Private node pool configuration. See private_pool_options below.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val ramRoleName: Output<String>

The name of the Worker RAM role.

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

The list of RDS instances.

Link copied to clipboard
val resourceGroupId: Output<String>

The ID of the resource group

Link copied to clipboard

Rotary configuration. See rolling_policy below.

Link copied to clipboard
val runtimeName: Output<String>

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>

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

Link copied to clipboard

Automatic scaling configuration. See scaling_config below.

Link copied to clipboard
val scalingGroupId: Output<String>

The ID of the scaling group.

Link copied to clipboard
val scalingPolicy: Output<String>

Scaling group mode, default value: release. Valid values:

Link copied to clipboard
val securityGroupId: Output<String>

The security group ID of the node pool. This field has been replaced by security_group_ids, please use the security_group_ids field instead.

Link copied to clipboard

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

Alibaba Cloud OS security reinforcement. Default value: false. Value:

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

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
val spotInstancePools: Output<Int>?

The number of instance types that are available. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.

Link copied to clipboard

Specifies whether to supplement preemptible instances when the number of preemptible instances drops below the specified minimum number. If you set the value to true, Auto Scaling attempts to create a new preemptible instance when the system notifies that an existing preemptible instance is about to be reclaimed. Valid values: true: enables the supplementation of preemptible instances. false: disables the supplementation of preemptible instances.

Link copied to clipboard

The current single preemptible instance type market price range configuration. See spot_price_limit below.

Link copied to clipboard
val spotStrategy: Output<String>

The preemptible instance type. Value:

Link copied to clipboard

Specifies whether to enable the burst feature for system disks. Valid values:true: enables the burst feature. false: disables the burst feature. This parameter is supported only when system_disk_category is set to cloud_auto.

Link copied to clipboard

The multi-disk categories of the system disk. When a high-priority disk type cannot be used, Auto Scaling automatically tries to create a system disk with the next priority disk category. Valid values see system_disk_category.

Link copied to clipboard

The category of the system disk for nodes. Default value: cloud_efficiency. Valid values:

Link copied to clipboard

The encryption algorithm used by the system disk. Value range: aes-256.

Link copied to clipboard

Whether to encrypt the system disk. Value range: true: encryption. false: Do not encrypt.

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

The ID of the KMS key used by the system disk.

Link copied to clipboard

The system disk performance of the node takes effect only for the ESSD disk.

Link copied to clipboard

The predefined IOPS of a system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}. This parameter is supported only when system_disk_category is set to cloud_auto.

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

The size of the system disk. Unit: GiB. The value of this parameter must be at least 1 and greater than or equal to the image size. Default value: 40 or the size of the image, whichever is larger.

Link copied to clipboard

The ID of the automatic snapshot policy used by the system disk.

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

Add tags only for ECS instances. The maximum length of the tag key is 128 characters. The tag key and value cannot start with aliyun or acs:, or contain https:// or http://.

Link copied to clipboard
val taints: Output<List<NodePoolTaint>>?

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

The configuration about confidential computing for the cluster. See tee_config below.

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

Whether the node after expansion can be scheduled.

Link copied to clipboard
val updateNodes: Output<Boolean>?

Synchronously update node labels and taints.

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

Node custom data, base64-encoded.

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

The vswitches used by node pool workers.