|
1 | 1 | /* |
2 | 2 | Provide a resource to attach an existing cvm to kubernetes cluster. |
3 | 3 |
|
4 | | -Example Usage |
| 4 | +# Example Usage |
5 | 5 |
|
6 | 6 | ```hcl |
7 | 7 |
|
8 | | -variable "availability_zone" { |
9 | | - default = "ap-guangzhou-3" |
10 | | -} |
| 8 | + variable "availability_zone" { |
| 9 | + default = "ap-guangzhou-3" |
| 10 | + } |
11 | 11 |
|
12 | | -variable "cluster_cidr" { |
13 | | - default = "172.16.0.0/16" |
14 | | -} |
| 12 | + variable "cluster_cidr" { |
| 13 | + default = "172.16.0.0/16" |
| 14 | + } |
15 | 15 |
|
16 | | -variable "default_instance_type" { |
17 | | - default = "S1.SMALL1" |
18 | | -} |
| 16 | + variable "default_instance_type" { |
| 17 | + default = "S1.SMALL1" |
| 18 | + } |
19 | 19 |
|
20 | | -data "tencentcloud_images" "default" { |
21 | | - image_type = ["PUBLIC_IMAGE"] |
22 | | - os_name = "centos" |
23 | | -} |
| 20 | + data "tencentcloud_images" "default" { |
| 21 | + image_type = ["PUBLIC_IMAGE"] |
| 22 | + os_name = "centos" |
| 23 | + } |
24 | 24 |
|
| 25 | + data "tencentcloud_vpc_subnets" "vpc" { |
| 26 | + is_default = true |
| 27 | + availability_zone = var.availability_zone |
| 28 | + } |
25 | 29 |
|
26 | | -data "tencentcloud_vpc_subnets" "vpc" { |
27 | | - is_default = true |
28 | | - availability_zone = var.availability_zone |
29 | | -} |
| 30 | + data "tencentcloud_instance_types" "default" { |
| 31 | + filter { |
| 32 | + name = "instance-family" |
| 33 | + values = ["SA2"] |
| 34 | + } |
30 | 35 |
|
31 | | -data "tencentcloud_instance_types" "default" { |
32 | | - filter { |
33 | | - name = "instance-family" |
34 | | - values = ["SA2"] |
35 | | - } |
| 36 | + cpu_core_count = 8 |
| 37 | + memory_size = 16 |
| 38 | + } |
36 | 39 |
|
37 | | - cpu_core_count = 8 |
38 | | - memory_size = 16 |
39 | | -} |
| 40 | + resource "tencentcloud_instance" "foo" { |
| 41 | + instance_name = "tf-auto-test-1-1" |
| 42 | + availability_zone = var.availability_zone |
| 43 | + image_id = data.tencentcloud_images.default.images.0.image_id |
| 44 | + instance_type = var.default_instance_type |
| 45 | + system_disk_type = "CLOUD_PREMIUM" |
| 46 | + system_disk_size = 50 |
| 47 | + } |
40 | 48 |
|
41 | | -resource "tencentcloud_instance" "foo" { |
42 | | - instance_name = "tf-auto-test-1-1" |
43 | | - availability_zone = var.availability_zone |
44 | | - image_id = data.tencentcloud_images.default.images.0.image_id |
45 | | - instance_type = var.default_instance_type |
46 | | - system_disk_type = "CLOUD_PREMIUM" |
47 | | - system_disk_size = 50 |
48 | | -} |
| 49 | + resource "tencentcloud_kubernetes_cluster" "managed_cluster" { |
| 50 | + vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id |
| 51 | + cluster_cidr = "10.1.0.0/16" |
| 52 | + cluster_max_pod_num = 32 |
| 53 | + cluster_name = "keep" |
| 54 | + cluster_desc = "test cluster desc" |
| 55 | + cluster_max_service_num = 32 |
49 | 56 |
|
50 | | -resource "tencentcloud_kubernetes_cluster" "managed_cluster" { |
51 | | - vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id |
52 | | - cluster_cidr = "10.1.0.0/16" |
53 | | - cluster_max_pod_num = 32 |
54 | | - cluster_name = "keep" |
55 | | - cluster_desc = "test cluster desc" |
56 | | - cluster_max_service_num = 32 |
57 | | -
|
58 | | - worker_config { |
59 | | - count = 1 |
60 | | - availability_zone = var.availability_zone |
61 | | - instance_type = var.default_instance_type |
62 | | - system_disk_type = "CLOUD_SSD" |
63 | | - system_disk_size = 60 |
64 | | - internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" |
65 | | - internet_max_bandwidth_out = 100 |
66 | | - public_ip_assigned = true |
67 | | - subnet_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id |
68 | | -
|
69 | | - data_disk { |
70 | | - disk_type = "CLOUD_PREMIUM" |
71 | | - disk_size = 50 |
72 | | - } |
73 | | -
|
74 | | - enhanced_security_service = false |
75 | | - enhanced_monitor_service = false |
76 | | - user_data = "dGVzdA==" |
77 | | - password = "ZZXXccvv1212" |
78 | | - } |
79 | | -
|
80 | | - cluster_deploy_type = "MANAGED_CLUSTER" |
81 | | -} |
| 57 | + worker_config { |
| 58 | + count = 1 |
| 59 | + availability_zone = var.availability_zone |
| 60 | + instance_type = var.default_instance_type |
| 61 | + system_disk_type = "CLOUD_SSD" |
| 62 | + system_disk_size = 60 |
| 63 | + internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" |
| 64 | + internet_max_bandwidth_out = 100 |
| 65 | + public_ip_assigned = true |
| 66 | + subnet_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id |
82 | 67 |
|
83 | | -resource "tencentcloud_kubernetes_cluster_attachment" "test_attach" { |
84 | | - cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id |
85 | | - instance_id = tencentcloud_instance.foo.id |
86 | | - password = "Lo4wbdit" |
| 68 | + data_disk { |
| 69 | + disk_type = "CLOUD_PREMIUM" |
| 70 | + disk_size = 50 |
| 71 | + } |
87 | 72 |
|
88 | | - labels = { |
89 | | - "test1" = "test1", |
90 | | - "test2" = "test2", |
91 | | - } |
| 73 | + enhanced_security_service = false |
| 74 | + enhanced_monitor_service = false |
| 75 | + user_data = "dGVzdA==" |
| 76 | + password = "ZZXXccvv1212" |
| 77 | + } |
| 78 | +
|
| 79 | + cluster_deploy_type = "MANAGED_CLUSTER" |
| 80 | + } |
| 81 | +
|
| 82 | + resource "tencentcloud_kubernetes_cluster_attachment" "test_attach" { |
| 83 | + cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id |
| 84 | + instance_id = tencentcloud_instance.foo.id |
| 85 | + password = "Lo4wbdit" |
| 86 | +
|
| 87 | + labels = { |
| 88 | + "test1" = "test1", |
| 89 | + "test2" = "test2", |
| 90 | + } |
| 91 | +
|
| 92 | + worker_config_overrides { |
| 93 | + desired_pod_num = 8 |
| 94 | + } |
| 95 | + } |
92 | 96 |
|
93 | | - worker_config_overrides { |
94 | | - desired_pod_num = 8 |
95 | | - } |
96 | | -} |
97 | 97 | ``` |
98 | 98 | */ |
99 | 99 | package tencentcloud |
@@ -497,8 +497,12 @@ func tkeGetInstanceAdvancedPara(dMap map[string]interface{}, meta interface{}) ( |
497 | 497 | tkeGpuArgs.CUDNN = &tke.CUDNN{ |
498 | 498 | Version: helper.String(cudnn["version"].(string)), |
499 | 499 | Name: helper.String(cudnn["name"].(string)), |
500 | | - DocName: helper.String(cudnn["doc_name"].(string)), |
501 | | - DevName: helper.String(cudnn["dev_name"].(string)), |
| 500 | + } |
| 501 | + if cudnn["doc_name"] != nil { |
| 502 | + tkeGpuArgs.CUDNN.DocName = helper.String(cudnn["doc_name"].(string)) |
| 503 | + } |
| 504 | + if cudnn["dev_name"] != nil { |
| 505 | + tkeGpuArgs.CUDNN.DevName = helper.String(cudnn["dev_name"].(string)) |
502 | 506 | } |
503 | 507 | } |
504 | 508 | if len(customDriver) > 0 { |
|
0 commit comments