我可以使用这个terraform将静态私有ip地址分配给一台新机器,我运行这个terraform,但是我仍然看到
错误:错误创建实例: googleapi: Error 400:字段‘Resoure.networkInterfaces.networkIP’:'192.168.128.206‘的无效值。IP地址'projects/prj-xxxxx/regions/europe-xxx/addresses/demo-xxxx-nodoa-c‘(192.168.128.206')由另一个项目保留。
这是我使用的代码
resource "google_compute_address" "static-ip" {
for_each = toset(var.zones)
name = "${local.infra_id}-nodoa-${each.key}"
project = var.host_project.project_id
address_type = "INTERNAL"
region = var.region
purpose = "GCE_ENDPOINT"
subnetwork = var.host_project.nodoa_subnet_name
}
resource "google_compute_instance" "nodoa" {
for_each = toset(var.zones)
project = var.service_project.project_id
name = "${local.infra_id}-nodoa-${each.key}"
hostname = "${local.infra_id}-nodoa-${each.key}.${local.subdomain}"
machine_type = "xxx"
zone = "${var.region}-${each.key}"
network_interface {
subnetwork = var.host_project.nodoa_subnet_name
subnetwork_project = var.host_project.project_id
network_ip = google_compute_address.static-ip[each.key].address
}
boot_disk {
initialize_params {
image = var.rhcos_gcp_image
size = var.install_config_params.disk_size
type = "pd-ssd"
}
kms_key_self_link = ecr
}发布于 2022-02-28 15:30:03
@ cavamagie -我猜您需要在network_ip块中指定‘access_config’块。
access_config {
nat_ip = google_compute_address.static-ip[each.key].address
}因此,一般来说,"google_compute_instance“的资源块应该如下所示
resource "google_compute_instance" "nodoa" {
for_each = toset(var.zones)
project = var.service_project.project_id
name = "${local.infra_id}-nodoa-${each.key}"
hostname = "${local.infra_id}-nodoa-${each.key}.${local.subdomain}"
machine_type = "xxx"
zone = "${var.region}-${each.key}"
network_interface {
subnetwork = var.host_project.nodoa_subnet_name
subnetwork_project = var.host_project.project_id
access_config {
nat_ip = google_compute_address.static-ip[each.key].address
}
}
boot_disk {
initialize_params {
image = var.rhcos_gcp_image
size = var.install_config_params.disk_size
type = "pd-ssd"
}
kms_key_self_link = ecr
}参考资料:How to map static IP to terraform google compute engine instance?
https://stackoverflow.com/questions/71297019
复制相似问题