【问题标题】:Alibaba Cloud Managed Kubernetes Terraform阿里云托管 Kubernetes Terraform
【发布时间】:2019-05-25 12:11:50
【问题描述】:

我想用 Terraform 创建 Kubernetes 集群,

关于此处的文档页面: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?

【问题讨论】:

    标签: kubernetes terraform alibaba-cloud


    【解决方案1】:

    您可以在resource 定义中插入vswitch id:

    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"]
    }
    

    对于基于thisdocs 的区域(如果您想覆盖默认值),您需要执行以下操作:

    data "alicloud_zones" main {
      available_resource_creation = "VSwitch"
    
      zones = [
         {
           id = "..."
           local_name = "..."
           ...
         },
         {
           id = "..."
           local_name = "..."
           ...
         },
         ...
      ]
    }
    

    【讨论】:

    • 在此行中 available_resource_creation = "VSwitch" 我是否也需要将 "VSwtich" 更改为 vswitch id?
    【解决方案2】:

    设置区域:

    在 Terraform 本身配置 Alicloud 提供程序时,您可以设置区域:

    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 ID:

    在定义 resource 部分时,我们可以插入所需的 vswitch

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

    例如,让我将 vsw-25naue4gz 视为 vswitch id:

    resource "alicloud_instance"{
          # ...
          vswitch_id = "vsw-25naue4gz"
          # ...
        }
    

    【讨论】:

      猜你喜欢
      • 2019-04-30
      • 2020-11-24
      • 2019-04-27
      • 2019-07-05
      • 2020-10-15
      • 2019-05-28
      • 2018-08-16
      • 2018-05-18
      • 1970-01-01
      相关资源
      最近更新 更多