Skip to content

Commit 0ffcb4f

Browse files
authored
fix(tke): [120773630] tencentcloud_kubernetes_node_pool Fix the issue where node_os cannot be modified (#2964)
* add * add
1 parent a5c5ea7 commit 0ffcb4f

File tree

4 files changed

+62
-56
lines changed

4 files changed

+62
-56
lines changed

.changelog/2964.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_kubernetes_node_pool: Fix the issue where `node_os` cannot be modified
3+
```

tencentcloud/services/tke/resource_tc_kubernetes_node_pool.md

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ Provide a resource to create an auto scaling group for kubernetes cluster.
99
Example Usage
1010

1111
```hcl
12-
1312
variable "availability_zone" {
1413
default = "ap-guangzhou-3"
1514
}
@@ -19,43 +18,44 @@ variable "cluster_cidr" {
1918
}
2019
2120
data "tencentcloud_vpc_subnets" "vpc" {
22-
is_default = true
23-
availability_zone = var.availability_zone
21+
is_default = true
22+
availability_zone = var.availability_zone
2423
}
2524
2625
variable "default_instance_type" {
2726
default = "S1.SMALL1"
2827
}
2928
3029
//this is the cluster with empty worker config
31-
resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
30+
resource "tencentcloud_kubernetes_cluster" "example" {
3231
vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
3332
cluster_cidr = var.cluster_cidr
3433
cluster_max_pod_num = 32
3534
cluster_name = "tf-tke-unit-test"
3635
cluster_desc = "test cluster desc"
3736
cluster_max_service_num = 32
3837
cluster_version = "1.18.4"
39-
cluster_deploy_type = "MANAGED_CLUSTER"
38+
cluster_deploy_type = "MANAGED_CLUSTER"
4039
}
4140
4241
//this is one example of managing node using node pool
43-
resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
44-
name = "mynodepool"
45-
cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
46-
max_size = 6
47-
min_size = 1
48-
vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
49-
subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
50-
retry_policy = "INCREMENTAL_INTERVALS"
51-
desired_capacity = 4
52-
enable_auto_scale = true
42+
resource "tencentcloud_kubernetes_node_pool" "example" {
43+
name = "tf-example"
44+
cluster_id = tencentcloud_kubernetes_cluster.example.id
45+
max_size = 6
46+
min_size = 1
47+
vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
48+
subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
49+
retry_policy = "INCREMENTAL_INTERVALS"
50+
desired_capacity = 4
51+
enable_auto_scale = true
5352
multi_zone_subnet_policy = "EQUALITY"
53+
node_os = "img-9qrfy1xt"
5454
5555
auto_scaling_config {
56-
instance_type = var.default_instance_type
57-
system_disk_type = "CLOUD_PREMIUM"
58-
system_disk_size = "50"
56+
instance_type = var.default_instance_type
57+
system_disk_type = "CLOUD_PREMIUM"
58+
system_disk_size = "50"
5959
orderly_security_group_ids = ["sg-24vswocp"]
6060
6161
data_disk {
@@ -69,8 +69,8 @@ resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
6969
password = "test123#"
7070
enhanced_security_service = false
7171
enhanced_monitor_service = false
72-
host_name = "12.123.0.0"
73-
host_name_style = "ORIGINAL"
72+
host_name = "12.123.0.0"
73+
host_name_style = "ORIGINAL"
7474
}
7575
7676
labels = {
@@ -79,47 +79,49 @@ resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
7979
}
8080
8181
taints {
82-
key = "test_taint"
83-
value = "taint_value"
82+
key = "test_taint"
83+
value = "taint_value"
8484
effect = "PreferNoSchedule"
8585
}
8686
8787
taints {
88-
key = "test_taint2"
89-
value = "taint_value2"
88+
key = "test_taint2"
89+
value = "taint_value2"
9090
effect = "PreferNoSchedule"
9191
}
9292
9393
node_config {
94-
extra_args = [
95-
"root-dir=/var/lib/kubelet"
96-
]
94+
docker_graph_path = "/var/lib/docker"
95+
extra_args = [
96+
"root-dir=/var/lib/kubelet"
97+
]
9798
}
9899
}
99100
```
100101

101102
Using Spot CVM Instance
103+
102104
```hcl
103-
resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
104-
name = "mynodepool"
105-
cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
106-
max_size = 6
107-
min_size = 1
108-
vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
109-
subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
110-
retry_policy = "INCREMENTAL_INTERVALS"
111-
desired_capacity = 4
112-
enable_auto_scale = true
105+
resource "tencentcloud_kubernetes_node_pool" "example" {
106+
name = "tf-example"
107+
cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
108+
max_size = 6
109+
min_size = 1
110+
vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
111+
subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
112+
retry_policy = "INCREMENTAL_INTERVALS"
113+
desired_capacity = 4
114+
enable_auto_scale = true
113115
multi_zone_subnet_policy = "EQUALITY"
114116
115117
auto_scaling_config {
116-
instance_type = var.default_instance_type
117-
system_disk_type = "CLOUD_PREMIUM"
118-
system_disk_size = "50"
118+
instance_type = var.default_instance_type
119+
system_disk_type = "CLOUD_PREMIUM"
120+
system_disk_size = "50"
119121
orderly_security_group_ids = ["sg-24vswocp", "sg-3qntci2v", "sg-7y1t2wax"]
120-
instance_charge_type = "SPOTPAID"
121-
spot_instance_type = "one-time"
122-
spot_max_price = "1000"
122+
instance_charge_type = "SPOTPAID"
123+
spot_instance_type = "one-time"
124+
spot_max_price = "1000"
123125
124126
data_disk {
125127
disk_type = "CLOUD_PREMIUM"
@@ -136,17 +138,15 @@ resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
136138
137139
labels = {
138140
"test1" = "test1",
139-
"test2" = "test2",
141+
"test2" = "test2"
140142
}
141-
142143
}
143-
144144
```
145145

146146
Import
147147

148148
tke node pool can be imported, e.g.
149149

150150
```
151-
$ terraform import tencentcloud_kubernetes_node_pool.test cls-xxx#np-xxx
151+
$ terraform import tencentcloud_kubernetes_node_pool.example cls-d2xdg3io#np-380ay1o8
152152
```

tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,8 @@ func resourceTencentCloudKubernetesNodePoolUpdateOnStart(ctx context.Context) er
618618

619619
// ModifyClusterNodePool
620620
if d.HasChanges(
621+
"node_os",
622+
"node_os_type",
621623
"labels",
622624
"tags",
623625
) {

website/docs/r/kubernetes_node_pool.html.markdown

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ variable "default_instance_type" {
3838
}
3939
4040
//this is the cluster with empty worker config
41-
resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
41+
resource "tencentcloud_kubernetes_cluster" "example" {
4242
vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
4343
cluster_cidr = var.cluster_cidr
4444
cluster_max_pod_num = 32
@@ -50,9 +50,9 @@ resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
5050
}
5151
5252
//this is one example of managing node using node pool
53-
resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
54-
name = "mynodepool"
55-
cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
53+
resource "tencentcloud_kubernetes_node_pool" "example" {
54+
name = "tf-example"
55+
cluster_id = tencentcloud_kubernetes_cluster.example.id
5656
max_size = 6
5757
min_size = 1
5858
vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
@@ -61,6 +61,7 @@ resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
6161
desired_capacity = 4
6262
enable_auto_scale = true
6363
multi_zone_subnet_policy = "EQUALITY"
64+
node_os = "img-9qrfy1xt"
6465
6566
auto_scaling_config {
6667
instance_type = var.default_instance_type
@@ -101,6 +102,7 @@ resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
101102
}
102103
103104
node_config {
105+
docker_graph_path = "/var/lib/docker"
104106
extra_args = [
105107
"root-dir=/var/lib/kubelet"
106108
]
@@ -111,8 +113,8 @@ resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
111113
### Using Spot CVM Instance
112114

113115
```hcl
114-
resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
115-
name = "mynodepool"
116+
resource "tencentcloud_kubernetes_node_pool" "example" {
117+
name = "tf-example"
116118
cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
117119
max_size = 6
118120
min_size = 1
@@ -147,9 +149,8 @@ resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
147149
148150
labels = {
149151
"test1" = "test1",
150-
"test2" = "test2",
152+
"test2" = "test2"
151153
}
152-
153154
}
154155
```
155156

@@ -280,6 +281,6 @@ In addition to all arguments above, the following attributes are exported:
280281
tke node pool can be imported, e.g.
281282

282283
```
283-
$ terraform import tencentcloud_kubernetes_node_pool.test cls-xxx#np-xxx
284+
$ terraform import tencentcloud_kubernetes_node_pool.example cls-d2xdg3io#np-380ay1o8
284285
```
285286

0 commit comments

Comments
 (0)