如何使用Terraform在谷歌云平台上创建一个虚拟机

453 阅读6分钟

目录

阅读时间: 5 分钟

读者朋友们,大家好在这篇博客中,我们将看到**如何使用Terraform**在谷歌云平台上设置你的第一个虚拟机。

前提是。

  1. 安装Terraform
  2. 谷歌云平台(GCP)账户

步骤1.在GCP(谷歌云平台)上创建一个项目

我假设你已经有GCP账户,如果没有,我建议你可以创建你的第一个GCP账户。

好的,所以开始我们要做的第一件事是在GCP上创建项目。点击新建项目

我已经创建了一个项目,名字是gcp-terraform-project

terraform-gcpterraform-gcp

第二步。为该项目创建一个服务账户

在第二步,我们需要在上述步骤创建的项目内创建服务账户

在创建服务账户之前,确保选择你创建的项目

前往左侧导航,选择**IAM & Admin**->服务账户

gcp-iam & admingcp-iam & admin

它将把你引向服务账户 以创建页面。

现在你需要为服务账户输入一些有意义的名字。在我的例子中,我保留了my-first-service-account这个名字。

service account-gcpservice account-gcp

第三步。为服务账户分配额外的角色

1.添加项目->所有者角色

现在你已经创建了你的服务账户,在第三步,我们将为服务账户创建第一个角色。

在角色下拉菜单中寻找项目 ,在项目中添加 所有者 角色。

项目->所有者

gcp-rolegcp-role

2.添加 "计算"->"计算 "管理员角色

我们需要的下一个角色是Compute Admin角色,在Compute里面可以找到。

计算引擎 -> 计算管理员角色

gcp-compute-rolegcp-compute-role

3.添加计算 -> 计算网络管理员

您需要添加的第三个角色是ComputeNetwork Admin,可在Compute里面找到。

计算引擎 -> 计算网络管理员

gcp-compute-network-admingcp-compute-network-admin

第四步。为服务账户生成密钥

添加完角色后,我们需要生成授权的密钥。我们将在后面使用Terraform模块的这些密钥。

从服务账户列表中选择你已经创建的账户**(在我的例子中,服务账户名称是my-first-service-account**,然后点击3点选项。

service-account-gcpservice-account-gcp

现在你需要寻找管理钥匙的选项。

service-account-gcpservice-account-gcp

钥匙部分点击ADD KEY -> 创建新钥匙

gcp-keygcp-key

在下一个选项中,你需要选择钥匙的类型。对于当前的例子,我们将选择JSON

现在你需要下载密钥,并将其保存在你的本地计算机上。(如果你能给JSON密钥文件重命名就更好了,我把它重命名为 -gcp-account.json,但你可以选择任何你喜欢的名字)。

第五步。准备terraform文件 "main.tf"

现在我们要写第一个Terraform脚本。创建一个名为main.tf 的文件。

首先,我们将创建一个目录,然后使用这些命令创建一个main.tf文件。

mkdir gcp-terraform-sample

cd gcp-terraform-sample/

vi main.tf

1.添加提供者的详细信息

如你所知,我们将在谷歌上配置虚拟机,所以我们需要选择谷歌作为提供者。

 provider "google" {
     credentials = file("gcp-account.json")
     project     = "gcp-terraform-project-353408"
     region      = "europe-west4"
     zone        = "europe-west4-a"
}

你需要知道的几个要点是

  1. gcp-account.json- 这是我们在步骤4中下载的JSON密钥文件。请将gcp-account.json保存在你创建main.tf的同一位置。
  2. project - 你需要提到你的google控制台的项目ID
  3. region &&zone - 选择靠近你当前位置的地区和区域。

2.添加 "google_compute_instance "实例

由于我们的目标是在谷歌云平台上创建一个虚拟机,所以我们需要添加google_compute_instance 配置。

resource "google_compute_instance" "default" {
  name         = "test"
  machine_type = "e2-micro"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }

  network_interface {
    network = "default"

    access_config {
      // Ephemeral IP
    }
  }
}

你需要知道的几个要点 -

  1. 名称- 你可以根据你的选择,保留你的虚拟实例的名称。
  2. 机器类型- 我选择了e2-micro,但你也可以选择e2-small, e2-medium, e2-standard-2等。
  3. boot_disk- 在这里你需要提到主机操作系统,我选择了 -。debian-cloud/debian-9
  4. network_interface- 这个配置需要用来获取虚拟机的IP地址。

第六步。运行 -terraforminit, terraform plan, terraform apply

现在我们已经完成了在谷歌云上配置虚拟机(VM)所需的所有前提条件。

我们要运行的第一条命令是--1.

1.terraform init

我们需要运行的第一个命令是 。

terraform init

该命令将根据main.tf 中提到的提供商名称下载所有需要的依赖项。在当前的例子中,提供商名称是谷歌,所以它将把谷歌的terraform依赖项安装到你的笔记本电脑上。

terraform-initterraform-init

2. Terraform计划

我们要运行的第二个命令是 -

terraform plan 

这个命令告诉你 -

  1. 有多少资源将被创建
  2. 有多少资源将被销毁
  3. 有多少资源将被改变。

如你所知,这是我们的第一个例子,所以terraform plan ,为我们创建1个资源。

下面是命令的输出。

terraform-planterraform-plan

3. Terraform apply

我们要运行的最后一条命令是terraform apply

这个命令将在谷歌云上安装/设置虚拟机。

terraform apply

terraform-applyterraform-apply

第七步。验证你的设置

现在,我们最后要通过实际登录谷歌云来验证它。

导航到Compute Engine -> VM Instances

现在你可以在你的GCP仪表板上检查你的虚拟机运行情况。

virtual-machinevirtual-machine

恭喜你!你已经成功地配置了你的第一个虚拟机。你已经成功地使用Terraform配置了你的第一个虚拟机在谷歌云上运行。

步骤8.销毁虚拟机

你可以使用以下命令销毁在谷歌云上运行的虚拟机

terraform destroy 

一旦你运行Terraform destroy命令,你应该在你的终端看到类似的东西

terraform-destroyterraform-destroy

总结。

  1. 本指南将帮助你开始使用terraform
  2. 它将对如何编写你的第一个terraform配置文件给出一个很好的概念。
  3. 你也将对如何使用 -terraform init,terraform plan,terrafrom apply 有很好的了解。terraform destroy
  4. 最后,你将对如何用Terraform使用google提供商的依赖关系有一个非常好的理解。

谢谢你坚持到最后。所以,在这篇博客中,我们看到了如何使用Terraform在谷歌云平台上创建一个虚拟机。因此,如果你喜欢这个博客,请通过竖起大拇指和分享这个博客来表达你的感激之情,并给我建议如何改进我未来的文章以满足你的需求。 这是我的电子邮件。-gayatri.singh@knoldus.com