From c4d22b433e6eb047559c212266b40d0716fdc982 Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Wed, 29 Oct 2025 17:54:19 +0800 Subject: [PATCH 1/3] add --- .../tke/resource_tc_kubernetes_cluster.go | 17 +++++++++++++++ .../tke/resource_tc_kubernetes_cluster.md | 20 ++++++++++++++++++ .../docs/r/kubernetes_cluster.html.markdown | 21 +++++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go index dd60fefb0d..dcdd0ab219 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go @@ -1561,6 +1561,15 @@ func ResourceTencentCloudKubernetesCluster() *schema.Resource { Optional: true, Description: "The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate.", }, + + "disable_addons": { + Type: schema.TypeList, + Optional: true, + Description: "To prevent the installation of a specific Addon component, enter the corresponding AddonName.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, }, } } @@ -1731,6 +1740,14 @@ func resourceTencentCloudKubernetesClusterCreate(d *schema.ResourceData, meta in } } + if v, ok := d.GetOk("disable_addons"); ok { + for _, item := range v.([]interface{}) { + if disableAddon, ok := item.(string); ok { + request.DisableAddons = append(request.DisableAddons, &disableAddon) + } + } + } + if err := resourceTencentCloudKubernetesClusterCreatePostFillRequest0(ctx, request); err != nil { return err } diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md index f143bb5ddc..daaeddd493 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md +++ b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md @@ -751,6 +751,26 @@ resource "tencentcloud_kubernetes_cluster" "example" { } ``` +Using disable addons + +```hcl +resource "tencentcloud_kubernetes_cluster" "example" { + vpc_id = "vpc-i5yyodl9" + cluster_cidr = "172.20.0.0/16" + cluster_max_pod_num = 32 + cluster_name = "tf-example" + cluster_desc = "cluster desc." + cluster_max_service_num = 64 + cluster_version = "1.30.0" + cluster_deploy_type = "MANAGED_CLUSTER" + container_runtime = "containerd" + runtime_version = "1.6.9" + instance_delete_mode = "terminate" + upgrade_instances_follow_cluster = true + disable_addons = ["ip-masq-agent"] +} +``` + Import tke cluster can be imported, e.g. diff --git a/website/docs/r/kubernetes_cluster.html.markdown b/website/docs/r/kubernetes_cluster.html.markdown index 2adba56487..692f4602aa 100644 --- a/website/docs/r/kubernetes_cluster.html.markdown +++ b/website/docs/r/kubernetes_cluster.html.markdown @@ -762,6 +762,26 @@ resource "tencentcloud_kubernetes_cluster" "example" { } ``` +### Using disable addons + +```hcl +resource "tencentcloud_kubernetes_cluster" "example" { + vpc_id = "vpc-i5yyodl9" + cluster_cidr = "172.20.0.0/16" + cluster_max_pod_num = 32 + cluster_name = "tf-example" + cluster_desc = "cluster desc." + cluster_max_service_num = 64 + cluster_version = "1.30.0" + cluster_deploy_type = "MANAGED_CLUSTER" + container_runtime = "containerd" + runtime_version = "1.6.9" + instance_delete_mode = "terminate" + upgrade_instances_follow_cluster = true + disable_addons = ["ip-masq-agent"] +} +``` + ## Argument Reference The following arguments are supported: @@ -796,6 +816,7 @@ The following arguments are supported: * `container_runtime` - (Optional, String, ForceNew) Runtime type of the cluster, the available values include: 'docker' and 'containerd'.The Kubernetes v1.24 has removed dockershim, so please use containerd in v1.24 or higher. The default value is `docker` for versions below v1.24 and `containerd` for versions above v1.24. * `data_plane_v2` - (Optional, Bool, ForceNew) Whether to enable DataPlaneV2 (replace kube-proxy with cilium). `data_plane_v2` and `cluster_ipvs` should not be set at the same time. * `deletion_protection` - (Optional, Bool) Indicates whether cluster deletion protection is enabled. Default is false. +* `disable_addons` - (Optional, List: [`String`]) To prevent the installation of a specific Addon component, enter the corresponding AddonName. * `docker_graph_path` - (Optional, String, ForceNew) Docker graph path. Default is `/var/lib/docker`. * `enable_customized_pod_cidr` - (Optional, Bool) Whether to enable the custom mode of node podCIDR size. Default is false. * `eni_subnet_ids` - (Optional, List: [`String`]) Subnet Ids for cluster with VPC-CNI network mode. This field can only set when field `network_type` is 'VPC-CNI'. `eni_subnet_ids` can not empty once be set. From 54582b626c598d9c0b8e0bb2c8b708b0bb3dc9f8 Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Wed, 29 Oct 2025 18:00:06 +0800 Subject: [PATCH 2/3] add --- .changelog/3576.txt | 3 +++ tencentcloud/services/tke/resource_tc_kubernetes_cluster.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .changelog/3576.txt diff --git a/.changelog/3576.txt b/.changelog/3576.txt new file mode 100644 index 0000000000..c01c39e89a --- /dev/null +++ b/.changelog/3576.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_kubernetes_cluster: support `disable_addons` +``` diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go index dcdd0ab219..84ba2a1dd9 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.go @@ -1992,7 +1992,7 @@ func resourceTencentCloudKubernetesClusterUpdate(d *schema.ResourceData, meta in ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) - immutableArgs := []string{"cdc_id", "extension_addon"} + immutableArgs := []string{"cdc_id", "extension_addon", "disable_addons"} for _, v := range immutableArgs { if d.HasChange(v) { return fmt.Errorf("argument `%s` cannot be changed", v) From f935305e7e04b1fdb5e9cd47016b4779c964b3ea Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Wed, 29 Oct 2025 18:18:49 +0800 Subject: [PATCH 3/3] add --- tencentcloud/services/tke/resource_tc_kubernetes_cluster.md | 6 ++++-- website/docs/r/kubernetes_cluster.html.markdown | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md index daaeddd493..88a216cafb 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md +++ b/tencentcloud/services/tke/resource_tc_kubernetes_cluster.md @@ -756,17 +756,19 @@ Using disable addons ```hcl resource "tencentcloud_kubernetes_cluster" "example" { vpc_id = "vpc-i5yyodl9" - cluster_cidr = "172.20.0.0/16" cluster_max_pod_num = 32 cluster_name = "tf-example" cluster_desc = "cluster desc." - cluster_max_service_num = 64 + cluster_max_service_num = 256 cluster_version = "1.30.0" cluster_deploy_type = "MANAGED_CLUSTER" container_runtime = "containerd" runtime_version = "1.6.9" instance_delete_mode = "terminate" upgrade_instances_follow_cluster = true + network_type = "VPC-CNI" + eni_subnet_ids = ["subnet-hhi88a58"] + service_cidr = "10.1.0.0/24" disable_addons = ["ip-masq-agent"] } ``` diff --git a/website/docs/r/kubernetes_cluster.html.markdown b/website/docs/r/kubernetes_cluster.html.markdown index 692f4602aa..edc0d99785 100644 --- a/website/docs/r/kubernetes_cluster.html.markdown +++ b/website/docs/r/kubernetes_cluster.html.markdown @@ -767,17 +767,19 @@ resource "tencentcloud_kubernetes_cluster" "example" { ```hcl resource "tencentcloud_kubernetes_cluster" "example" { vpc_id = "vpc-i5yyodl9" - cluster_cidr = "172.20.0.0/16" cluster_max_pod_num = 32 cluster_name = "tf-example" cluster_desc = "cluster desc." - cluster_max_service_num = 64 + cluster_max_service_num = 256 cluster_version = "1.30.0" cluster_deploy_type = "MANAGED_CLUSTER" container_runtime = "containerd" runtime_version = "1.6.9" instance_delete_mode = "terminate" upgrade_instances_follow_cluster = true + network_type = "VPC-CNI" + eni_subnet_ids = ["subnet-hhi88a58"] + service_cidr = "10.1.0.0/24" disable_addons = ["ip-masq-agent"] } ```