volcengine.vke.NodePool
Explore with Pulumi AI
Provides a resource to manage vke node pool
Example Usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Volcengine = Pulumi.Volcengine;
return await Deployment.RunAsync(() =>
{
var fooZones = Volcengine.Ecs.Zones.Invoke();
var fooVpc = new Volcengine.Vpc.Vpc("fooVpc", new()
{
VpcName = "acc-test-vpc",
CidrBlock = "172.16.0.0/16",
});
var fooSubnet = new Volcengine.Vpc.Subnet("fooSubnet", new()
{
SubnetName = "acc-test-subnet",
CidrBlock = "172.16.0.0/24",
ZoneId = fooZones.Apply(zonesResult => zonesResult.Zones[0]?.Id),
VpcId = fooVpc.Id,
});
var fooSecurityGroup = new Volcengine.Vpc.SecurityGroup("fooSecurityGroup", new()
{
SecurityGroupName = "acc-test-security-group",
VpcId = fooVpc.Id,
});
var fooImages = Volcengine.Ecs.Images.Invoke(new()
{
NameRegex = "veLinux 1.0 CentOS兼容版 64位",
});
var fooCluster = new Volcengine.Vke.Cluster("fooCluster", new()
{
Description = "created by terraform",
DeleteProtectionEnabled = false,
ClusterConfig = new Volcengine.Vke.Inputs.ClusterClusterConfigArgs
{
SubnetIds = new[]
{
fooSubnet.Id,
},
ApiServerPublicAccessEnabled = true,
ApiServerPublicAccessConfig = new Volcengine.Vke.Inputs.ClusterClusterConfigApiServerPublicAccessConfigArgs
{
PublicAccessNetworkConfig = new Volcengine.Vke.Inputs.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs
{
BillingType = "PostPaidByBandwidth",
Bandwidth = 1,
},
},
ResourcePublicAccessDefaultEnabled = true,
},
PodsConfig = new Volcengine.Vke.Inputs.ClusterPodsConfigArgs
{
PodNetworkMode = "VpcCniShared",
VpcCniConfig = new Volcengine.Vke.Inputs.ClusterPodsConfigVpcCniConfigArgs
{
SubnetIds = new[]
{
fooSubnet.Id,
},
},
},
ServicesConfig = new Volcengine.Vke.Inputs.ClusterServicesConfigArgs
{
ServiceCidrsv4s = new[]
{
"172.30.0.0/18",
},
},
Tags = new[]
{
new Volcengine.Vke.Inputs.ClusterTagArgs
{
Key = "tf-k1",
Value = "tf-v1",
},
},
});
var fooNodePool = new Volcengine.Vke.NodePool("fooNodePool", new()
{
ClusterId = fooCluster.Id,
AutoScaling = new Volcengine.Vke.Inputs.NodePoolAutoScalingArgs
{
Enabled = true,
MinReplicas = 0,
MaxReplicas = 5,
DesiredReplicas = 0,
Priority = 5,
SubnetPolicy = "ZoneBalance",
},
NodeConfig = new Volcengine.Vke.Inputs.NodePoolNodeConfigArgs
{
InstanceTypeIds = new[]
{
"ecs.g1ie.xlarge",
},
SubnetIds = new[]
{
fooSubnet.Id,
},
ImageId = .Where(image => image.ImageName == "veLinux 1.0 CentOS兼容版 64位").Select(image =>
{
return image.ImageId;
})[0],
SystemVolume = new Volcengine.Vke.Inputs.NodePoolNodeConfigSystemVolumeArgs
{
Type = "ESSD_PL0",
Size = 80,
},
DataVolumes = new[]
{
new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
{
Type = "ESSD_PL0",
Size = 80,
MountPoint = "/tf1",
},
new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
{
Type = "ESSD_PL0",
Size = 60,
MountPoint = "/tf2",
},
},
InitializeScript = "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
Security = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityArgs
{
Login = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityLoginArgs
{
Password = "UHdkMTIzNDU2",
},
SecurityStrategies = new[]
{
"Hids",
},
SecurityGroupIds = new[]
{
fooSecurityGroup.Id,
},
},
AdditionalContainerStorageEnabled = false,
InstanceChargeType = "PostPaid",
NamePrefix = "acc-test",
EcsTags = new[]
{
new Volcengine.Vke.Inputs.NodePoolNodeConfigEcsTagArgs
{
Key = "ecs_k1",
Value = "ecs_v1",
},
},
},
KubernetesConfig = new Volcengine.Vke.Inputs.NodePoolKubernetesConfigArgs
{
Labels = new[]
{
new Volcengine.Vke.Inputs.NodePoolKubernetesConfigLabelArgs
{
Key = "label1",
Value = "value1",
},
},
Taints = new[]
{
new Volcengine.Vke.Inputs.NodePoolKubernetesConfigTaintArgs
{
Key = "taint-key/node-type",
Value = "taint-value",
Effect = "NoSchedule",
},
},
Cordon = true,
},
Tags = new[]
{
new Volcengine.Vke.Inputs.NodePoolTagArgs
{
Key = "node-pool-k1",
Value = "node-pool-v1",
},
},
});
// add existing instances to a custom node pool
var fooInstance = new List<Volcengine.Ecs.Instance>();
for (var rangeIndex = 0; rangeIndex < 2; rangeIndex++)
{
var range = new { Value = rangeIndex };
fooInstance.Add(new Volcengine.Ecs.Instance($"fooInstance-{range.Value}", new()
{
InstanceName = $"acc-test-ecs-{range.Value}",
HostName = "tf-acc-test",
ImageId = .Where(image => image.ImageName == "veLinux 1.0 CentOS兼容版 64位").Select(image =>
{
return image.ImageId;
})[0],
InstanceType = "ecs.g1ie.xlarge",
Password = "93f0cb0614Aab12",
InstanceChargeType = "PostPaid",
SystemVolumeType = "ESSD_PL0",
SystemVolumeSize = 50,
DataVolumes = new[]
{
new Volcengine.Ecs.Inputs.InstanceDataVolumeArgs
{
VolumeType = "ESSD_PL0",
Size = 50,
DeleteWithInstance = true,
},
},
SubnetId = fooSubnet.Id,
SecurityGroupIds = new[]
{
fooSecurityGroup.Id,
},
ProjectName = "default",
Tags = new[]
{
new Volcengine.Ecs.Inputs.InstanceTagArgs
{
Key = "k1",
Value = "v1",
},
},
}));
}
var foo1 = new Volcengine.Vke.NodePool("foo1", new()
{
ClusterId = fooCluster.Id,
InstanceIds = fooInstance.Select(__item => __item.Id).ToList(),
KeepInstanceName = true,
NodeConfig = new Volcengine.Vke.Inputs.NodePoolNodeConfigArgs
{
InstanceTypeIds = new[]
{
"ecs.g1ie.xlarge",
},
SubnetIds = new[]
{
fooSubnet.Id,
},
ImageId = .Where(image => image.ImageName == "veLinux 1.0 CentOS兼容版 64位").Select(image =>
{
return image.ImageId;
})[0],
SystemVolume = new Volcengine.Vke.Inputs.NodePoolNodeConfigSystemVolumeArgs
{
Type = "ESSD_PL0",
Size = 50,
},
DataVolumes = new[]
{
new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
{
Type = "ESSD_PL0",
Size = 50,
MountPoint = "/tf1",
},
},
InitializeScript = "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
Security = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityArgs
{
Login = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityLoginArgs
{
Password = "UHdkMTIzNDU2",
},
SecurityStrategies = new[]
{
"Hids",
},
SecurityGroupIds = new[]
{
fooSecurityGroup.Id,
},
},
AdditionalContainerStorageEnabled = false,
InstanceChargeType = "PostPaid",
NamePrefix = "acc-test",
EcsTags = new[]
{
new Volcengine.Vke.Inputs.NodePoolNodeConfigEcsTagArgs
{
Key = "ecs_k1",
Value = "ecs_v1",
},
},
},
KubernetesConfig = new Volcengine.Vke.Inputs.NodePoolKubernetesConfigArgs
{
Labels = new[]
{
new Volcengine.Vke.Inputs.NodePoolKubernetesConfigLabelArgs
{
Key = "label1",
Value = "value1",
},
},
Taints = new[]
{
new Volcengine.Vke.Inputs.NodePoolKubernetesConfigTaintArgs
{
Key = "taint-key/node-type",
Value = "taint-value",
Effect = "NoSchedule",
},
},
Cordon = true,
},
Tags = new[]
{
new Volcengine.Vke.Inputs.NodePoolTagArgs
{
Key = "node-pool-k1",
Value = "node-pool-v1",
},
},
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/ecs"
"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vke"
"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vpc"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
fooZones, err := ecs.Zones(ctx, nil, nil)
if err != nil {
return err
}
fooVpc, err := vpc.NewVpc(ctx, "fooVpc", &vpc.VpcArgs{
VpcName: pulumi.String("acc-test-vpc"),
CidrBlock: pulumi.String("172.16.0.0/16"),
})
if err != nil {
return err
}
fooSubnet, err := vpc.NewSubnet(ctx, "fooSubnet", &vpc.SubnetArgs{
SubnetName: pulumi.String("acc-test-subnet"),
CidrBlock: pulumi.String("172.16.0.0/24"),
ZoneId: *pulumi.String(fooZones.Zones[0].Id),
VpcId: fooVpc.ID(),
})
if err != nil {
return err
}
fooSecurityGroup, err := vpc.NewSecurityGroup(ctx, "fooSecurityGroup", &vpc.SecurityGroupArgs{
SecurityGroupName: pulumi.String("acc-test-security-group"),
VpcId: fooVpc.ID(),
})
if err != nil {
return err
}
fooImages, err := ecs.Images(ctx, &ecs.ImagesArgs{
NameRegex: pulumi.StringRef("veLinux 1.0 CentOS兼容版 64位"),
}, nil)
if err != nil {
return err
}
fooCluster, err := vke.NewCluster(ctx, "fooCluster", &vke.ClusterArgs{
Description: pulumi.String("created by terraform"),
DeleteProtectionEnabled: pulumi.Bool(false),
ClusterConfig: &vke.ClusterClusterConfigArgs{
SubnetIds: pulumi.StringArray{
fooSubnet.ID(),
},
ApiServerPublicAccessEnabled: pulumi.Bool(true),
ApiServerPublicAccessConfig: &vke.ClusterClusterConfigApiServerPublicAccessConfigArgs{
PublicAccessNetworkConfig: &vke.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs{
BillingType: pulumi.String("PostPaidByBandwidth"),
Bandwidth: pulumi.Int(1),
},
},
ResourcePublicAccessDefaultEnabled: pulumi.Bool(true),
},
PodsConfig: &vke.ClusterPodsConfigArgs{
PodNetworkMode: pulumi.String("VpcCniShared"),
VpcCniConfig: &vke.ClusterPodsConfigVpcCniConfigArgs{
SubnetIds: pulumi.StringArray{
fooSubnet.ID(),
},
},
},
ServicesConfig: &vke.ClusterServicesConfigArgs{
ServiceCidrsv4s: pulumi.StringArray{
pulumi.String("172.30.0.0/18"),
},
},
Tags: vke.ClusterTagArray{
&vke.ClusterTagArgs{
Key: pulumi.String("tf-k1"),
Value: pulumi.String("tf-v1"),
},
},
})
if err != nil {
return err
}
_, err = vke.NewNodePool(ctx, "fooNodePool", &vke.NodePoolArgs{
ClusterId: fooCluster.ID(),
AutoScaling: &vke.NodePoolAutoScalingArgs{
Enabled: pulumi.Bool(true),
MinReplicas: pulumi.Int(0),
MaxReplicas: pulumi.Int(5),
DesiredReplicas: pulumi.Int(0),
Priority: pulumi.Int(5),
SubnetPolicy: pulumi.String("ZoneBalance"),
},
NodeConfig: &vke.NodePoolNodeConfigArgs{
InstanceTypeIds: pulumi.StringArray{
pulumi.String("ecs.g1ie.xlarge"),
},
SubnetIds: pulumi.StringArray{
fooSubnet.ID(),
},
ImageId: "TODO: For expression"[0],
SystemVolume: &vke.NodePoolNodeConfigSystemVolumeArgs{
Type: pulumi.String("ESSD_PL0"),
Size: pulumi.Int(80),
},
DataVolumes: vke.NodePoolNodeConfigDataVolumeArray{
&vke.NodePoolNodeConfigDataVolumeArgs{
Type: pulumi.String("ESSD_PL0"),
Size: pulumi.Int(80),
MountPoint: pulumi.String("/tf1"),
},
&vke.NodePoolNodeConfigDataVolumeArgs{
Type: pulumi.String("ESSD_PL0"),
Size: pulumi.Int(60),
MountPoint: pulumi.String("/tf2"),
},
},
InitializeScript: pulumi.String("ZWNobyBoZWxsbyB0ZXJyYWZvcm0h"),
Security: &vke.NodePoolNodeConfigSecurityArgs{
Login: &vke.NodePoolNodeConfigSecurityLoginArgs{
Password: pulumi.String("UHdkMTIzNDU2"),
},
SecurityStrategies: pulumi.StringArray{
pulumi.String("Hids"),
},
SecurityGroupIds: pulumi.StringArray{
fooSecurityGroup.ID(),
},
},
AdditionalContainerStorageEnabled: pulumi.Bool(false),
InstanceChargeType: pulumi.String("PostPaid"),
NamePrefix: pulumi.String("acc-test"),
EcsTags: vke.NodePoolNodeConfigEcsTagArray{
&vke.NodePoolNodeConfigEcsTagArgs{
Key: pulumi.String("ecs_k1"),
Value: pulumi.String("ecs_v1"),
},
},
},
KubernetesConfig: &vke.NodePoolKubernetesConfigArgs{
Labels: vke.NodePoolKubernetesConfigLabelArray{
&vke.NodePoolKubernetesConfigLabelArgs{
Key: pulumi.String("label1"),
Value: pulumi.String("value1"),
},
},
Taints: vke.NodePoolKubernetesConfigTaintArray{
&vke.NodePoolKubernetesConfigTaintArgs{
Key: pulumi.String("taint-key/node-type"),
Value: pulumi.String("taint-value"),
Effect: pulumi.String("NoSchedule"),
},
},
Cordon: pulumi.Bool(true),
},
Tags: vke.NodePoolTagArray{
&vke.NodePoolTagArgs{
Key: pulumi.String("node-pool-k1"),
Value: pulumi.String("node-pool-v1"),
},
},
})
if err != nil {
return err
}
var fooInstance []*ecs.Instance
for index := 0; index < 2; index++ {
key0 := index
val0 := index
__res, err := ecs.NewInstance(ctx, fmt.Sprintf("fooInstance-%v", key0), &ecs.InstanceArgs{
InstanceName: pulumi.String(fmt.Sprintf("acc-test-ecs-%v", val0)),
HostName: pulumi.String("tf-acc-test"),
ImageId: "TODO: For expression"[0],
InstanceType: pulumi.String("ecs.g1ie.xlarge"),
Password: pulumi.String("93f0cb0614Aab12"),
InstanceChargeType: pulumi.String("PostPaid"),
SystemVolumeType: pulumi.String("ESSD_PL0"),
SystemVolumeSize: pulumi.Int(50),
DataVolumes: ecs.InstanceDataVolumeArray{
&ecs.InstanceDataVolumeArgs{
VolumeType: pulumi.String("ESSD_PL0"),
Size: pulumi.Int(50),
DeleteWithInstance: pulumi.Bool(true),
},
},
SubnetId: fooSubnet.ID(),
SecurityGroupIds: pulumi.StringArray{
fooSecurityGroup.ID(),
},
ProjectName: pulumi.String("default"),
Tags: ecs.InstanceTagArray{
&ecs.InstanceTagArgs{
Key: pulumi.String("k1"),
Value: pulumi.String("v1"),
},
},
})
if err != nil {
return err
}
fooInstance = append(fooInstance, __res)
}
var splat0 pulumi.StringArray
for _, val0 := range fooInstance {
splat0 = append(splat0, val0.ID())
}
_, err = vke.NewNodePool(ctx, "foo1", &vke.NodePoolArgs{
ClusterId: fooCluster.ID(),
InstanceIds: splat0,
KeepInstanceName: pulumi.Bool(true),
NodeConfig: &vke.NodePoolNodeConfigArgs{
InstanceTypeIds: pulumi.StringArray{
pulumi.String("ecs.g1ie.xlarge"),
},
SubnetIds: pulumi.StringArray{
fooSubnet.ID(),
},
ImageId: "TODO: For expression"[0],
SystemVolume: &vke.NodePoolNodeConfigSystemVolumeArgs{
Type: pulumi.String("ESSD_PL0"),
Size: pulumi.Int(50),
},
DataVolumes: vke.NodePoolNodeConfigDataVolumeArray{
&vke.NodePoolNodeConfigDataVolumeArgs{
Type: pulumi.String("ESSD_PL0"),
Size: pulumi.Int(50),
MountPoint: pulumi.String("/tf1"),
},
},
InitializeScript: pulumi.String("ZWNobyBoZWxsbyB0ZXJyYWZvcm0h"),
Security: &vke.NodePoolNodeConfigSecurityArgs{
Login: &vke.NodePoolNodeConfigSecurityLoginArgs{
Password: pulumi.String("UHdkMTIzNDU2"),
},
SecurityStrategies: pulumi.StringArray{
pulumi.String("Hids"),
},
SecurityGroupIds: pulumi.StringArray{
fooSecurityGroup.ID(),
},
},
AdditionalContainerStorageEnabled: pulumi.Bool(false),
InstanceChargeType: pulumi.String("PostPaid"),
NamePrefix: pulumi.String("acc-test"),
EcsTags: vke.NodePoolNodeConfigEcsTagArray{
&vke.NodePoolNodeConfigEcsTagArgs{
Key: pulumi.String("ecs_k1"),
Value: pulumi.String("ecs_v1"),
},
},
},
KubernetesConfig: &vke.NodePoolKubernetesConfigArgs{
Labels: vke.NodePoolKubernetesConfigLabelArray{
&vke.NodePoolKubernetesConfigLabelArgs{
Key: pulumi.String("label1"),
Value: pulumi.String("value1"),
},
},
Taints: vke.NodePoolKubernetesConfigTaintArray{
&vke.NodePoolKubernetesConfigTaintArgs{
Key: pulumi.String("taint-key/node-type"),
Value: pulumi.String("taint-value"),
Effect: pulumi.String("NoSchedule"),
},
},
Cordon: pulumi.Bool(true),
},
Tags: vke.NodePoolTagArray{
&vke.NodePoolTagArgs{
Key: pulumi.String("node-pool-k1"),
Value: pulumi.String("node-pool-v1"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_volcengine as volcengine
foo_zones = volcengine.ecs.zones()
foo_vpc = volcengine.vpc.Vpc("fooVpc",
vpc_name="acc-test-vpc",
cidr_block="172.16.0.0/16")
foo_subnet = volcengine.vpc.Subnet("fooSubnet",
subnet_name="acc-test-subnet",
cidr_block="172.16.0.0/24",
zone_id=foo_zones.zones[0].id,
vpc_id=foo_vpc.id)
foo_security_group = volcengine.vpc.SecurityGroup("fooSecurityGroup",
security_group_name="acc-test-security-group",
vpc_id=foo_vpc.id)
foo_images = volcengine.ecs.images(name_regex="veLinux 1.0 CentOS兼容版 64位")
foo_cluster = volcengine.vke.Cluster("fooCluster",
description="created by terraform",
delete_protection_enabled=False,
cluster_config=volcengine.vke.ClusterClusterConfigArgs(
subnet_ids=[foo_subnet.id],
api_server_public_access_enabled=True,
api_server_public_access_config=volcengine.vke.ClusterClusterConfigApiServerPublicAccessConfigArgs(
public_access_network_config=volcengine.vke.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs(
billing_type="PostPaidByBandwidth",
bandwidth=1,
),
),
resource_public_access_default_enabled=True,
),
pods_config=volcengine.vke.ClusterPodsConfigArgs(
pod_network_mode="VpcCniShared",
vpc_cni_config=volcengine.vke.ClusterPodsConfigVpcCniConfigArgs(
subnet_ids=[foo_subnet.id],
),
),
services_config=volcengine.vke.ClusterServicesConfigArgs(
service_cidrsv4s=["172.30.0.0/18"],
),
tags=[volcengine.vke.ClusterTagArgs(
key="tf-k1",
value="tf-v1",
)])
foo_node_pool = volcengine.vke.NodePool("fooNodePool",
cluster_id=foo_cluster.id,
auto_scaling=volcengine.vke.NodePoolAutoScalingArgs(
enabled=True,
min_replicas=0,
max_replicas=5,
desired_replicas=0,
priority=5,
subnet_policy="ZoneBalance",
),
node_config=volcengine.vke.NodePoolNodeConfigArgs(
instance_type_ids=["ecs.g1ie.xlarge"],
subnet_ids=[foo_subnet.id],
image_id=[image.image_id for image in foo_images.images if image.image_name == "veLinux 1.0 CentOS兼容版 64位"][0],
system_volume=volcengine.vke.NodePoolNodeConfigSystemVolumeArgs(
type="ESSD_PL0",
size=80,
),
data_volumes=[
volcengine.vke.NodePoolNodeConfigDataVolumeArgs(
type="ESSD_PL0",
size=80,
mount_point="/tf1",
),
volcengine.vke.NodePoolNodeConfigDataVolumeArgs(
type="ESSD_PL0",
size=60,
mount_point="/tf2",
),
],
initialize_script="ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
security=volcengine.vke.NodePoolNodeConfigSecurityArgs(
login=volcengine.vke.NodePoolNodeConfigSecurityLoginArgs(
password="UHdkMTIzNDU2",
),
security_strategies=["Hids"],
security_group_ids=[foo_security_group.id],
),
additional_container_storage_enabled=False,
instance_charge_type="PostPaid",
name_prefix="acc-test",
ecs_tags=[volcengine.vke.NodePoolNodeConfigEcsTagArgs(
key="ecs_k1",
value="ecs_v1",
)],
),
kubernetes_config=volcengine.vke.NodePoolKubernetesConfigArgs(
labels=[volcengine.vke.NodePoolKubernetesConfigLabelArgs(
key="label1",
value="value1",
)],
taints=[volcengine.vke.NodePoolKubernetesConfigTaintArgs(
key="taint-key/node-type",
value="taint-value",
effect="NoSchedule",
)],
cordon=True,
),
tags=[volcengine.vke.NodePoolTagArgs(
key="node-pool-k1",
value="node-pool-v1",
)])
# add existing instances to a custom node pool
foo_instance = []
for range in [{"value": i} for i in range(0, 2)]:
foo_instance.append(volcengine.ecs.Instance(f"fooInstance-{range['value']}",
instance_name=f"acc-test-ecs-{range['value']}",
host_name="tf-acc-test",
image_id=[image.image_id for image in foo_images.images if image.image_name == "veLinux 1.0 CentOS兼容版 64位"][0],
instance_type="ecs.g1ie.xlarge",
password="93f0cb0614Aab12",
instance_charge_type="PostPaid",
system_volume_type="ESSD_PL0",
system_volume_size=50,
data_volumes=[volcengine.ecs.InstanceDataVolumeArgs(
volume_type="ESSD_PL0",
size=50,
delete_with_instance=True,
)],
subnet_id=foo_subnet.id,
security_group_ids=[foo_security_group.id],
project_name="default",
tags=[volcengine.ecs.InstanceTagArgs(
key="k1",
value="v1",
)]))
foo1 = volcengine.vke.NodePool("foo1",
cluster_id=foo_cluster.id,
instance_ids=[__item.id for __item in foo_instance],
keep_instance_name=True,
node_config=volcengine.vke.NodePoolNodeConfigArgs(
instance_type_ids=["ecs.g1ie.xlarge"],
subnet_ids=[foo_subnet.id],
image_id=[image.image_id for image in foo_images.images if image.image_name == "veLinux 1.0 CentOS兼容版 64位"][0],
system_volume=volcengine.vke.NodePoolNodeConfigSystemVolumeArgs(
type="ESSD_PL0",
size=50,
),
data_volumes=[volcengine.vke.NodePoolNodeConfigDataVolumeArgs(
type="ESSD_PL0",
size=50,
mount_point="/tf1",
)],
initialize_script="ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
security=volcengine.vke.NodePoolNodeConfigSecurityArgs(
login=volcengine.vke.NodePoolNodeConfigSecurityLoginArgs(
password="UHdkMTIzNDU2",
),
security_strategies=["Hids"],
security_group_ids=[foo_security_group.id],
),
additional_container_storage_enabled=False,
instance_charge_type="PostPaid",
name_prefix="acc-test",
ecs_tags=[volcengine.vke.NodePoolNodeConfigEcsTagArgs(
key="ecs_k1",
value="ecs_v1",
)],
),
kubernetes_config=volcengine.vke.NodePoolKubernetesConfigArgs(
labels=[volcengine.vke.NodePoolKubernetesConfigLabelArgs(
key="label1",
value="value1",
)],
taints=[volcengine.vke.NodePoolKubernetesConfigTaintArgs(
key="taint-key/node-type",
value="taint-value",
effect="NoSchedule",
)],
cordon=True,
),
tags=[volcengine.vke.NodePoolTagArgs(
key="node-pool-k1",
value="node-pool-v1",
)])
import * as pulumi from "@pulumi/pulumi";
import * as volcengine from "@pulumi/volcengine";
import * as volcengine from "@volcengine/pulumi";
const fooZones = volcengine.ecs.Zones({});
const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
vpcName: "acc-test-vpc",
cidrBlock: "172.16.0.0/16",
});
const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
subnetName: "acc-test-subnet",
cidrBlock: "172.16.0.0/24",
zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
vpcId: fooVpc.id,
});
const fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", {
securityGroupName: "acc-test-security-group",
vpcId: fooVpc.id,
});
const fooImages = volcengine.ecs.Images({
nameRegex: "veLinux 1.0 CentOS兼容版 64位",
});
const fooCluster = new volcengine.vke.Cluster("fooCluster", {
description: "created by terraform",
deleteProtectionEnabled: false,
clusterConfig: {
subnetIds: [fooSubnet.id],
apiServerPublicAccessEnabled: true,
apiServerPublicAccessConfig: {
publicAccessNetworkConfig: {
billingType: "PostPaidByBandwidth",
bandwidth: 1,
},
},
resourcePublicAccessDefaultEnabled: true,
},
podsConfig: {
podNetworkMode: "VpcCniShared",
vpcCniConfig: {
subnetIds: [fooSubnet.id],
},
},
servicesConfig: {
serviceCidrsv4s: ["172.30.0.0/18"],
},
tags: [{
key: "tf-k1",
value: "tf-v1",
}],
});
const fooNodePool = new volcengine.vke.NodePool("fooNodePool", {
clusterId: fooCluster.id,
autoScaling: {
enabled: true,
minReplicas: 0,
maxReplicas: 5,
desiredReplicas: 0,
priority: 5,
subnetPolicy: "ZoneBalance",
},
nodeConfig: {
instanceTypeIds: ["ecs.g1ie.xlarge"],
subnetIds: [fooSubnet.id],
imageId: fooImages.then(fooImages => .filter(image => image.imageName == "veLinux 1.0 CentOS兼容版 64位").map(image => (image.imageId))[0]),
systemVolume: {
type: "ESSD_PL0",
size: 80,
},
dataVolumes: [
{
type: "ESSD_PL0",
size: 80,
mountPoint: "/tf1",
},
{
type: "ESSD_PL0",
size: 60,
mountPoint: "/tf2",
},
],
initializeScript: "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
security: {
login: {
password: "UHdkMTIzNDU2",
},
securityStrategies: ["Hids"],
securityGroupIds: [fooSecurityGroup.id],
},
additionalContainerStorageEnabled: false,
instanceChargeType: "PostPaid",
namePrefix: "acc-test",
ecsTags: [{
key: "ecs_k1",
value: "ecs_v1",
}],
},
kubernetesConfig: {
labels: [{
key: "label1",
value: "value1",
}],
taints: [{
key: "taint-key/node-type",
value: "taint-value",
effect: "NoSchedule",
}],
cordon: true,
},
tags: [{
key: "node-pool-k1",
value: "node-pool-v1",
}],
});
// add existing instances to a custom node pool
const fooInstance: volcengine.ecs.Instance[] = [];
for (const range = {value: 0}; range.value < 2; range.value++) {
fooInstance.push(new volcengine.ecs.Instance(`fooInstance-${range.value}`, {
instanceName: `acc-test-ecs-${range.value}`,
hostName: "tf-acc-test",
imageId: fooImages.then(fooImages => .filter(image => image.imageName == "veLinux 1.0 CentOS兼容版 64位").map(image => (image.imageId))[0]),
instanceType: "ecs.g1ie.xlarge",
password: "93f0cb0614Aab12",
instanceChargeType: "PostPaid",
systemVolumeType: "ESSD_PL0",
systemVolumeSize: 50,
dataVolumes: [{
volumeType: "ESSD_PL0",
size: 50,
deleteWithInstance: true,
}],
subnetId: fooSubnet.id,
securityGroupIds: [fooSecurityGroup.id],
projectName: "default",
tags: [{
key: "k1",
value: "v1",
}],
}));
}
const foo1 = new volcengine.vke.NodePool("foo1", {
clusterId: fooCluster.id,
instanceIds: fooInstance.map(__item => __item.id),
keepInstanceName: true,
nodeConfig: {
instanceTypeIds: ["ecs.g1ie.xlarge"],
subnetIds: [fooSubnet.id],
imageId: fooImages.then(fooImages => .filter(image => image.imageName == "veLinux 1.0 CentOS兼容版 64位").map(image => (image.imageId))[0]),
systemVolume: {
type: "ESSD_PL0",
size: 50,
},
dataVolumes: [{
type: "ESSD_PL0",
size: 50,
mountPoint: "/tf1",
}],
initializeScript: "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
security: {
login: {
password: "UHdkMTIzNDU2",
},
securityStrategies: ["Hids"],
securityGroupIds: [fooSecurityGroup.id],
},
additionalContainerStorageEnabled: false,
instanceChargeType: "PostPaid",
namePrefix: "acc-test",
ecsTags: [{
key: "ecs_k1",
value: "ecs_v1",
}],
},
kubernetesConfig: {
labels: [{
key: "label1",
value: "value1",
}],
taints: [{
key: "taint-key/node-type",
value: "taint-value",
effect: "NoSchedule",
}],
cordon: true,
},
tags: [{
key: "node-pool-k1",
value: "node-pool-v1",
}],
});
Coming soon!
Create NodePool Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new NodePool(name: string, args: NodePoolArgs, opts?: CustomResourceOptions);
@overload
def NodePool(resource_name: str,
args: NodePoolArgs,
opts: Optional[ResourceOptions] = None)
@overload
def NodePool(resource_name: str,
opts: Optional[ResourceOptions] = None,
kubernetes_config: Optional[NodePoolKubernetesConfigArgs] = None,
node_config: Optional[NodePoolNodeConfigArgs] = None,
auto_scaling: Optional[NodePoolAutoScalingArgs] = None,
client_token: Optional[str] = None,
cluster_id: Optional[str] = None,
instance_ids: Optional[Sequence[str]] = None,
keep_instance_name: Optional[bool] = None,
name: Optional[str] = None,
tags: Optional[Sequence[NodePoolTagArgs]] = None)
func NewNodePool(ctx *Context, name string, args NodePoolArgs, opts ...ResourceOption) (*NodePool, error)
public NodePool(string name, NodePoolArgs args, CustomResourceOptions? opts = null)
public NodePool(String name, NodePoolArgs args)
public NodePool(String name, NodePoolArgs args, CustomResourceOptions options)
type: volcengine:vke:NodePool
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args NodePoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args NodePoolArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args NodePoolArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args NodePoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args NodePoolArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var nodePoolResource = new Volcengine.Vke.NodePool("nodePoolResource", new()
{
KubernetesConfig = new Volcengine.Vke.Inputs.NodePoolKubernetesConfigArgs
{
Cordon = false,
Labels = new[]
{
new Volcengine.Vke.Inputs.NodePoolKubernetesConfigLabelArgs
{
Key = "string",
Value = "string",
},
},
NamePrefix = "string",
Taints = new[]
{
new Volcengine.Vke.Inputs.NodePoolKubernetesConfigTaintArgs
{
Effect = "string",
Key = "string",
Value = "string",
},
},
},
NodeConfig = new Volcengine.Vke.Inputs.NodePoolNodeConfigArgs
{
InstanceTypeIds = new[]
{
"string",
},
SubnetIds = new[]
{
"string",
},
Security = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityArgs
{
Login = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityLoginArgs
{
Password = "string",
SshKeyPairName = "string",
},
SecurityGroupIds = new[]
{
"string",
},
SecurityStrategies = new[]
{
"string",
},
},
DataVolumes = new[]
{
new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
{
MountPoint = "string",
Size = 0,
Type = "string",
},
},
EcsTags = new[]
{
new Volcengine.Vke.Inputs.NodePoolNodeConfigEcsTagArgs
{
Key = "string",
Value = "string",
},
},
HpcClusterIds = new[]
{
"string",
},
ImageId = "string",
InitializeScript = "string",
InstanceChargeType = "string",
AdditionalContainerStorageEnabled = false,
NamePrefix = "string",
Period = 0,
AutoRenewPeriod = 0,
AutoRenew = false,
SystemVolume = new Volcengine.Vke.Inputs.NodePoolNodeConfigSystemVolumeArgs
{
Size = 0,
Type = "string",
},
},
AutoScaling = new Volcengine.Vke.Inputs.NodePoolAutoScalingArgs
{
DesiredReplicas = 0,
Enabled = false,
MaxReplicas = 0,
MinReplicas = 0,
Priority = 0,
SubnetPolicy = "string",
},
ClientToken = "string",
ClusterId = "string",
InstanceIds = new[]
{
"string",
},
KeepInstanceName = false,
Name = "string",
Tags = new[]
{
new Volcengine.Vke.Inputs.NodePoolTagArgs
{
Key = "string",
Value = "string",
},
},
});
example, err := vke.NewNodePool(ctx, "nodePoolResource", &vke.NodePoolArgs{
KubernetesConfig: &vke.NodePoolKubernetesConfigArgs{
Cordon: pulumi.Bool(false),
Labels: vke.NodePoolKubernetesConfigLabelArray{
&vke.NodePoolKubernetesConfigLabelArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
NamePrefix: pulumi.String("string"),
Taints: vke.NodePoolKubernetesConfigTaintArray{
&vke.NodePoolKubernetesConfigTaintArgs{
Effect: pulumi.String("string"),
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
},
NodeConfig: &vke.NodePoolNodeConfigArgs{
InstanceTypeIds: pulumi.StringArray{
pulumi.String("string"),
},
SubnetIds: pulumi.StringArray{
pulumi.String("string"),
},
Security: &vke.NodePoolNodeConfigSecurityArgs{
Login: &vke.NodePoolNodeConfigSecurityLoginArgs{
Password: pulumi.String("string"),
SshKeyPairName: pulumi.String("string"),
},
SecurityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
SecurityStrategies: pulumi.StringArray{
pulumi.String("string"),
},
},
DataVolumes: vke.NodePoolNodeConfigDataVolumeArray{
&vke.NodePoolNodeConfigDataVolumeArgs{
MountPoint: pulumi.String("string"),
Size: pulumi.Int(0),
Type: pulumi.String("string"),
},
},
EcsTags: vke.NodePoolNodeConfigEcsTagArray{
&vke.NodePoolNodeConfigEcsTagArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
HpcClusterIds: pulumi.StringArray{
pulumi.String("string"),
},
ImageId: pulumi.String("string"),
InitializeScript: pulumi.String("string"),
InstanceChargeType: pulumi.String("string"),
AdditionalContainerStorageEnabled: pulumi.Bool(false),
NamePrefix: pulumi.String("string"),
Period: pulumi.Int(0),
AutoRenewPeriod: pulumi.Int(0),
AutoRenew: pulumi.Bool(false),
SystemVolume: &vke.NodePoolNodeConfigSystemVolumeArgs{
Size: pulumi.Int(0),
Type: pulumi.String("string"),
},
},
AutoScaling: &vke.NodePoolAutoScalingArgs{
DesiredReplicas: pulumi.Int(0),
Enabled: pulumi.Bool(false),
MaxReplicas: pulumi.Int(0),
MinReplicas: pulumi.Int(0),
Priority: pulumi.Int(0),
SubnetPolicy: pulumi.String("string"),
},
ClientToken: pulumi.String("string"),
ClusterId: pulumi.String("string"),
InstanceIds: pulumi.StringArray{
pulumi.String("string"),
},
KeepInstanceName: pulumi.Bool(false),
Name: pulumi.String("string"),
Tags: vke.NodePoolTagArray{
&vke.NodePoolTagArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
})
var nodePoolResource = new NodePool("nodePoolResource", NodePoolArgs.builder()
.kubernetesConfig(NodePoolKubernetesConfigArgs.builder()
.cordon(false)
.labels(NodePoolKubernetesConfigLabelArgs.builder()
.key("string")
.value("string")
.build())
.namePrefix("string")
.taints(NodePoolKubernetesConfigTaintArgs.builder()
.effect("string")
.key("string")
.value("string")
.build())
.build())
.nodeConfig(NodePoolNodeConfigArgs.builder()
.instanceTypeIds("string")
.subnetIds("string")
.security(NodePoolNodeConfigSecurityArgs.builder()
.login(NodePoolNodeConfigSecurityLoginArgs.builder()
.password("string")
.sshKeyPairName("string")
.build())
.securityGroupIds("string")
.securityStrategies("string")
.build())
.dataVolumes(NodePoolNodeConfigDataVolumeArgs.builder()
.mountPoint("string")
.size(0)
.type("string")
.build())
.ecsTags(NodePoolNodeConfigEcsTagArgs.builder()
.key("string")
.value("string")
.build())
.hpcClusterIds("string")
.imageId("string")
.initializeScript("string")
.instanceChargeType("string")
.additionalContainerStorageEnabled(false)
.namePrefix("string")
.period(0)
.autoRenewPeriod(0)
.autoRenew(false)
.systemVolume(NodePoolNodeConfigSystemVolumeArgs.builder()
.size(0)
.type("string")
.build())
.build())
.autoScaling(NodePoolAutoScalingArgs.builder()
.desiredReplicas(0)
.enabled(false)
.maxReplicas(0)
.minReplicas(0)
.priority(0)
.subnetPolicy("string")
.build())
.clientToken("string")
.clusterId("string")
.instanceIds("string")
.keepInstanceName(false)
.name("string")
.tags(NodePoolTagArgs.builder()
.key("string")
.value("string")
.build())
.build());
node_pool_resource = volcengine.vke.NodePool("nodePoolResource",
kubernetes_config={
"cordon": False,
"labels": [{
"key": "string",
"value": "string",
}],
"name_prefix": "string",
"taints": [{
"effect": "string",
"key": "string",
"value": "string",
}],
},
node_config={
"instance_type_ids": ["string"],
"subnet_ids": ["string"],
"security": {
"login": {
"password": "string",
"ssh_key_pair_name": "string",
},
"security_group_ids": ["string"],
"security_strategies": ["string"],
},
"data_volumes": [{
"mount_point": "string",
"size": 0,
"type": "string",
}],
"ecs_tags": [{
"key": "string",
"value": "string",
}],
"hpc_cluster_ids": ["string"],
"image_id": "string",
"initialize_script": "string",
"instance_charge_type": "string",
"additional_container_storage_enabled": False,
"name_prefix": "string",
"period": 0,
"auto_renew_period": 0,
"auto_renew": False,
"system_volume": {
"size": 0,
"type": "string",
},
},
auto_scaling={
"desired_replicas": 0,
"enabled": False,
"max_replicas": 0,
"min_replicas": 0,
"priority": 0,
"subnet_policy": "string",
},
client_token="string",
cluster_id="string",
instance_ids=["string"],
keep_instance_name=False,
name="string",
tags=[{
"key": "string",
"value": "string",
}])
const nodePoolResource = new volcengine.vke.NodePool("nodePoolResource", {
kubernetesConfig: {
cordon: false,
labels: [{
key: "string",
value: "string",
}],
namePrefix: "string",
taints: [{
effect: "string",
key: "string",
value: "string",
}],
},
nodeConfig: {
instanceTypeIds: ["string"],
subnetIds: ["string"],
security: {
login: {
password: "string",
sshKeyPairName: "string",
},
securityGroupIds: ["string"],
securityStrategies: ["string"],
},
dataVolumes: [{
mountPoint: "string",
size: 0,
type: "string",
}],
ecsTags: [{
key: "string",
value: "string",
}],
hpcClusterIds: ["string"],
imageId: "string",
initializeScript: "string",
instanceChargeType: "string",
additionalContainerStorageEnabled: false,
namePrefix: "string",
period: 0,
autoRenewPeriod: 0,
autoRenew: false,
systemVolume: {
size: 0,
type: "string",
},
},
autoScaling: {
desiredReplicas: 0,
enabled: false,
maxReplicas: 0,
minReplicas: 0,
priority: 0,
subnetPolicy: "string",
},
clientToken: "string",
clusterId: "string",
instanceIds: ["string"],
keepInstanceName: false,
name: "string",
tags: [{
key: "string",
value: "string",
}],
});
type: volcengine:vke:NodePool
properties:
autoScaling:
desiredReplicas: 0
enabled: false
maxReplicas: 0
minReplicas: 0
priority: 0
subnetPolicy: string
clientToken: string
clusterId: string
instanceIds:
- string
keepInstanceName: false
kubernetesConfig:
cordon: false
labels:
- key: string
value: string
namePrefix: string
taints:
- effect: string
key: string
value: string
name: string
nodeConfig:
additionalContainerStorageEnabled: false
autoRenew: false
autoRenewPeriod: 0
dataVolumes:
- mountPoint: string
size: 0
type: string
ecsTags:
- key: string
value: string
hpcClusterIds:
- string
imageId: string
initializeScript: string
instanceChargeType: string
instanceTypeIds:
- string
namePrefix: string
period: 0
security:
login:
password: string
sshKeyPairName: string
securityGroupIds:
- string
securityStrategies:
- string
subnetIds:
- string
systemVolume:
size: 0
type: string
tags:
- key: string
value: string
NodePool Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The NodePool resource accepts the following input properties:
- Kubernetes
Config NodePool Kubernetes Config - The KubernetesConfig of NodeConfig.
- Node
Config NodePool Node Config - The Config of NodePool.
- Auto
Scaling NodePool Auto Scaling - The node pool elastic scaling configuration information.
- Client
Token string - The ClientToken of NodePool.
- Cluster
Id string - The ClusterId of NodePool.
- Instance
Ids List<string> - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - Keep
Instance boolName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - Name string
- The Name of NodePool.
- List<Node
Pool Tag> - Tags.
- Kubernetes
Config NodePool Kubernetes Config Args - The KubernetesConfig of NodeConfig.
- Node
Config NodePool Node Config Args - The Config of NodePool.
- Auto
Scaling NodePool Auto Scaling Args - The node pool elastic scaling configuration information.
- Client
Token string - The ClientToken of NodePool.
- Cluster
Id string - The ClusterId of NodePool.
- Instance
Ids []string - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - Keep
Instance boolName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - Name string
- The Name of NodePool.
- []Node
Pool Tag Args - Tags.
- kubernetes
Config NodePool Kubernetes Config - The KubernetesConfig of NodeConfig.
- node
Config NodePool Node Config - The Config of NodePool.
- auto
Scaling NodePool Auto Scaling - The node pool elastic scaling configuration information.
- client
Token String - The ClientToken of NodePool.
- cluster
Id String - The ClusterId of NodePool.
- instance
Ids List<String> - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep
Instance BooleanName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - name String
- The Name of NodePool.
- List<Node
Pool Tag> - Tags.
- kubernetes
Config NodePool Kubernetes Config - The KubernetesConfig of NodeConfig.
- node
Config NodePool Node Config - The Config of NodePool.
- auto
Scaling NodePool Auto Scaling - The node pool elastic scaling configuration information.
- client
Token string - The ClientToken of NodePool.
- cluster
Id string - The ClusterId of NodePool.
- instance
Ids string[] - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep
Instance booleanName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - name string
- The Name of NodePool.
- Node
Pool Tag[] - Tags.
- kubernetes_
config NodePool Kubernetes Config Args - The KubernetesConfig of NodeConfig.
- node_
config NodePool Node Config Args - The Config of NodePool.
- auto_
scaling NodePool Auto Scaling Args - The node pool elastic scaling configuration information.
- client_
token str - The ClientToken of NodePool.
- cluster_
id str - The ClusterId of NodePool.
- instance_
ids Sequence[str] - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep_
instance_ boolname - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - name str
- The Name of NodePool.
- Sequence[Node
Pool Tag Args] - Tags.
- kubernetes
Config Property Map - The KubernetesConfig of NodeConfig.
- node
Config Property Map - The Config of NodePool.
- auto
Scaling Property Map - The node pool elastic scaling configuration information.
- client
Token String - The ClientToken of NodePool.
- cluster
Id String - The ClusterId of NodePool.
- instance
Ids List<String> - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep
Instance BooleanName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - name String
- The Name of NodePool.
- List<Property Map>
- Tags.
Outputs
All input properties are implicitly available as output properties. Additionally, the NodePool resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Node
Statistics List<NodePool Node Statistic> - The NodeStatistics of NodeConfig.
- Id string
- The provider-assigned unique ID for this managed resource.
- Node
Statistics []NodePool Node Statistic - The NodeStatistics of NodeConfig.
- id String
- The provider-assigned unique ID for this managed resource.
- node
Statistics List<NodePool Node Statistic> - The NodeStatistics of NodeConfig.
- id string
- The provider-assigned unique ID for this managed resource.
- node
Statistics NodePool Node Statistic[] - The NodeStatistics of NodeConfig.
- id str
- The provider-assigned unique ID for this managed resource.
- node_
statistics Sequence[NodePool Node Statistic] - The NodeStatistics of NodeConfig.
- id String
- The provider-assigned unique ID for this managed resource.
- node
Statistics List<Property Map> - The NodeStatistics of NodeConfig.
Look up Existing NodePool Resource
Get an existing NodePool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: NodePoolState, opts?: CustomResourceOptions): NodePool
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
auto_scaling: Optional[NodePoolAutoScalingArgs] = None,
client_token: Optional[str] = None,
cluster_id: Optional[str] = None,
instance_ids: Optional[Sequence[str]] = None,
keep_instance_name: Optional[bool] = None,
kubernetes_config: Optional[NodePoolKubernetesConfigArgs] = None,
name: Optional[str] = None,
node_config: Optional[NodePoolNodeConfigArgs] = None,
node_statistics: Optional[Sequence[NodePoolNodeStatisticArgs]] = None,
tags: Optional[Sequence[NodePoolTagArgs]] = None) -> NodePool
func GetNodePool(ctx *Context, name string, id IDInput, state *NodePoolState, opts ...ResourceOption) (*NodePool, error)
public static NodePool Get(string name, Input<string> id, NodePoolState? state, CustomResourceOptions? opts = null)
public static NodePool get(String name, Output<String> id, NodePoolState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Auto
Scaling NodePool Auto Scaling - The node pool elastic scaling configuration information.
- Client
Token string - The ClientToken of NodePool.
- Cluster
Id string - The ClusterId of NodePool.
- Instance
Ids List<string> - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - Keep
Instance boolName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - Kubernetes
Config NodePool Kubernetes Config - The KubernetesConfig of NodeConfig.
- Name string
- The Name of NodePool.
- Node
Config NodePool Node Config - The Config of NodePool.
- Node
Statistics List<NodePool Node Statistic> - The NodeStatistics of NodeConfig.
- List<Node
Pool Tag> - Tags.
- Auto
Scaling NodePool Auto Scaling Args - The node pool elastic scaling configuration information.
- Client
Token string - The ClientToken of NodePool.
- Cluster
Id string - The ClusterId of NodePool.
- Instance
Ids []string - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - Keep
Instance boolName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - Kubernetes
Config NodePool Kubernetes Config Args - The KubernetesConfig of NodeConfig.
- Name string
- The Name of NodePool.
- Node
Config NodePool Node Config Args - The Config of NodePool.
- Node
Statistics []NodePool Node Statistic Args - The NodeStatistics of NodeConfig.
- []Node
Pool Tag Args - Tags.
- auto
Scaling NodePool Auto Scaling - The node pool elastic scaling configuration information.
- client
Token String - The ClientToken of NodePool.
- cluster
Id String - The ClusterId of NodePool.
- instance
Ids List<String> - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep
Instance BooleanName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - kubernetes
Config NodePool Kubernetes Config - The KubernetesConfig of NodeConfig.
- name String
- The Name of NodePool.
- node
Config NodePool Node Config - The Config of NodePool.
- node
Statistics List<NodePool Node Statistic> - The NodeStatistics of NodeConfig.
- List<Node
Pool Tag> - Tags.
- auto
Scaling NodePool Auto Scaling - The node pool elastic scaling configuration information.
- client
Token string - The ClientToken of NodePool.
- cluster
Id string - The ClusterId of NodePool.
- instance
Ids string[] - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep
Instance booleanName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - kubernetes
Config NodePool Kubernetes Config - The KubernetesConfig of NodeConfig.
- name string
- The Name of NodePool.
- node
Config NodePool Node Config - The Config of NodePool.
- node
Statistics NodePool Node Statistic[] - The NodeStatistics of NodeConfig.
- Node
Pool Tag[] - Tags.
- auto_
scaling NodePool Auto Scaling Args - The node pool elastic scaling configuration information.
- client_
token str - The ClientToken of NodePool.
- cluster_
id str - The ClusterId of NodePool.
- instance_
ids Sequence[str] - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep_
instance_ boolname - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - kubernetes_
config NodePool Kubernetes Config Args - The KubernetesConfig of NodeConfig.
- name str
- The Name of NodePool.
- node_
config NodePool Node Config Args - The Config of NodePool.
- node_
statistics Sequence[NodePool Node Statistic Args] - The NodeStatistics of NodeConfig.
- Sequence[Node
Pool Tag Args] - Tags.
- auto
Scaling Property Map - The node pool elastic scaling configuration information.
- client
Token String - The ClientToken of NodePool.
- cluster
Id String - The ClusterId of NodePool.
- instance
Ids List<String> - The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool.
Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it.
It is not recommended to use this field, it is recommended to use
volcengine.vke.Node
resource to add an existing instance to a custom node pool. - keep
Instance BooleanName - Whether to keep instance name when adding an existing instance to a custom node pool, the value is
true
orfalse
. This field is valid only when adding new instances to the custom node pool. - kubernetes
Config Property Map - The KubernetesConfig of NodeConfig.
- name String
- The Name of NodePool.
- node
Config Property Map - The Config of NodePool.
- node
Statistics List<Property Map> - The NodeStatistics of NodeConfig.
- List<Property Map>
- Tags.
Supporting Types
NodePoolAutoScaling, NodePoolAutoScalingArgs
- Desired
Replicas int - The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
- Enabled bool
- Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be
false
. - Max
Replicas int - The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of
enabled
istrue
. - Min
Replicas int - The MinReplicas of AutoScaling, default 0. This field is valid when the value of
enabled
istrue
. - Priority int
- The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of
enabled
istrue
and the value ofsubnet_policy
isPriority
. - Subnet
Policy string - Multi-subnet scheduling strategy for nodes. The value can be
ZoneBalance
orPriority
.
- Desired
Replicas int - The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
- Enabled bool
- Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be
false
. - Max
Replicas int - The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of
enabled
istrue
. - Min
Replicas int - The MinReplicas of AutoScaling, default 0. This field is valid when the value of
enabled
istrue
. - Priority int
- The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of
enabled
istrue
and the value ofsubnet_policy
isPriority
. - Subnet
Policy string - Multi-subnet scheduling strategy for nodes. The value can be
ZoneBalance
orPriority
.
- desired
Replicas Integer - The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
- enabled Boolean
- Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be
false
. - max
Replicas Integer - The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of
enabled
istrue
. - min
Replicas Integer - The MinReplicas of AutoScaling, default 0. This field is valid when the value of
enabled
istrue
. - priority Integer
- The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of
enabled
istrue
and the value ofsubnet_policy
isPriority
. - subnet
Policy String - Multi-subnet scheduling strategy for nodes. The value can be
ZoneBalance
orPriority
.
- desired
Replicas number - The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
- enabled boolean
- Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be
false
. - max
Replicas number - The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of
enabled
istrue
. - min
Replicas number - The MinReplicas of AutoScaling, default 0. This field is valid when the value of
enabled
istrue
. - priority number
- The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of
enabled
istrue
and the value ofsubnet_policy
isPriority
. - subnet
Policy string - Multi-subnet scheduling strategy for nodes. The value can be
ZoneBalance
orPriority
.
- desired_
replicas int - The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
- enabled bool
- Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be
false
. - max_
replicas int - The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of
enabled
istrue
. - min_
replicas int - The MinReplicas of AutoScaling, default 0. This field is valid when the value of
enabled
istrue
. - priority int
- The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of
enabled
istrue
and the value ofsubnet_policy
isPriority
. - subnet_
policy str - Multi-subnet scheduling strategy for nodes. The value can be
ZoneBalance
orPriority
.
- desired
Replicas Number - The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
- enabled Boolean
- Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be
false
. - max
Replicas Number - The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of
enabled
istrue
. - min
Replicas Number - The MinReplicas of AutoScaling, default 0. This field is valid when the value of
enabled
istrue
. - priority Number
- The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of
enabled
istrue
and the value ofsubnet_policy
isPriority
. - subnet
Policy String - Multi-subnet scheduling strategy for nodes. The value can be
ZoneBalance
orPriority
.
NodePoolKubernetesConfig, NodePoolKubernetesConfigArgs
- Cordon bool
- The Cordon of KubernetesConfig.
- Labels
List<Node
Pool Kubernetes Config Label> - The Labels of KubernetesConfig.
- Name
Prefix string - The NamePrefix of node metadata.
- Taints
List<Node
Pool Kubernetes Config Taint> - The Taints of KubernetesConfig.
- Cordon bool
- The Cordon of KubernetesConfig.
- Labels
[]Node
Pool Kubernetes Config Label - The Labels of KubernetesConfig.
- Name
Prefix string - The NamePrefix of node metadata.
- Taints
[]Node
Pool Kubernetes Config Taint - The Taints of KubernetesConfig.
- cordon Boolean
- The Cordon of KubernetesConfig.
- labels
List<Node
Pool Kubernetes Config Label> - The Labels of KubernetesConfig.
- name
Prefix String - The NamePrefix of node metadata.
- taints
List<Node
Pool Kubernetes Config Taint> - The Taints of KubernetesConfig.
- cordon boolean
- The Cordon of KubernetesConfig.
- labels
Node
Pool Kubernetes Config Label[] - The Labels of KubernetesConfig.
- name
Prefix string - The NamePrefix of node metadata.
- taints
Node
Pool Kubernetes Config Taint[] - The Taints of KubernetesConfig.
- cordon bool
- The Cordon of KubernetesConfig.
- labels
Sequence[Node
Pool Kubernetes Config Label] - The Labels of KubernetesConfig.
- name_
prefix str - The NamePrefix of node metadata.
- taints
Sequence[Node
Pool Kubernetes Config Taint] - The Taints of KubernetesConfig.
- cordon Boolean
- The Cordon of KubernetesConfig.
- labels List<Property Map>
- The Labels of KubernetesConfig.
- name
Prefix String - The NamePrefix of node metadata.
- taints List<Property Map>
- The Taints of KubernetesConfig.
NodePoolKubernetesConfigLabel, NodePoolKubernetesConfigLabelArgs
NodePoolKubernetesConfigTaint, NodePoolKubernetesConfigTaintArgs
NodePoolNodeConfig, NodePoolNodeConfigArgs
- Instance
Type List<string>Ids - The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
- Security
Node
Pool Node Config Security - The Security of NodeConfig.
- Subnet
Ids List<string> - The SubnetIds of NodeConfig.
- Additional
Container boolStorage Enabled - The AdditionalContainerStorageEnabled of NodeConfig.
- Auto
Renew bool - Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
- Auto
Renew intPeriod - The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
- Data
Volumes List<NodePool Node Config Data Volume> - The DataVolumes of NodeConfig.
- List<Node
Pool Node Config Ecs Tag> - Tags for Ecs.
- Hpc
Cluster List<string>Ids - The IDs of HpcCluster, only one ID is supported currently.
- Image
Id string - The ImageId of NodeConfig.
- Initialize
Script string - The initializeScript of NodeConfig.
- Instance
Charge stringType - The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
- Name
Prefix string - The NamePrefix of NodeConfig.
- Period int
- The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
- System
Volume NodePool Node Config System Volume - The SystemVolume of NodeConfig.
- Instance
Type []stringIds - The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
- Security
Node
Pool Node Config Security - The Security of NodeConfig.
- Subnet
Ids []string - The SubnetIds of NodeConfig.
- Additional
Container boolStorage Enabled - The AdditionalContainerStorageEnabled of NodeConfig.
- Auto
Renew bool - Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
- Auto
Renew intPeriod - The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
- Data
Volumes []NodePool Node Config Data Volume - The DataVolumes of NodeConfig.
- []Node
Pool Node Config Ecs Tag - Tags for Ecs.
- Hpc
Cluster []stringIds - The IDs of HpcCluster, only one ID is supported currently.
- Image
Id string - The ImageId of NodeConfig.
- Initialize
Script string - The initializeScript of NodeConfig.
- Instance
Charge stringType - The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
- Name
Prefix string - The NamePrefix of NodeConfig.
- Period int
- The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
- System
Volume NodePool Node Config System Volume - The SystemVolume of NodeConfig.
- instance
Type List<String>Ids - The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
- security
Node
Pool Node Config Security - The Security of NodeConfig.
- subnet
Ids List<String> - The SubnetIds of NodeConfig.
- additional
Container BooleanStorage Enabled - The AdditionalContainerStorageEnabled of NodeConfig.
- auto
Renew Boolean - Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
- auto
Renew IntegerPeriod - The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
- data
Volumes List<NodePool Node Config Data Volume> - The DataVolumes of NodeConfig.
- List<Node
Pool Node Config Ecs Tag> - Tags for Ecs.
- hpc
Cluster List<String>Ids - The IDs of HpcCluster, only one ID is supported currently.
- image
Id String - The ImageId of NodeConfig.
- initialize
Script String - The initializeScript of NodeConfig.
- instance
Charge StringType - The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
- name
Prefix String - The NamePrefix of NodeConfig.
- period Integer
- The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
- system
Volume NodePool Node Config System Volume - The SystemVolume of NodeConfig.
- instance
Type string[]Ids - The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
- security
Node
Pool Node Config Security - The Security of NodeConfig.
- subnet
Ids string[] - The SubnetIds of NodeConfig.
- additional
Container booleanStorage Enabled - The AdditionalContainerStorageEnabled of NodeConfig.
- auto
Renew boolean - Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
- auto
Renew numberPeriod - The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
- data
Volumes NodePool Node Config Data Volume[] - The DataVolumes of NodeConfig.
- Node
Pool Node Config Ecs Tag[] - Tags for Ecs.
- hpc
Cluster string[]Ids - The IDs of HpcCluster, only one ID is supported currently.
- image
Id string - The ImageId of NodeConfig.
- initialize
Script string - The initializeScript of NodeConfig.
- instance
Charge stringType - The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
- name
Prefix string - The NamePrefix of NodeConfig.
- period number
- The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
- system
Volume NodePool Node Config System Volume - The SystemVolume of NodeConfig.
- instance_
type_ Sequence[str]ids - The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
- security
Node
Pool Node Config Security - The Security of NodeConfig.
- subnet_
ids Sequence[str] - The SubnetIds of NodeConfig.
- additional_
container_ boolstorage_ enabled - The AdditionalContainerStorageEnabled of NodeConfig.
- auto_
renew bool - Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
- auto_
renew_ intperiod - The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
- data_
volumes Sequence[NodePool Node Config Data Volume] - The DataVolumes of NodeConfig.
- Sequence[Node
Pool Node Config Ecs Tag] - Tags for Ecs.
- hpc_
cluster_ Sequence[str]ids - The IDs of HpcCluster, only one ID is supported currently.
- image_
id str - The ImageId of NodeConfig.
- initialize_
script str - The initializeScript of NodeConfig.
- instance_
charge_ strtype - The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
- name_
prefix str - The NamePrefix of NodeConfig.
- period int
- The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
- system_
volume NodePool Node Config System Volume - The SystemVolume of NodeConfig.
- instance
Type List<String>Ids - The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
- security Property Map
- The Security of NodeConfig.
- subnet
Ids List<String> - The SubnetIds of NodeConfig.
- additional
Container BooleanStorage Enabled - The AdditionalContainerStorageEnabled of NodeConfig.
- auto
Renew Boolean - Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
- auto
Renew NumberPeriod - The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
- data
Volumes List<Property Map> - The DataVolumes of NodeConfig.
- List<Property Map>
- Tags for Ecs.
- hpc
Cluster List<String>Ids - The IDs of HpcCluster, only one ID is supported currently.
- image
Id String - The ImageId of NodeConfig.
- initialize
Script String - The initializeScript of NodeConfig.
- instance
Charge StringType - The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
- name
Prefix String - The NamePrefix of NodeConfig.
- period Number
- The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
- system
Volume Property Map - The SystemVolume of NodeConfig.
NodePoolNodeConfigDataVolume, NodePoolNodeConfigDataVolumeArgs
- Mount
Point string - The target mount directory of the disk. Must start with
/
. - Size int
- The Size of DataVolumes, the value range in 20~32768. Default value is
20
. - Type string
- The Type of DataVolumes, the value can be
PTSSD
orESSD_PL0
orESSD_FlexPL
. Default value isESSD_PL0
.
- Mount
Point string - The target mount directory of the disk. Must start with
/
. - Size int
- The Size of DataVolumes, the value range in 20~32768. Default value is
20
. - Type string
- The Type of DataVolumes, the value can be
PTSSD
orESSD_PL0
orESSD_FlexPL
. Default value isESSD_PL0
.
- mount
Point String - The target mount directory of the disk. Must start with
/
. - size Integer
- The Size of DataVolumes, the value range in 20~32768. Default value is
20
. - type String
- The Type of DataVolumes, the value can be
PTSSD
orESSD_PL0
orESSD_FlexPL
. Default value isESSD_PL0
.
- mount
Point string - The target mount directory of the disk. Must start with
/
. - size number
- The Size of DataVolumes, the value range in 20~32768. Default value is
20
. - type string
- The Type of DataVolumes, the value can be
PTSSD
orESSD_PL0
orESSD_FlexPL
. Default value isESSD_PL0
.
- mount_
point str - The target mount directory of the disk. Must start with
/
. - size int
- The Size of DataVolumes, the value range in 20~32768. Default value is
20
. - type str
- The Type of DataVolumes, the value can be
PTSSD
orESSD_PL0
orESSD_FlexPL
. Default value isESSD_PL0
.
- mount
Point String - The target mount directory of the disk. Must start with
/
. - size Number
- The Size of DataVolumes, the value range in 20~32768. Default value is
20
. - type String
- The Type of DataVolumes, the value can be
PTSSD
orESSD_PL0
orESSD_FlexPL
. Default value isESSD_PL0
.
NodePoolNodeConfigEcsTag, NodePoolNodeConfigEcsTagArgs
NodePoolNodeConfigSecurity, NodePoolNodeConfigSecurityArgs
- Login
Node
Pool Node Config Security Login - The Login of Security.
- Security
Group List<string>Ids - The SecurityGroupIds of Security.
- Security
Strategies List<string> - The SecurityStrategies of Security, the value can be empty or
Hids
.
- Login
Node
Pool Node Config Security Login - The Login of Security.
- Security
Group []stringIds - The SecurityGroupIds of Security.
- Security
Strategies []string - The SecurityStrategies of Security, the value can be empty or
Hids
.
- login
Node
Pool Node Config Security Login - The Login of Security.
- security
Group List<String>Ids - The SecurityGroupIds of Security.
- security
Strategies List<String> - The SecurityStrategies of Security, the value can be empty or
Hids
.
- login
Node
Pool Node Config Security Login - The Login of Security.
- security
Group string[]Ids - The SecurityGroupIds of Security.
- security
Strategies string[] - The SecurityStrategies of Security, the value can be empty or
Hids
.
- login
Node
Pool Node Config Security Login - The Login of Security.
- security_
group_ Sequence[str]ids - The SecurityGroupIds of Security.
- security_
strategies Sequence[str] - The SecurityStrategies of Security, the value can be empty or
Hids
.
- login Property Map
- The Login of Security.
- security
Group List<String>Ids - The SecurityGroupIds of Security.
- security
Strategies List<String> - The SecurityStrategies of Security, the value can be empty or
Hids
.
NodePoolNodeConfigSecurityLogin, NodePoolNodeConfigSecurityLoginArgs
- Password string
- The Password of Security, this field must be encoded with base64.
- Ssh
Key stringPair Name - The SshKeyPairName of Security.
- Password string
- The Password of Security, this field must be encoded with base64.
- Ssh
Key stringPair Name - The SshKeyPairName of Security.
- password String
- The Password of Security, this field must be encoded with base64.
- ssh
Key StringPair Name - The SshKeyPairName of Security.
- password string
- The Password of Security, this field must be encoded with base64.
- ssh
Key stringPair Name - The SshKeyPairName of Security.
- password str
- The Password of Security, this field must be encoded with base64.
- ssh_
key_ strpair_ name - The SshKeyPairName of Security.
- password String
- The Password of Security, this field must be encoded with base64.
- ssh
Key StringPair Name - The SshKeyPairName of Security.
NodePoolNodeConfigSystemVolume, NodePoolNodeConfigSystemVolumeArgs
NodePoolNodeStatistic, NodePoolNodeStatisticArgs
- Creating
Count int - The CreatingCount of Node.
- Deleting
Count int - The DeletingCount of Node.
- Failed
Count int - The FailedCount of Node.
- Running
Count int - The RunningCount of Node.
- Starting
Count int - (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.
- Stopped
Count int - (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
- Stopping
Count int - (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
- Total
Count int - The TotalCount of Node.
- Updating
Count int - The UpdatingCount of Node.
- Creating
Count int - The CreatingCount of Node.
- Deleting
Count int - The DeletingCount of Node.
- Failed
Count int - The FailedCount of Node.
- Running
Count int - The RunningCount of Node.
- Starting
Count int - (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.
- Stopped
Count int - (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
- Stopping
Count int - (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
- Total
Count int - The TotalCount of Node.
- Updating
Count int - The UpdatingCount of Node.
- creating
Count Integer - The CreatingCount of Node.
- deleting
Count Integer - The DeletingCount of Node.
- failed
Count Integer - The FailedCount of Node.
- running
Count Integer - The RunningCount of Node.
- starting
Count Integer - (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.
- stopped
Count Integer - (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
- stopping
Count Integer - (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
- total
Count Integer - The TotalCount of Node.
- updating
Count Integer - The UpdatingCount of Node.
- creating
Count number - The CreatingCount of Node.
- deleting
Count number - The DeletingCount of Node.
- failed
Count number - The FailedCount of Node.
- running
Count number - The RunningCount of Node.
- starting
Count number - (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.
- stopped
Count number - (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
- stopping
Count number - (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
- total
Count number - The TotalCount of Node.
- updating
Count number - The UpdatingCount of Node.
- creating_
count int - The CreatingCount of Node.
- deleting_
count int - The DeletingCount of Node.
- failed_
count int - The FailedCount of Node.
- running_
count int - The RunningCount of Node.
- starting_
count int - (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.
- stopped_
count int - (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
- stopping_
count int - (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
- total_
count int - The TotalCount of Node.
- updating_
count int - The UpdatingCount of Node.
- creating
Count Number - The CreatingCount of Node.
- deleting
Count Number - The DeletingCount of Node.
- failed
Count Number - The FailedCount of Node.
- running
Count Number - The RunningCount of Node.
- starting
Count Number - (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.
- stopped
Count Number - (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
- stopping
Count Number - (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
- total
Count Number - The TotalCount of Node.
- updating
Count Number - The UpdatingCount of Node.
NodePoolTag, NodePoolTagArgs
Import
NodePool can be imported using the id, e.g.
$ pulumi import volcengine:vke/nodePool:NodePool default pcabe57vqtofgrbln3dp0
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- volcengine volcengine/pulumi-volcengine
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
volcengine
Terraform Provider.