Kubernetes Terraform под управлением Alibaba Cloud

Я хочу создать кластер Kubernetes с Terraform,

Что касается страницы документа здесь: https://www.terraform.io/docs/providers/alicloud/r/cs_managed_kubernetes.html

variable "name" {
default = "my-first-k8s"
}
data "alicloud_zones" main {
  available_resource_creation = "VSwitch"
}

data "alicloud_instance_types" "default" {
    availability_zone = "${data.alicloud_zones.main.zones.0.id}"
    cpu_core_count = 1
    memory_size = 2
} 

Куда мне вставить vswitch id? а как установить id региона?


person Fauzan    schedule 27.12.2018    source источник


Ответы (2)


Вы можете вставить идентификатор vswitch в определение resource:

resource "alicloud_cs_managed_kubernetes" "k8s" {
  name = "${var.name}"
  availability_zone = "${data.alicloud_zones.main.zones.0.id}"
  new_nat_gateway = true
  worker_instance_types = ["${data.alicloud_instance_types.default.instance_types.0.id}"]
  worker_numbers = [2]
  password = "Test12345"
  pod_cidr = "172.20.0.0/16"
  service_cidr = "172.21.0.0/20"
  install_cloud_monitor = true
  worker_disk_category  = "cloud_efficiency"
  vswitch_ids = ["your-alibaba-vswitch-id"]
}

Для зон (если вы хотите изменить значения по умолчанию) на основе этот и документы, вам нужно сделать что-то вроде этого:

data "alicloud_zones" main {
  available_resource_creation = "VSwitch"

  zones = [
     {
       id = "..."
       local_name = "..."
       ...
     },
     {
       id = "..."
       local_name = "..."
       ...
     },
     ...
  ]
}
person Rico    schedule 27.12.2018
comment
В этой строке available_resource_creation = VSwitch Мне тоже нужно изменить VSwtich на vswitch id? - person Fauzan; 28.12.2018

Чтобы установить регион:

При настройке провайдера Alicloud в самом Terraform вы можете указать регион:

provider "alicloud" {
  access_key = "${var.access_key}"
  secret_key = "${var.secret_key}"
  region     = "${var.region}"
}

Например, позвольте мне рассмотреть Пекин как регион:

provider "alicloud" {
      access_key = "accesskey"
      secret_key = "secretkey"
      region     = "cn-beijing"
    }

Чтобы установить идентификаторы vswitch:

при определении раздела resource мы можем вставить желаемые vswitches

resource "alicloud_instance"{
  # ...
  instance_name = "in-the-vpc"
  vswitch_id = "${data.alicloud_vswitches.vswitches_ds.vswitches.0.id}"
  # ...
}

Например, позвольте мне рассматривать vsw-25naue4gz как идентификатор vswitch:

resource "alicloud_instance"{
      # ...
      vswitch_id = "vsw-25naue4gz"
      # ...
    }
person Ranjith Udayakumar    schedule 29.12.2018