tencentcloud_kubernetes_cluster

最近更新时间:2025-09-04 14:56:13

我的收藏

描述

腾讯云容器服务标准集群,产品介绍
支持的购买方式:
后付费
预付费(用户余额支付)

示例

resource "tencentcloud_kubernetes_cluster" "tke-cluster1" {
availability_zone = var.app_target.availability_zone
vpc_id = var.app_target.vpc.id
subnet_ids = [var.app_target.subnet.id]
cluster_cidr = "172.16.0.0/16"
cluster_os = "tlinux3.1x86_64"
cluster_os_type = "GENERAL"
cluster_deploy_type = "MANAGED_CLUSTER"
network_type = "GR"


worker_config {
count = 2
availability_zone = var.app_target.availability_zone
instance_type = "SA3.MEDIUM2"
img_id = "img-eb30mz89"
subnet_id = var.app_target.subnet.id
cam_role_name = var.cloudapp_cam_role
}

labels = {
"test1" = "test1"
"test2" = "test2"
}

resource_delete_options {
resource_type = "CBS"
delete_mode = "terminate"
}
}

参数说明

类型
名称
数据类型
说明
必填
region
string
地域,如:ap-guangzhou,默认使用 provider 中定义的 region 也可以在 resource 中指定地域,覆盖默认设置
availability_zone
string
可用区
vpc_id
string
VPC ID
可选
count
int
资源数量,默认为 1 如果为 0 则不创建资源
activity_id
int
计费活动 ID,保留字段
cluster_cidr
string
用于分配集群容器和服务 IP 的 CIDR,如:10.1.0.0/14
service_cidr
string
用于分配集群服务 IP 的 CIDR,如:"10.1.0.0/24"
eni_subnet_ids
string[]
VPC-CNI 网络模式下,弹性网卡的子网 ID
cluster_desc
string
集群描述
cluster_os
string
集群系统。centos7.2x86_64 或者 ubuntu16.04.1 LTSx86_64,默认取值为 ubuntu16.04.1 LTSx86_64
cluster_level
string
集群等级,针对托管集群生效
ignore_cluster_cidr_conflict
boolean
是否忽略 ClusterCIDR 冲突错误,默认不忽略
示例值:false
ignore_service_cidr_conflict
boolean
是否忽略 ServiceCIDR 冲突错误,仅在 VPC-CNI 模式生效,默认不忽略
示例值:false
cluster_max_pod_num
int
集群中每个 Node 上最大的 Pod 数量。取值范围 16~256。不为2的幂值时会向上取最接近的 2 的幂值
cluster_max_service_num
int
集群最大的 service 数量。取值范围 32~32768,不为2的幂值时会向上取最接近的2的幂值。默认值256
container_runtime
enum
集群使用的 runtime 类型,包括"docker"和"containerd"两种类型,默认为"docker"
枚举值:
docker
containerd
cluster_os_type
enum
容器的镜像版本,默认值为:GENERAL
枚举值:
DOCKER_CUSTOMIZE
GENERAL
cluster_as_enabled
boolean
是否启用集群节点自动扩缩容(创建集群流程不支持开启此功能)
cluster_audit_enabled
boolean
是否开启审计开关,默认不开启
开启集群审计后,会在日志服务 CLS 自动创建日志集和日志主题
也可以通过 cluster_audit_log_set_id、cluster_audit_log_topic_id 指定日志集
cluster_audit_log_set_id
string
审计日志上传到的 logset 日志集
cluster_audit_log_topic_id
string
审计日志上传到的 topic
cluster_ipvs
boolean
是否启用 IPVS
cluster_deploy_type
enum
集群类型
托管集群:MANAGED_CLUSTER
独立集群:INDEPENDENT_CLUSTER
枚举值:
MANAGED_CLUSTER
INDEPENDENT_CLUSTER
node_name_type
string
集群中节点 NodeName 类型(包括 hostname,lan-ip 两种形式,默认为lan-ip。
如果开启了 hostname 模式,创建节点时需要设置 HostName 参数,并且 InstanceName 需要和 HostName 一致)
deletion_protection
boolean
是否启用集群删除保护
resource_delete_options
Schema[]
集群删除时资源的删除策略,目前支持 CBS(默认保留 CBS)
Schema 类型详见:ResourceDeleteOptionSchema
cluster_version
string
集群版本,默认值为 1.28.3 版本
cluster_extra_args
Schema[]
集群自定义参数,详见 参数定义
Schema 类型详见:ClusterExtraArgSchema
network_type
"VPC-CNI" | "GR"
集群网络类型,包括 GR (全局路由)和 VPC-CNI 两种模式,默认为 GR
worker_config
Schema[]
worker 节点配置
Schema 类型详见:TkeCvmCreateSchema
labels
object
节点 Label 配置
master_config
Schema[]
master 节点配置
Schema 类型详见:TkeCvmCreateSchema
extension_addon
Schema[]
需要安装的扩展组件信息,详见 参数定义
Schema 类型详见:ExtensionAddonSchema
user_script
string
base64 编码的用户脚本,此脚本会在 k8s 组件运行后执行,需要用户保证脚本的可重入及重试逻辑
脚本及其生成的日志文件可在节点的 /data/ccs_userscript/ 路径查看,如果要求节点需要在进行初始化完成后才可加入调度,可配合 unschedulable 参数使用,在 userScript 最后初始化完成后,添加 kubectl uncordon nodename --kubeconfig=/root/.kube/config 命令使节点加入调度
user_script_raw
string
原始的用户脚本,未经过 base64 编码
taints
Schema[]
kubernetes Taint
Schema 类型详见:TaintSchema
生成
id
string
资源实例 ID
create_time
string
资源创建时间
worker_instances_list
Schema[]
节点列表信息,这里会列出所有的节点
Schema 类型详见:WorkerInstanceSchema
node_instance_ids
string[]
集群节点 CVM id
kube_config
string
集群 kubeconfig 文件,可用于直接访问集群 kube-apiserver
kube_config_intranet
string
集群内网 kubeconfig 文件,可用于直接访问集群 kube-apiserver

数据结构

ResourceDeleteOptionSchema

描述

集群删除时资源的删除策略。

参数说明

类型
名称
数据类型
说明
必填
resource_type
string
资源类型,可选值:
CBS:云硬盘
CLB:负载均衡
CVM:云服务器
delete_mode
string
删除集群时,CBS 资源的删除模式
terminate:销毁
retain:保留
集群删除时,其他资源默认为销毁。
可选
skip_deletion_protection
boolean
是否跳过开启删除保护的资源,默认 false
设置为 true 时不清理开启了删除保护的资源,CLB 有终端节点的情况也属于开了删除保护

ClusterExtraArgSchema

描述

集群自定义参数,详见参数定义

参数说明

类型
名称
数据类型
说明
可选
kube_apiserver
string[]
kube-apiserver 自定义参数,参数格式为 ["k1=v1", "k1=v2"], 例如["max-requests-inflight=500","feature-gates=PodShareProcessNamespace=true,DynamicKubeletConfig=true"]
kube_controller_manager
string[]
kube-controller-manager 自定义参数
kube_scheduler
string[]
kube-scheduler 自定义参数

TkeCvmCreateSchema

描述

用 CVM 创建 node 节点的参数定义。

参数说明

类型
名称
数据类型
说明
必填
availability_zone
string
节点 CVM 的可用区
instance_type
string
实例类型,如:S3.MEDIUM2
internet_max_bandwidth_out
int
公网出带宽上限,单位:Mbps。
查看 参数定义
可选
count
int
节点数量
instance_name
string
节点的实例名称
instance_charge_type
enum
实例计费类型,默认后付费
枚举值:
PREPAID:预付费
POSTPAID_BY_HOUR:按量付费
instance_charge_type_prepaid_period
int
预付费时长,单位月,默认 12 个月
instance_charge_type_prepaid_renew_flag
enum
续费标识
枚举值:
NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费
internet_charge_type
InternetChargeTypeEnum
网络计费方式
bandwidth_package_id
string
带宽包 ID,查看 参数定义
system_disk_type
TkeDiskType
系统盘类型
system_disk_size
int
系统盘大小,单位:GB,默认 50G
data_disk
Schema[]
数据盘配置
Schema 类型详见:DataDiskSchema
img_id
string
指定有效的镜像 ID,格式形如 img-xxx。
subnet_id
string
子网 ID
public_ip_assigned
boolean
是否分配公网 IP。取值范围:
TRUE:表示分配公网 IP
FALSE:表示不分配公网 IP
cam_role_name
string
CAM 角色名称,查看字段详情
security_group_ids
string[]
为节点 CVM 设置安全组,不填则为默认安全组
password
string
实例登录密码
user_data
string
提供给实例使用的用户数据,已经过 base64 编码
user_data_raw
string
提供给实例使用的用户数据,未经过 base64 编码

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

ExtensionAddonSchema

描述

创建集群时,选择安装的扩展组件的信息。查看所有 参数定义

参数说明

类型
名称
数据类型
说明
必填
name
string
扩展组件名称
param
string
扩展组件信息(扩展组件资源对象的 json 字符串描述)

TaintSchema

描述

kubernetes Taint,查看 参数定义

参数说明

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

WorkerInstanceSchema

参数说明

类型
名称
数据类型
说明
可选
instance_id
string
实例 ID
instance_role
string
节点角色, 可选值:MASTER, WORKER, ETCD, MASTER_ETCD,ALL, 默认为 WORKER
instance_state
string
实例的状态
running:运行中
initializing:初始化中
failed:异常
failed_reason
string
实例异常(或者处于初始化中)的原因
lan_ip
string
实例内网 IP