네이버 클라우드 NKS 샘플 파일로 테라폼으로 설치시 아래와 같은 오류가 나는 경우가 있다.
원인을 알아보자~ (작성중)
<1> 샘플 코드 다운 로드
<2> 실행시 오류
<1> 샘플 코드 다운 로드
사이트
https://github.com/NaverCloudPlatform/terraform-provider-ncloud/tree/master/examples/vpc/scenario02
1
샘플 파일 다운로드하기
wget https://github.com/NaverCloudPlatform/terraform-provider-ncloud/archive/refs/heads/master.zip
unzip master.zip
[root@s180d9ec005f nks]# pwd
/root/1/terraform-provider-ncloud-master/examples/nks
2
[root@s180d9ec005f 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 = "PRIVATE"
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"
}
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
kube_network_plugin = "cilium"
subnet_no_list = [ ncloud_subnet.node_subnet.id ]
vpc_no = ncloud_vpc.vpc.id
zone = "KR-1"
log {
audit = true
}
}
resource "ncloud_nks_node_pool" "node_pool" {
cluster_uuid = ncloud_nks_cluster.cluster.uuid
node_pool_name = "pool1"
node_count = 1
product_code = "SVR.VSVR.STAND.C002.M008.NET.SSD.B050.G002"
subnet_no = ncloud_subnet.node_subnet.id
autoscale {
enabled = true
min = 1
max = 2
}
}
::::::::::::::
variables.tf
::::::::::::::
variable name {
default = "tf-nks"
}
variable nks_version {
default = "1.19"
}
variable client_ip {
default = "YOUR_CLIENT_IP"
}
variable access_key {
default = "YOUR_ACCESS_KEY"
}
variable secret_key {
default = "YOUR_SECRET_KEY"
}
variable login_key {
default = "YOUR_LOGIN_KEY"
}
::::::::::::::
versions.tf
::::::::::::::
terraform {
required_providers {
ncloud = {
source = "navercloudplatform/ncloud"
}
}
required_version = ">= 0.13"
}
[root@s180d9ec005f nks]#
<2> 실행시 오류
terraform init
terraform plan
[root@s180d9ec005f nks]# terraform plan
╷
│ Error: expected length of key_name to be in the range (3 - 30), got
│
│ with ncloud_login_key.loginkey,
│ on main.tf line 45, in resource "ncloud_login_key" "loginkey":
│ 45: key_name = var.login_key
│
╵
[root@s180d9ec005f nks]#
[root@s180d9ec005f nks]# vi variables.tf
[root@s180d9ec005f nks]# vi variables.tf
[root@s180d9ec005f nks]# terraform plan
╷
│ Error: Invalid index
│
│ on main.tf line 50, in resource "ncloud_nks_cluster" "cluster":
│ 50: k8s_version = data.ncloud_nks_versions.version.versions.0.value
│ ├────────────────
│ │ data.ncloud_nks_versions.version.versions is empty list of object
│
│ The given key does not identify an element in this collection value: the collection has no elements.
감사합니다.