描述
容器集群原生节点池,原生节点池概述
示例
resource "tencentcloud_kubernetes_native_node_pool" "kubernetes_native_node_pool" {cluster_id = "cls-eyier120"name = "native-node-pool"type = "Native"labels = [{name = "test11"value = "test21"}]taints = [{key = "product"value = "coderider"effect = "NoExecute"}]tags = [{resource_type = "machine"tags = [{key = "keep-test-np1"value = "test1"},{key = "keep-test-np3"value = "test3"}]}]deletion_protection = falseunschedulable = falsenative = {scaling = {min_replicas = 1max_replicas = 10create_policy = "ZoneEquality"}subnet_ids = ["subnet-itb6d123"]instance_charge_type = "PREPAID"system_disk = {disk_type = "CLOUD_SSD"disk_size = 50}instance_types = ["SA2.MEDIUM2"]security_group_ids = ["sg-7tum9120"]auto_repair = falseinstance_charge_prepaid = {period = 1renew_flag = "NOTIFY_AND_MANUAL_RENEW"}management = {nameservers = ["183.60.83.19", "183.60.82.98"]hosts = ["192.168.2.42 static.fake.com", "192.168.2.42 static.fake.com2"]kernel_args = ["kernel.pid_max=65535", "fs.file-max=400000"]}host_name_pattern = "aaa{R:3}"kubelet_args = ["allowed-unsafe-sysctls=net.core.somaxconn", "root-dir=/var/lib/test"]lifecycle = {pre_init = "ZWNobyBoZWxsb3dvcmxk"post_init = "WDNOzlcuawd43bDKLW35ca"}runtime_root_dir = "/var/lib/docker"enable_autoscaling = truereplicas = 2internet_accessible = {max_bandwidth_out = 50charge_type = "TRAFFIC_POSTPAID_BY_HOUR"}data_disks = [{disk_type = "CLOUD_PREMIUM"file_system = "ext4"disk_size = 60mount_target = "/var/lib/containerd"auto_format_and_mount = true}]key_ids = ["skey-9pcs2100"]}annotations = [{name = "node.tke.cloud.tencent.com/test-anno"value = "test"},{name = "node.tke.cloud.tencent.com/test-label"value = "test"}]}
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | region | string | 地域,如:ap-guangzhou,默认使用 provider 中定义的 region
也可以在 resource 中指定地域,覆盖默认设置 |
必填 | cluster_id | string | 集群 ID 示例值:cls-eyier120 |
必填 | name | string | 节点池名称 示例值:native-node-pool |
必填 | type | string | 节点池类型 示例值:Native |
可选 | availability_zone | string | 可用区 |
可选 | count | int | 资源数量,默认为 1
如果为 0 则不创建资源 |
可选 | activity_id | int | 计费活动 ID,保留字段 |
可选 | labels | Schema[] | 节点 Labels Schema 类型详见:LabelSchema |
可选 | taints | Schema[] | 节点污点 Schema 类型详见:TaintSchema |
可选 | tags | Schema[] | 节点标签 Schema 类型详见:TagSpecificationSchema |
可选 | deletion_protection | boolean | 是否开启删除保护
示例值:true |
可选 | unschedulable | boolean | 节点是否默认不可调度
示例值:false |
可选 | native | Schema[] | 原生节点池创建参数 Schema 类型详见:CreateNativeNodePoolParamSchema |
可选 | annotations | Schema[] | 节点 Annotation 列表 Schema 类型详见:AnnotationSchema |
生成 | id | string | 资源实例 ID |
生成 | create_time | string | 资源创建时间 |
生成 | life_state | string | 节点池状态
示例值:Running |
数据结构
LabelSchema
描述
k8s 中标签,一般以数组的方式存在。
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | name | string | map 表中的 Name 示例值:test11 |
必填 | value | string | map 表中的 Value 示例值:test21 |
TaintSchema
描述
参数说明
类型 | 名称 | 数据类型 | 说明 |
可选 | key | string | Taint 的 Key 示例值:product |
可选 | value | string | Taint 的 Value 示例值:coderider |
可选 | effect | string | Taint 的 Effect 示例值:NoExecute |
TagSpecificationSchema
描述
标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云主机实例。
参数说明
类型 | 名称 | 数据类型 | 说明 |
可选 | resource_type | string | 标签绑定的资源类型,当前支持类型: cluster:集群相关接口,TagSpecification 的 ResourceType 传参为 cluster machine:节点池相关接口,如:CreateNodePool、DescribeNodePools 等,TagSpecification 的 ResourceType 传参为 machine 示例值:machine |
可选 | tags | Schema[] | 标签对列表 Schema 类型详见:TagSchema |
TagSchema
描述
标签绑定的资源类型,当前支持类型:"cluster"。
参数说明
类型 | 名称 | 数据类型 | 说明 |
可选 | key | string | 标签键 示例值:keep-test-np1 |
可选 | value | string | 标签值 示例值:test1 |
CreateNativeNodePoolParamSchema
描述
原生节点池创建参数。
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | scaling | Schema[] | 节点池伸缩配置 Schema 类型详见:MachineSetScalingSchema |
必填 | subnet_ids | string[] | 子网列表
示例值:["subnet-4h43fuxj"] |
必填 | instance_charge_type | string | 节点计费类型。 PREPAID:包年包月 POSTPAID_BY_HOUR:按量计费(默认) 示例值:PREPAID |
必填 | system_disk | Schema[] | 系统盘配置 Schema 类型详见:DiskSchema |
必填 | instance_types | string[] | 机型列表 示例值:["SA2.MEDIUM2"] |
必填 | security_group_ids | string[] | 安全组列表 示例值:["sg-7tum9120"] |
可选 | upgrade_settings | Schema[] | 自动升级配置 Schema 类型详见:MachineUpgradeSettingsSchema |
可选 | auto_repair | boolean | 是否开启自愈能力 示例值:false |
可选 | instance_charge_prepaid | Schema[] | 包年包月机型计费配置 |
可选 | management | Schema[] | 节点池 Management 参数设置 Schema 类型详见:ManagementConfigSchema |
可选 | health_check_policy_name | string | 故障自愈规则名称
示例值:policy1 |
可选 | host_name_pattern | string | 原生节点池 hostName 模式串 示例值:aaa{R:3} |
可选 | kubelet_args | string[] | kubelet 自定义参数 示例值:["allowed-unsafe-sysctls=net.core.somaxconn", "root-dir=/var/lib/test"] |
可选 | lifecycle | Schema[] | 预定义脚本 Schema 类型详见:LifecycleConfigSchema |
可选 | runtime_root_dir | string | 运行时根目录
示例值:/var/lib/docker |
可选 | enable_autoscaling | boolean | 是否开启弹性伸缩
示例值:true |
可选 | replicas | int | 期望节点数 示例值:2 |
可选 | internet_accessible | Schema[] | 公网带宽设置 Schema 类型详见:InternetAccessibleSchema |
可选 | data_disks | Schema[] | 原生节点池数据盘列表 Schema 类型详见:DataDiskSchema |
可选 | key_ids | string[] | 节点池 SSH 公钥 ID 数组 示例值:["skey-9pcs2100"] |
可选 | machine_type | string | 节点池类型,NativeCVM 或者 Native |
MachineSetScalingSchema
描述
节点池伸缩配置。
参数说明
类型 | 名称 | 数据类型 | 说明 |
可选 | min_replicas | int | 节点池最小副本数
示例值:1 |
可选 | max_replicas | int | 节点池最大副本数
示例值:10 |
可选 | create_policy | string | 节点池扩容策略 ZoneEquality:多可用区打散 ZonePriority:首选可用区优先 示例值:ZoneEquality |
DiskSchema
描述
系统盘配置。
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | disk_type | string | 云盘类型 示例值:CLOUD_SSD |
必填 | disk_size | int | 云盘大小(G) 示例值:50 |
可选 | auto_format_and_mount | boolean | 是否自动化格式盘并挂载
示例值:true |
可选 | file_system | string | 文件系统 示例值:ext4 |
可选 | mount_target | string | 挂载目录
示例值:/var/lib/containerd |
可选 | disk_id | string | 云盘 ID 示例值:disk-kped07j8 |
MachineUpgradeSettingsSchema
描述
自动升级配置。
参数说明
类型 | 名称 | 数据类型 | 说明 |
可选 | auto_upgrade | boolean | 是否开启自动升级
示例值:true |
可选 | upgrade_options | Schema[] | 运维窗口 Schema 类型详见:AutoUpgradeOptionsSchema |
可选 | components | string[] | 升级项
示例值:["kubelet","kernel"] |
可选 | max_unavailable | Schema[] | 升级时,最大不可升级的节点数 Schema 类型详见:IntOrStringSchema |
AutoUpgradeOptionsSchema
描述
运维窗口。
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | duration | string | 自动升级持续时间
示例值:3h |
可选 | auto_upgrade_start_time | string | 自动升级开始时间
示例值:24:00 |
可选 | weekly_period | string[] | 运维日期
示例值:["Monday"] |
IntOrStringSchema
描述
升级时,最大不可升级的节点数。
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | type | int | 数值类型,0是 int,1是字符串 示例值:int |
可选 | IntVal | int | 整数
示例值:10 |
可选 | StrVal | string | 字符串
示例值:20% |
ManagementConfigSchema
描述
节点池 Management 参数设置。
参数说明
类型 | 名称 | 数据类型 | 说明 |
可选 | nameservers | string[] | DNS 配置 示例值:["183.60.83.19", "183.60.82.98"] |
可选 | hosts | string[] | hosts 配置 示例值:["192.168.2.42 static.fake.com", "192.168.2.42 static.fake.com2"] |
可选 | kernel_args | string[] | 内核参数配置 示例值:["kernel.pid_max=65535", "fs.file-max=400000"] |
LifecycleConfigSchema
描述
预定义脚本
参数说明
类型 | 名称 | 数据类型 | 说明 |
可选 | pre_init | string | 节点初始化前自定义脚本 示例值:ZWNobyBoZWxsb3dvcmxk |
可选 | post_init | string | 节点初始化后自定义脚本 示例值:WDNOzlcuawd43bDKLW35ca |
InternetAccessibleSchema
描述
公网带宽设置。
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | max_bandwidth_out | int | 带宽
示例值:50 |
必填 | charge_type | string | 网络计费方式 示例值:TRAFFIC_POSTPAID_BY_HOUR |
可选 | bandwidth_package_id | string | 带宽包 ID
示例值:BandwidthPackageId |
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) 示例值:60 |
必填 | auto_format_and_mount | boolean | 是否自动化格式盘并挂载
示例值:true |
必填 | disk_partition | string | 挂载设备名或分区名
示例值:/dev/vdb |
可选 | mount_target | string | 挂载目录 示例值:/var/lib/containerd |
可选 | 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 |
AnnotationSchema
描述
k8s 中标注,一般以数组的方式存在。
参数说明
类型 | 名称 | 数据类型 | 说明 |
必填 | name | string | map 表中的 Name 示例值:k8s-app |
必填 | value | string | map 表中的 Value 示例值:billing |