1

我是 Terraform 的新手,是否有任何直接的方法可以使用 Terraform 管理和创建 Google Cloud Composer 环境?

我检查了 GCP 支持的组件列表,似乎 Google Cloud Composer 目前不存在。作为一种解决方法,我正在考虑创建一个 shell 脚本,包括所需的 gcloud composer cli 命令并使用 Terraform 运行它,这是一种正确的方法吗?请提出替代方案。

4

3 回答 3

3

Terraform 现在支持 Google Cloud Composer
https://www.terraform.io/docs/providers/google/r/composer_environment.html

它可以如下使用

resource "google_composer_environment" "test" {
  name   = "my-composer-env"
  region = "us-central1"
}
于 2019-01-13T22:43:28.070 回答
2

那是一种选择。您可以使用null_resourceandlocal-exec来运行命令:

resource "null_resource" "composer" {
  provisioner "local-exec" {
    inline = [
      "gcloud beta composer <etc..>"
    ]
  }
}

使用时请记住local-exec

请注意,即使在运行配置程序时将完全创建资源,也不能保证它会处于可操作状态

看起来Google Cloud Composer真的很新,而且仍处于测试阶段。希望 Terraform 将来会支持它。

于 2018-06-06T13:06:45.403 回答
1

我发现我必须对包含命令参数的配置器使用稍微不同的语法。

resource "null_resource" "composer" {
  provisioner "local-exec" {
    command = "gcloud composer environments create <name> --project <project> --location us-central1 --zone us-central1-a --machine-type n1-standard-8"
  }
}

虽然这可行,但它与 GCP 中的实际资源状态断开了连接。它将依赖状态文件来判断它是否存在,我发现我必须对其进行污染才能让命令再次运行。

于 2018-10-01T15:31:21.600 回答