[root@pub1 ~]# cd /root/terraform-provider-ncloud-main/examples/nks [root@pub1 nks]# [root@pub1 nks]# more *.tf :::::::::::::: main.tf :::::::::::::: # VPC > User scenario > Scenario 1. Single Public Subnet # https://docs.ncloud.com/ko/networking/vpc/vpc_userscenario1.html provider "ncloud" { support_vpc = true region = "KR" access_key = var.access_key secret_key = var.secret_key } resource "ncloud_vpc" "vpc" { name = "vpc" ipv4_cidr_block = "10.0.0.0/16" } resource "ncloud_subnet" "node_subnet" { vpc_no = ncloud_vpc.vpc.id subnet = "10.0.1.0/24" zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" name = "node-subnet" usage_type = "GEN" } resource "ncloud_subnet" "lb_subnet" { vpc_no = ncloud_vpc.vpc.id subnet = "10.0.100.0/24" zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PRIVATE" name = "lb-subnet" usage_type = "LOADB" } resource "ncloud_subnet" "lb_subnet2" { vpc_no = ncloud_vpc.vpc.id subnet = "10.0.102.0/24" zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" name = "lb-subnet2" usage_type = "LOADB" } data "ncloud_nks_versions" "version" { filter { name = "value" values = [var.nks_version] regex = true } } resource "ncloud_login_key" "loginkey" { key_name = var.login_key } resource "ncloud_nks_cluster" "cluster" { cluster_type = "SVR.VNKS.STAND.C002.M008.NET.SSD.B050.G002" k8s_version = data.ncloud_nks_versions.version.versions.0.value login_key_name = ncloud_login_key.loginkey.key_name name = "sample-cluster" lb_private_subnet_no = ncloud_subnet.lb_subnet.id lb_public_subnet_no = ncloud_subnet.lb_subnet2.id kube_network_plugin = "cilium" subnet_no_list = [ ncloud_subnet.node_subnet.id ] vpc_no = ncloud_vpc.vpc.id zone = "KR-1" log { audit = true } } data "ncloud_nks_server_images" "image"{ hypervisor_code = "XEN" filter { name = "label" values = ["ubuntu-20.04"] regex = true } } data "ncloud_nks_server_products" "nks_products"{ software_code = data.ncloud_nks_server_images.image.images[0].value zone = "KR-1" filter { name = "product_type" values = [ "STAND"] } filter { name = "cpu_count" values = [ "2"] } filter { name = "memory_size" values = [ "8GB" ] } } resource "ncloud_nks_node_pool" "node_pool" { cluster_uuid = ncloud_nks_cluster.cluster.uuid node_pool_name = "pool1" node_count = 1 software_code = data.ncloud_nks_server_images.image.images[0].value product_code = data.ncloud_nks_server_products.nks_products.products[0].value subnet_no_list = [ncloud_subnet.node_subnet.id] autoscale { enabled = true min = 1 max = 2 } label { key = "foo" value = "bar" } taint { key = "foo" value = "bar" effect = "NoExecute" } } :::::::::::::: nat.tf :::::::::::::: resource "ncloud_subnet" "nat_subnet" { # vpc_no = ncloud_vpc.vpc_scn_02.id vpc_no = ncloud_vpc.vpc.id # subnet = cidrsubnet(ncloud_vpc.vpc_scn_02.ipv4_cidr_block, 8, 2) subnet = "10.0.2.0/24" // "10.0.2.0/24" zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no # network_acl_no = ncloud_network_acl.network_acl_02_public.id subnet_type = "PUBLIC" name = "pub-natgw1-subnet" usage_type = "NATGW" } resource "ncloud_nat_gateway" "natgw1" { vpc_no = ncloud_vpc.vpc.id subnet_no = ncloud_subnet.nat_subnet.id zone = "KR-1" name = "kubernetes-nat-gw" } resource "ncloud_route_table" "kubernetes_route_table" { vpc_no = ncloud_vpc.vpc.id supported_subnet_type = "PRIVATE" name = "kubernetes-route-table" } resource "ncloud_route" "kubernetes_route" { route_table_no = ncloud_route_table.kubernetes_route_table.id destination_cidr_block = "0.0.0.0/0" target_type = "NATGW" target_name = ncloud_nat_gateway.natgw1.name target_no = ncloud_nat_gateway.natgw1.id } resource "ncloud_route_table_association" "kubernetes_route_table_subnet" { route_table_no = ncloud_route_table.kubernetes_route_table.id subnet_no = ncloud_subnet.node_subnet.id } :::::::::::::: pub1.tf :::::::::::::: resource "ncloud_subnet" "pub1_subnet" { vpc_no = ncloud_vpc.vpc.id subnet = "10.0.0.0/24" zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" name = "pub1-subnet" usage_type = "GEN" } :::::::::::::: variables.tf :::::::::::::: variable name { default = "tf-nks" } variable name_scn02 { default = "nat1" } variable nks_version { default = "1.27" } variable client_ip { default = "2.2.2.2" } variable access_key { default = "BCLur" } variable secret_key { default = "ri variable login_key { default = "ksss3" } :::::::::::::: versions.tf :::::::::::::: terraform { required_providers { ncloud = { source = "navercloudplatform/ncloud" version = ">= 2.3.19" } kubernetes = { source = "hashicorp/kubernetes" version = ">= 2.24.0" } } } [root@pub1 nks]#