如何使用带有Terraform的公共IP创建GCP实例

Jananath banuka

我需要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

上面的命令将创建一个同时具有内部IP10.240.0.10和公共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"]
  }
}
迪维亚·亚卡

空的access_config块将为您的实例分配一个外部临时IP。

network_interface {
    network = "default"
    access_config {}
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用带有Terraform的非公共负载平衡器创建ElasticBeanstalk环境

使用Terraform创建EC2实例会分配公共IP

如果可以为没有弹性 IP 的实例创建仅带有 NAT 的公共子网的 VPC?

在 GCP 中创建没有公共 IP 的虚拟机

Terraform:使用带有for_each的Terraform创建多个实例并映射security_group_rule

Terraform-重新使用现有子网在GCP上创建云SQL实例

如何禁用现有 EC2 实例的公共 IP

如何使用带有Terraform的AWS启动模板启动AWS EC2实例?

如何使用Terraform通过ASG使EC2实例的私有IP旋转

如何在 Bigquery GCP 中使用 terraform 创建多个表?

想要使用Terraform在GCP中部署具有公共可读存储对象权限的存储桶

使用 (count, for_each) Terraform 创建多个 ec2 aws 实例并附加具有特定 IP 的多个网络接口

如何使用附加了 gcp 的本地 ssd 创建实例

创建 terraform 后如何显示 ec2_instance 的公共 ip

带有Agic的Azure AKS-如何使用Terraform创建它?

试图创建一个带有公共 IP 的套接字,没有端口转发的 java?

通过Terraform为GCP VM实例配置静态IP

如何获取 Sesam 实例的公共 IP

如何使用 terraform 在 LocalStack 上创建 EC2 实例?

如何使用反射创建带有参数的内部构造函数的实例?

如何使用带有AutoFixture的自定义SpecimenBuilder创建对象的新实例

如何使用带有 UTF 的 Laravel 创建一个新的 FCPDF 实例

当存在带有公共IP的路由器时,IP地址欺骗如何工作?

Terraform:如何修改而不是创建 GCP 子网?

私有Google Access是否也用于具有公共IP或使用Cloud NAT的实例?

无法通过Terraform创建和附加公共IP到VM

如何使用 Terraform 脚本在 GCP 中的 LINUX(Ubuntu/Debian)GCE 实例中安装 stackdriver?

如何使用 terraform 为 gcp 实例中的附加附加磁盘设置自动删除选项?

如何使用terraform将SSH密钥添加到GCP实例?