tencentcloud_kubernetes_node_pool

最近更新时间:2025-09-05 09:54:31

我的收藏

描述

容器集群节点池,节点池概述

示例

resource "tencentcloud_kubernetes_node_pool" "lakehouse-compute-flighting" {
name = "UPGRADE-COMPUTE-LAKEHOUSE"
cluster_id = "cls-xxxxxx"
max_size = 6
min_size = 0
vpc_id = "vpc-xxxxxx"
subnet_ids = ["subnet-xxxxxx"]
retry_policy = "IMMEDIATE_RETRY"
multi_zone_subnet_policy = "PRIORITY"
enable_auto_scale = false

node_os = "centos7.8.0_x64"

node_config {
data_disk {
disk_type = "CLOUD_PREMIUM"
disk_size = 300
}
}

auto_scaling_config {
instance_type = "S5.SMALL1"
system_disk_type = "CLOUD_PREMIUM"
system_disk_size = 50
security_group_ids = ["sg-xxxxxx"]
host_name = "foundation-node"
host_name_style = "UNIQUE"

data_disk {
disk_type = "CLOUD_HSSD"
disk_size = 300
}

password = "xxxxxx"
enhanced_security_service = false
enhanced_monitor_service = false
instance_charge_type = "POSTPAID_BY_HOUR"
}

labels = {
"product_flighting" = "lakehouse_flighting",
"service_group" = "compute"
}
}


参数说明

类型
名称
数据类型
说明
必填
region
string
地域,如:ap-guangzhou,默认使用 provider 中定义的 region 也可以在 resource 中指定地域,覆盖默认设置
cluster_id
string
容器集群 ID
max_size
int
弹性伸缩配置,最大实例数,取值范围为0-2000
min_size
int
弹性伸缩配置,最小实例数,取值范围为0-2000
vpc_id
string
弹性伸缩配置,VPC ID
可选
availability_zone
string
可用区
count
int
资源数量,默认为 1 如果为 0 则不创建资源
activity_id
int
计费活动 ID,保留字段
name
string
超级节点名称
subnet_ids
string[]
弹性伸缩配置,子网 ID 列表
desired_capacity
int
弹性伸缩配置,期望实例数,大小介于最小实例数和最大实例数之间
enable_auto_scale
boolean
是否启用自动伸缩
retry_policy
string
重试策略,可选值:
IMMEDIATE_RETRY:立即重试,在较短时间内快速重试,连续失败超过一定次数(5次)后不再重试
INCREMENTAL_INTERVALS:间隔递增重试,随着连续失败次数的增加,重试间隔逐渐增大,前 10 次重试间隔与立即重试模式相同,后续逐步递增至10分钟、30分钟、60分钟、一天
NO_RETRY:不进行重试,直到再次收到用户调用或者告警信息后才会重试
scaling_mode
string
扩缩容模式,可选值:
CLASSIC_SCALING:经典方式,使用创建、销毁实例来实现扩缩容
WAKE_UP_STOPPED_SCALING:扩容优先开机。扩容时优先对已关机的实例执行开机操作,若开机后实例数仍低于期望实例数,则创建实例,缩容仍采用销毁实例的方式。用户可以使用 StopAutoScalingInstances 接口来关闭伸缩组内的实例。监控告警触发的扩容仍将创建实例
multi_zone_subnet_policy
string
多可用区/子网策略,取值包括:
PRIORITY:按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建
EQUALITY:扩容出的实例会打散到多个可用区/子网,保证扩容后的各个可用区/子网实例数相对均衡
node_config
Schema[]
节点配置
Schema 类型详见:NodeConfigSchema
auto_scaling_config
Schema[]
伸缩组配置
Schema 类型详见:AutoScalingConfigSchema
labels
object
节点 Label 数据
unschedulable
int
设置加入的节点是否参与调度,默认值为0,表示参与调度;非0表示不参与调度, 待节点初始化完成之后,可执行 kubectl uncordon nodename 使 node 加入调度.
taints
Schema[]
Kubernetes Taint
Schema 类型详见:TaintSchema
delete_keep_instance
boolean
删除节点时是否保留 CVM 云服务器
deletion_protection
boolean
是否开启删除保护
node_os
string
节点操作系统,查看 详情
node_os_type
string
容器的镜像版本,可选值:
DOCKER_CUSTOMIZE:容器定制版
GENERAL:普通版本
默认值:GENERAL
scaling_group_name
string
伸缩组名称
zones
string[]
弹性伸缩组的可用区列表,基础网络场景下必须指定可用区。多个可用区以填写顺序为优先级,依次进行尝试,直至可以成功创建实例。
default_cooldown
int
默认冷却时间,单位秒,默认值为300
termination_policies
string[]
销毁策略,目前长度上限为1。取值包括:
OLDEST_INSTANCE:优先销毁伸缩组中最旧的实例
NEWEST_INSTANCE:优先销毁伸缩组中最新的实例
生成
id
string
资源实例 ID
create_time
string
资源创建时间
status
string
LifeState 状态,当前节点池生命周期状态包括:
creating:创建中
normal:正常
updating:更新中
deleting:删除中
deleted:已删除
node_count
int
节点总数
autoscaling_added_total
int
自动管理的节点总数
manually_added_total
int
手动管理的节点总数
launch_config_id
string
启动配置 ID
auto_scaling_group_id
string
伸缩组 ID

数据结构

NodeConfigSchema

参数说明

类型
名称
数据类型
说明
可选
mount_target
string
-
docker_graph_path
string
-
data_disk
Schema[]
数据盘配置
Schema 类型详见:DataDiskSchema
extra_args
string[]
节点相关的自定义参数信息
user_data
string
base64 编码的用户脚本,此脚本会在 k8s 组件运行后执行,需要用户保证脚本的可重入及重试逻辑。脚本及其生成的日志文件可在节点的 /data/ccs_userscript/ 路径查看,如果要求节点需要在进行初始化完成后才可加入调度,可配合 unschedulable 参数使用,在 userScript 最后初始化完成后,添加 kubectl uncordon nodename --kubeconfig=/root/.kube/config 命令使节点加入调度
pre_start_user_script
string
-
is_schedule
boolean
设置加入的节点是否参与调度
desired_pod_num
int
该节点属于 podCIDR 大小自定义模式时,可指定节点上运行的 pod 数量上限
gpu_args
Schema[]
GPU 相关的参数,包括驱动版本,CUDA 版本,CUDNN 版本以及是否开启 MIG
Schema 类型详见:GPUArgsSchema

DataDiskSchema

描述

描述了 k8s 节点数据盘相关配置与信息。

参数说明

类型
名称
数据类型
说明
必填
disk_type
enum
云盘类型
示例值:CLOUD_PREMIUM
硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_BSSD:表示通用型 SSD 云硬盘
CLOUD_SSD:表示 SSD 云硬盘
CLOUD_HSSD:表示增强型 SSD 云硬盘
CLOUD_TSSD:表示极速型 SSD 云硬盘。
枚举值:
LOCAL_BASIC
LOCAL_SSD
CLOUD_BASIC
CLOUD_PREMIUM
CLOUD_SSD
CLOUD_HSSD
CLOUD_TSSD
file_system
string
文件系统(ext3/ext4/xfs) 示例值:ext4
disk_size
int
云盘大小(G) 示例值:50
auto_format_and_mount
boolean
是否自动化格式盘并挂载 示例值:true
disk_partition
string
挂载设备名或分区名 示例值:/dev/vdb
可选
mount_target
string
挂载目录 示例值:/var/lib/docker
encrypt
string
传入该参数用于创建加密云盘,取值固定为 ENCRYPT
示例值:ENCRYPT
kms_key_id
string
购买加密盘时自定义密钥,当传入该参数时。Encrypt 入参不为空
示例值:06a83929-0050-11ee-8cbc-5254001955d1
snapshot_id
string
快照 ID,如果传入则根据此快照创建云硬盘,快照类型必须为数据盘快照
示例值:snap-2ubk61lh
throughput_performance
int
云硬盘性能,单位:MB/s。使用此参数可给云硬盘购买额外的性能 示例值:10

GPUArgsSchema

描述

GPU 相关的参数,包括驱动版本,CUDA 版本,CUDNN 版本以及是否开启 MIG

参数说明

类型
名称
数据类型
说明
可选
cuda
Schema[]
CUDA 版本信息
Schema 类型详见:DriverVersionSchema
cudnn
Schema[]
CUDNN 版本信息
Schema 类型详见:CUDNNSchema
custom_driver
Schema[]
自定义 GPU 驱动信息
Schema 类型详见:CustomDriverSchema
driver
Schema[]
GPU 驱动版本信息
Schema 类型详见:DriverVersionSchema
mig_enable
boolean
是否启用 MIG 特性
示例值:false

DriverVersionSchema

描述

GPU 驱动版本信息。

参数说明

类型
名称
数据类型
说明
必填
name
string
GPU 驱动或者 CUDA 的名字
示例值:NVIDIA-Linux-x86_64-418.126.02.run
version
string
GPU 驱动或者 CUDA 的版本
示例值:418.126.02

CUDNNSchema

描述

CUDNN 版本信息。

参数说明

类型
名称
数据类型
说明
必填
name
string
CUDNN 的名字
示例值:libcudnn7_7.5.0.56-1+cuda10.1_amd64.deb
version
string
CUDNN 的版本
示例值:7.5.0
可选
dev_name
string
CUDNN 的 Dev 名字
示例值:libcudnn7-dev_7.5.0.56-1+cuda10.1_amd64.deb
doc_name
string
CUDNN 的 Doc 名字
示例值:libcudnn7-doc_7.5.0.56-1+cuda10.1_amd64.deb

CustomDriverSchema

描述

自定义 GPU 驱动信息。

参数说明

类型
名称
数据类型
说明
可选
address
string
自定义 GPU 驱动地址链接
示例值:https://tencent.com/NVIDIA-Linux-x86_64-460.32.03.run

AutoScalingConfigSchema

参数说明

类型
名称
数据类型
说明
必填
instance_type
string
实例类型,如:S3.MEDIUM2
可选
backup_instance_types
string[]
备份实例类型,如果 instance_type 指定的类型售罄,则使用备份类型
system_disk_type
TkeDiskType
系统盘类型
system_disk_size
int
系统盘大小
data_disk
Schema[]
Schema 类型详见:CvmDataDiskSchema
instance_charge_type
enum
实例计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费,按量付费
默认按量付费
枚举值:
PREPAID:预付费
POSTPAID_BY_HOUR:按小时后付费,按量付费
instance_charge_type_prepaid_period
int
预付费时长,单位为月,取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36。
instance_charge_type_prepaid_renew_flag
enum
自动续费标识
枚举值:
NOTIFY_AND_AUTO_RENEW
NOTIFY_AND_MANUAL_RENEW
DISABLE_NOTIFY_AND_MANUAL_RENEW
spot_instance_type
string
-
spot_max_price
string
输入价格,如:"1"
internet_charge_type
enum
网络计费类型。默认取值:非带宽包用户默认与子机付费类型保持一致。
查看 参数定义
枚举值:
BANDWIDTH_PREPAID:预付费按带宽结算
BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费
BANDWIDTH_PACKAGE:带宽包用户
TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费
bandwidth_package_id
string
带宽包 ID
查看 参数定义
internet_max_bandwidth_out
int
公网出带宽上限,单位:Mbps。
查看 参数定义
public_ip_assigned
boolean
是否分配公网 IP,与 internet_max_bandwidth_out 参数一同出现
当公网带宽大于0Mbps时,可自由选择开通与否,默认开通公网 IP;当公网带宽为0,则不允许分配公网 IP
password
string
实例登录密码
key_ids
string[]
-
security_group_ids
string[]
安全组 ID
orderly_security_group_ids
string[]
安全组 ID
enhanced_security_service
boolean
-
enhanced_monitor_service
boolean
-
cam_role_name
string
CAM 角色名
instance_name
string
实例名
host_name
string
-
host_name_style
string
可选值:
ORIGINAL
UNIQUE

CvmDataDiskSchema

参数说明

类型
名称
数据类型
说明
可选
disk_type
TkeDiskType
硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_BSSD:表示通用型 SSD 云硬盘
CLOUD_SSD:表示 SSD 云硬盘
CLOUD_HSSD:表示增强型 SSD 云硬盘
CLOUD_TSSD:表示极速型 SSD 云硬盘。
disk_size
int
云硬盘大小,单位为 GB
snapshot_id
string
快照 ID
delete_with_instance
boolean
是否随实例一起销毁
encrypt
boolean
数据盘是否加密,默认为 false
throughput_performance
int
云硬盘性能,单位:MB/s

TaintSchema

描述

Kubernetes Taint,查看 参数定义

参数说明

类型
名称
数据类型
说明
可选
key
string
Taint 的 Key
示例值:key1
value
string
Taint 的 Value
示例值:value1
effect
string
Taint 的 Effect
示例值:NoSchedule