【发布时间】:2021-05-12 10:59:33
【问题描述】:
我需要在gcp 中创建一个具有公共 IP 的 VM 实例(实例可以为自己随机选择一个),而无需明确定义一个。
那么我该怎么做呢?
这是我可以用来实现此目的的gcloud 命令(创建一个自动分配公共 ip 的 vm 实例)
gcloud compute instances create controller-1 \
--async \
--boot-disk-size 200GB \
--can-ip-forward \
--image-family ubuntu-2004-lts \
--image-project ubuntu-os-cloud \
--machine-type e2-standard-2 \
--private-network-ip 10.240.0.10 \
--scopes compute-rw,storage-ro,service-management,service-control,logging-write,monitoring \
--subnet kubernetes \
--tags kubernetes-the-hard-way,controller
上面的命令将创建一个具有内部 IP 10.240.0.10 的 vm 和一个带有一些随机选择的 ip 地址的公共 ip。
所以我想和terraform达到同样的目标
这是我的terraform 代码。但是我该怎么做呢?
resource "google_compute_instance" "controllers" {
name = "controller-0"
machine_type = "e2-standard-2"
zone = var.zone
can_ip_forward = true
tags = ["kubernetes-the-hard-way", "controller"]
boot_disk {
initialize_params {
image = "ubuntu-2004-focal-v20200720"
}
}
network_interface {
subnetwork = google_compute_subnetwork.kubernetes.name
network_ip = "10.240.0.10" // private ip but how to assign a public ip (randomly)
}
service_account {
scopes = ["compute-rw", "storage-ro", "service-management", "service-control", "logging-write", "monitoring"]
}
}
【问题讨论】:
标签: google-cloud-platform terraform