From 9939b27feb5f523f1a97cbd26e8e8afd03229985 Mon Sep 17 00:00:00 2001 From: joee_yang <98207290+yanghuajun336@users.noreply.github.com> Date: Fri, 27 Mar 2026 18:51:36 +0800 Subject: [PATCH] feat: add resources-tke reference --- .../references/resources-tke.md | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 skills/yanghuajun336/tencentcloud-terraform/references/resources-tke.md diff --git a/skills/yanghuajun336/tencentcloud-terraform/references/resources-tke.md b/skills/yanghuajun336/tencentcloud-terraform/references/resources-tke.md new file mode 100644 index 0000000..70c9cc3 --- /dev/null +++ b/skills/yanghuajun336/tencentcloud-terraform/references/resources-tke.md @@ -0,0 +1,105 @@ +# TKE 集群 / 节点池 + +--- + +## TKE 集群 + +```hcl +resource "tencentcloud_kubernetes_cluster" "main" { + cluster_name = "${local.name_prefix}-tke" + cluster_version = "1.28.3" + cluster_cidr = "172.16.0.0/16" + service_cidr = "10.96.0.0/16" + vpc_id = var.vpc_id + cluster_os = "tlinux2.4(tkernel4)x86_64" + cluster_type = "MANAGED_CLUSTER" + cluster_max_pod_num = 64 + + # 网络插件 + network_type = "GR" # GR(GlobalRouter)或 VPC-CNI + + # Master 节点(托管集群无需配置) + managed_cluster_internet_security_policies = ["0.0.0.0/0"] + + tags = local.common_tags +} +``` + +--- + +## 节点池 + +```hcl +resource "tencentcloud_kubernetes_node_pool" "default" { + name = "${local.name_prefix}-nodepool" + cluster_id = tencentcloud_kubernetes_cluster.main.id + max_size = 10 + min_size = 1 + vpc_id = var.vpc_id + subnet_ids = [var.subnet_ids["private-a"], var.subnet_ids["private-b"]] + retry_policy = "INCREMENTAL_INTERVALS" + desired_capacity = var.worker_count + enable_auto_scale = true + deletion_protection = local.is_prod + + auto_scaling_config { + instance_type = var.instance_type # 例如 SA3.LARGE8 + system_disk_type = "CLOUD_PREMIUM" + system_disk_size = 50 + security_group_ids = [var.sg_id] + key_ids = [var.key_pair_id] + + data_disk { + disk_type = "CLOUD_PREMIUM" + disk_size = 100 + } + + internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" + internet_max_bandwidth_out = 0 + public_ip_assigned = false + } + + node_config { + extra_args = [ + "root-dir=/var/lib/kubelet" + ] + } + + labels = merge(local.common_tags, { + "node-pool" = "default" + }) +} +``` + +--- + +## 获取 Kubeconfig + +```hcl +# 集群内网访问地址 +output "cluster_id" { value = tencentcloud_kubernetes_cluster.main.id } +output "cluster_endpoint" { value = tencentcloud_kubernetes_cluster.main.pgw_endpoint } +output "kubeconfig" { + value = tencentcloud_kubernetes_cluster.main.kube_config + sensitive = true +} +``` + +--- + +## 附加组件(Addon) + +```hcl +# 安装 metrics-server +resource "tencentcloud_kubernetes_addon_attachment" "metrics_server" { + cluster_id = tencentcloud_kubernetes_cluster.main.id + name = "metrics-server" + version = "0.6.1" +} + +# 安装 NodeLocal DNSCache +resource "tencentcloud_kubernetes_addon_attachment" "node_local_dns" { + cluster_id = tencentcloud_kubernetes_cluster.main.id + name = "node-local-dns" +} +```