问题标签 [terraform-provider-gcp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1396 浏览

google-cloud-platform - 如何使用列表为 google_compute_security_policy 定义规则

https://www.terraform.io/docs/providers/google/r/compute_security_policy.html

规则嵌入在 google_compute_security_policy 资源中

云盔甲有一个愚蠢的限制,一个规则最多只能允许 5 个 IP - 我有大约 15 个 IP 我想将其列入白名单

我希望这是动态的,而不必手动将它们分成 3 个在 google_compute_security_policy 中静态定义的规则

我想要一个包含所有 15 个 IP 的 terraform var。然后遍历该变量并创建 15 条规则并应用于 google_compute_security_policy 资源。

这样的事情可能吗?

0 投票
1 回答
553 浏览

terraform - 在计划阶段“创建”和“销毁”的顺序是什么?

刚刚运行terraform plan,它吐出了需要针对 GCP API 运行的配置。根据计划,它必须摧毁一些实体并重新创建它们。这些模块不相互依赖。下面的示例输出。

只是想知道创建(在这种情况下更像“覆盖”)是否发生在破坏之前,反之亦然,还是完全随机的?

0 投票
1 回答
2617 浏览

kubernetes - Kubernetes ConfigMap YAML 到 Terraform Kubernetes

我正在尝试将以下ConfigMapyaml 文件(此处的链接)转换为 akubernetes_config_map但在尝试定义它时遇到语法错误。

特别是,我无法绕过opentsdb.conf文件中的点符号

这是我目前的尝试,在"opentsdb.conf"

0 投票
1 回答
1219 浏览

terraform-provider-gcp - Google 存储桶的 IAM 政策:google_storage_bucket_iam_binding 与 google_storage_bucket_iam_member

除了可以分配 iam 的人数之外,资源 google_storage_bucket_iam_binding 和 google_storage_bucket_iam_member 之间有什么区别?

我查看了文档(https://www.terraform.io/docs/providers/google/r/storage_bucket_iam.html),但我无法弄清楚上述资源之间的区别。

0 投票
1 回答
704 浏览

google-bigquery - 地形 0.12.5 | Bigquery 表资源不支持外部数据配置块

我正在创建一个模块,以便在 GCP 中轻松配置 BigQuery 表。我的模块正在工作,但现在我正在尝试添加基于外部数据创建表的选项,例如 GCS 存储桶。

在文档(https://www.terraform.io/docs/providers/google/r/bigquery_table.html#external_data_configuration)中说支持此配置,但我只收到此错误:

我在 Mac OS 中使用最新的 Terraform 版本(0.12.5)和谷歌提供程序 v2.10.0。

这是我在 HCL2 中的模块代码:

以上即时使用动态块,但尝试正常使用,错误是一样的。

0 投票
1 回答
486 浏览

google-app-engine - 如何使用 Terraform 在 Google App Engine 中安装 Jenkins?

我正在尝试找到如何在 Google App Engine 上设置 Jenkins 并使用 Terraform。任何人都可以建议任何文档或教程吗?在网上找不到任何东西。

0 投票
0 回答
135 浏览

google-cloud-platform - 如何从位于不同目录中的模块或 terraform 文件中获取资源名称的数据?

如何从不同目录中的模块获取数据。我在此目录下有一个名为的目录,我有两个名为和modules的子目录。在目录中,我拥有在 GCP 中创建实例模板的所有文件,并且我能够成功地从中创建模板。现在我想在另一个目录中使用模板的名称,我正在尝试从现有模板创建一个实例。但是,如果我使用模块并提及我的源代码,因为它要求我创建一个新模板的变量。但我想使用现有的。templateinstance-from-templatetemplateinstance-from-templatemodules/template

我已经outputs.tf在模板中使用和使用了模块,假设它可以帮助我获取参数。并尝试使用这样的东西

modules->template->main.tf 中的代码

modules->instance-from-template->main.tf 中的代码

错误

0 投票
2 回答
475 浏览

terraform-provider-gcp - terraform 中用于 GKE 集群创建的 release-channel 属性

https://cloud.google.com/kubernetes-engine/docs/concepts/release-channels 提供在集群创建时指定发布通道,以实现集群的自动升级。

Terraform 似乎不可能。在 terraform 中也有这个功能会很好,对吧?

0 投票
3 回答
3918 浏览

google-cloud-platform - 带有私有 Google Cloud 存储库的 GKE 上的 ImagePullBackOff

我正在使用以下(标准)部署在 GKE 中创建部署

但是,出于某种原因,GKE 抱怨权限问题。容器位于同一项目和 PRIVATE 的容器注册表中,但据我所知,如果它与 GCP 项目 GKE 应该能够访问。GKE 集群是 vpc-native(如果这可能会有所不同),因为这是我能想到的与我过去使用相同容器和安装程序运行的集群相比的唯一区别。

我是否还需要为带有谷歌云存储库的 GKE 集群添加 ImageSecrets,或者可能还有其他问题?

GKE 集群是使用 TerraForm 和 GKE 的以下 gke.tf 创建的

运行 gcloud gcloud container clusters describe [CLUSTER] 给出

所以 devstorage.read_only 似乎在那里

0 投票
3 回答
14052 浏览

google-cloud-platform - 带有 Terraform 的 Google Cloud 凭据

这是一个新手问题,但我刚刚开始使用 Terraform / Terragrunt 进行 GCP 配置,我发现获取 GCP 凭据的工作流程非常混乱。我是专门使用 AWS 的,在 AWS CLI 中获取凭证和配置它们非常简单。

基本上,Google Cloud Provider 文档声明您应该provider像这样定义一个块:

credentials字段显示我(显然)必须生成一个服务帐户,并将 JSON 保存在我的文件系统的某个位置。

但是,如果我运行命令gcloud auth application-default login,这会生成一个位于~/.config/gcloud/application_default_credentials.json; 或者我也可以使用gcloud auth login <my-username>. 从那里我可以使用命令从命令行访问 Google API(这也是 Terraform 在幕后所做的)gcloud

那么为什么 Terraform 提供者需要服务帐户的 JSON 文件呢?为什么它不能只使用gcloudCLI 工具已经在使用的凭据?

顺便说一句,如果我将 Terraform 配置为指向该application_default_credentials.json文件,则会收到以下错误:

正在初始化模块...

正在初始化后端...

错误:无法获取现有工作区:查询云存储失败:获取 https://www.googleapis.com/storage/v1/b/terraform-state-bucket/o?alt=json&delimiter=%2F&pageToken=&prefix=projects%2Fsomeproject %2F&prettyPrint=false&projection=full&versions=false : 私钥应该是 PEM 或普通 PKCS1 或 PKCS8;解析错误:asn1:语法错误:序列被截断