使用Terraform的Google云生成器
我不熟悉Terraform,有没有直接的方法来管理和创建使用Terraform的Google Cloud Composer环境使用Terraform的Google云生成器,terraform,google-cloud-composer,Terraform,Google Cloud Composer,我不熟悉Terraform,有没有直接的方法来管理和创建使用Terraform的Google Cloud Composer环境 我查看了GCP支持的组件列表,似乎到目前为止还没有Google Cloud Composer。作为一项工作,我正在考虑创建一个shell脚本,其中包含必需的gcloud composer cli命令,并使用Terraform运行它,这是一种正确的方法吗?请提出备选方案。这是一种选择。可以使用和来运行命令: resource "null_resource" "compos
我查看了GCP支持的组件列表,似乎到目前为止还没有Google Cloud Composer。作为一项工作,我正在考虑创建一个shell脚本,其中包含必需的gcloud composer cli命令,并使用Terraform运行它,这是一种正确的方法吗?请提出备选方案。这是一种选择。可以使用和来运行命令:
resource "null_resource" "composer" {
provisioner "local-exec" {
inline = [
"gcloud beta composer <etc..>"
]
}
}
使用local exec时请记住:
请注意,即使在
如果provisioner正在运行,则不能保证它将处于运行状态
可操作状态
它看起来真的很新,还在测试阶段。希望Terraform将来会支持它。这是一个选项。可以使用和来运行命令:
resource "null_resource" "composer" {
provisioner "local-exec" {
inline = [
"gcloud beta composer <etc..>"
]
}
}
使用local exec时请记住:
请注意,即使在
如果provisioner正在运行,则不能保证它将处于运行状态
可操作状态
它看起来真的很新,还在测试阶段。希望Terraform将来会支持它。我发现我必须对包含命令参数的provisioner使用稍微不同的语法
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中的实际资源状态断开连接。它将依赖于状态文件来判断它是否存在,我发现我必须污染它才能让命令再次运行。我发现我必须对包含命令参数的provisioner使用稍微不同的语法
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中的实际资源状态断开连接。它将依赖于状态文件来判断它是否存在,我发现我必须污染它才能让命令再次运行。Terraform现在支持Google Cloud Composer 它可以按如下方式使用
resource "google_composer_environment" "test" {
name = "my-composer-env"
region = "us-central1"
}
Google Cloud Composer现在在Terraform中受支持 它可以按如下方式使用
resource "google_composer_environment" "test" {
name = "my-composer-env"
region = "us-central1"
}