From 4b7ad9a6b4cadad0c55371ce601498cb0bdb3419 Mon Sep 17 00:00:00 2001 From: nickyinluo Date: Wed, 5 Jul 2023 16:30:37 +0800 Subject: [PATCH 1/2] example readjust: tencentcloud_kubernetes_serverless_node_pool --- ...urce_tc_kubernetes_serverless_node_pool.go | 99 +++++++++++++++++-- ...ernetes_serverless_node_pool.html.markdown | 96 ++++++++++++++++-- 2 files changed, 176 insertions(+), 19 deletions(-) diff --git a/tencentcloud/resource_tc_kubernetes_serverless_node_pool.go b/tencentcloud/resource_tc_kubernetes_serverless_node_pool.go index ec4c145933..87da7059fb 100644 --- a/tencentcloud/resource_tc_kubernetes_serverless_node_pool.go +++ b/tencentcloud/resource_tc_kubernetes_serverless_node_pool.go @@ -2,22 +2,101 @@ Provide a resource to create serverless node pool of cluster. Example Usage + +Add serverless node pool to a cluster + +```hcl +variable "availability_zone" { + default = "ap-guangzhou-3" +} + +variable "example_cluster_cidr" { + default = "10.31.0.0/16" +} + +locals { + vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id + subnet_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id + sg_id = data.tencentcloud_security_groups.sg.security_groups.0.security_group_id +} + +data "tencentcloud_vpc_subnets" "vpc" { + is_default = true + availability_zone = var.availability_zone +} + +data "tencentcloud_security_groups" "sg" { + name = "default" +} + +resource "tencentcloud_kubernetes_cluster" "example" { + vpc_id = local.vpc_id + cluster_cidr = var.example_cluster_cidr + cluster_max_pod_num = 32 + cluster_name = "tf_example_cluster" + cluster_desc = "tf example cluster" + cluster_max_service_num = 32 + cluster_version = "1.18.4" + cluster_deploy_type = "MANAGED_CLUSTER" +} + +resource "tencentcloud_kubernetes_serverless_node_pool" "example" { + cluster_id = tencentcloud_kubernetes_cluster.example.id + name = "tf_example_serverless_node_pool" + + serverless_nodes { + display_name = "tf_example_serverless_node1" + subnet_id = local.subnet_id + } + + serverless_nodes { + display_name = "tf_example_serverless_node2" + subnet_id = local.subnet_id + } + + security_group_ids = [local.sg_id] + labels = { + "label1" : "value1", + "label2" : "value2", + } +} ``` -resource "tencentcloud_kubernetes_serverless_node_pool" "example_serverless_node_pool" { + +Adding taints to the virtual nodes under this node pool + +The pods without appropriate tolerations will not be scheduled on this node. Refer [taint-and-toleration](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for more details. + +```hcl +resource "tencentcloud_kubernetes_serverless_node_pool" "example" { cluster_id = tencentcloud_kubernetes_cluster.example.id - name = "example_node_pool" + name = "tf_example_serverless_node_pool" + serverless_nodes { - display_name = "serverless_node1" - subnet_id = "subnet-xxx" + display_name = "tf_example_serverless_node1" + subnet_id = local.subnet_id } + serverless_nodes { - display_name = "serverless_node2" - subnet_id = "subnet-xxx" + display_name = "tf_example_serverless_node2" + subnet_id = local.subnet_id + } + + security_group_ids = [local.sg_id] + labels = { + "label1" : "value1", + "label2" : "value2", + } + + taints{ + key = "key1" + value = "value1" + effect = "NoSchedule" } - security_group_ids = ["sg-xxx"] - labels = { - "example1" : "test1", - "example2" : "test2", + + taints{ + key = "key1" + value = "value1" + effect = "NoExecute" } } ``` diff --git a/website/docs/r/kubernetes_serverless_node_pool.html.markdown b/website/docs/r/kubernetes_serverless_node_pool.html.markdown index 100c16c96a..a45cfa0ef8 100644 --- a/website/docs/r/kubernetes_serverless_node_pool.html.markdown +++ b/website/docs/r/kubernetes_serverless_node_pool.html.markdown @@ -13,22 +13,100 @@ Provide a resource to create serverless node pool of cluster. ## Example Usage +### Add serverless node pool to a cluster + +```hcl +variable "availability_zone" { + default = "ap-guangzhou-3" +} + +variable "example_cluster_cidr" { + default = "10.31.0.0/16" +} + +locals { + vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id + subnet_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id + sg_id = data.tencentcloud_security_groups.sg.security_groups.0.security_group_id +} + +data "tencentcloud_vpc_subnets" "vpc" { + is_default = true + availability_zone = var.availability_zone +} + +data "tencentcloud_security_groups" "sg" { + name = "default" +} + +resource "tencentcloud_kubernetes_cluster" "example" { + vpc_id = local.vpc_id + cluster_cidr = var.example_cluster_cidr + cluster_max_pod_num = 32 + cluster_name = "tf_example_cluster" + cluster_desc = "tf example cluster" + cluster_max_service_num = 32 + cluster_version = "1.18.4" + cluster_deploy_type = "MANAGED_CLUSTER" +} + +resource "tencentcloud_kubernetes_serverless_node_pool" "example" { + cluster_id = tencentcloud_kubernetes_cluster.example.id + name = "tf_example_serverless_node_pool" + + serverless_nodes { + display_name = "tf_example_serverless_node1" + subnet_id = local.subnet_id + } + + serverless_nodes { + display_name = "tf_example_serverless_node2" + subnet_id = local.subnet_id + } + + security_group_ids = [local.sg_id] + labels = { + "label1" : "value1", + "label2" : "value2", + } +} +``` + +### Adding taints to the virtual nodes under this node pool + +The pods without appropriate tolerations will not be scheduled on this node. Refer [taint-and-toleration](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for more details. + ```hcl -resource "tencentcloud_kubernetes_serverless_node_pool" "example_serverless_node_pool" { +resource "tencentcloud_kubernetes_serverless_node_pool" "example" { cluster_id = tencentcloud_kubernetes_cluster.example.id - name = "example_node_pool" + name = "tf_example_serverless_node_pool" + serverless_nodes { - display_name = "serverless_node1" - subnet_id = "subnet-xxx" + display_name = "tf_example_serverless_node1" + subnet_id = local.subnet_id } + serverless_nodes { - display_name = "serverless_node2" - subnet_id = "subnet-xxx" + display_name = "tf_example_serverless_node2" + subnet_id = local.subnet_id } - security_group_ids = ["sg-xxx"] + + security_group_ids = [local.sg_id] labels = { - "example1" : "test1", - "example2" : "test2", + "label1" : "value1", + "label2" : "value2", + } + + taints { + key = "key1" + value = "value1" + effect = "NoSchedule" + } + + taints { + key = "key1" + value = "value1" + effect = "NoExecute" } } ``` From ad85d783945976bcefcaae91caea1d7f0025ea65 Mon Sep 17 00:00:00 2001 From: nickyinluo Date: Thu, 6 Jul 2023 13:11:26 +0800 Subject: [PATCH 2/2] faster the make fmt --- GNUmakefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/GNUmakefile b/GNUmakefile index 53262e3cdc..3db164976b 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,6 +1,7 @@ TEST?=./... GOFMT_FILES?=$$(find . -name '*.go' |grep -v vendor) PKG_NAME=tencentcloud +CHANGED_FILES=$$(git diff --name-only master -- $(PKG_NAME)) WEBSITE_REPO=github.com/hashicorp/terraform-website PLATFORMS=darwin/amd64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm openbsd/amd64 openbsd/386 solaris/amd64 windows/386 windows/amd64 GO_VER ?= go @@ -25,6 +26,11 @@ fmt: goimports -w ./$(PKG_NAME) gofmt -s -w ./$(PKG_NAME) +fmt-faster: + @echo "==> [Faster]Fixing source code with gofmt...\n $(CHANGED_FILES) \n" + goimports -w $(CHANGED_FILES) + gofmt -s -w $(CHANGED_FILES) + # Currently required by tf-deploy compile fmtcheck: @sh -c "'$(CURDIR)/scripts/gofmtcheck.sh'"