Terraform:无法与 Google 云平台基础设施通信

Terraform: Unable to Communicate with Google Cloud Platform Infrastructure

我有最新的 Google Cloud Platform (GCP) Cloud SDK (gcloud):

gcloud version

#=>

Google Cloud SDK 356.0.0
beta 2021.09.03
bq 2.0.71
core 2021.09.03
gsutil 4.67

和最新的 Terraform CLI (terraform):

terraform version

#=>

Terraform v1.0.6

已安装。当我尝试 applyplanrefresh Terraformed Google Kubernetes Engine (GKE) 集群时:

terraform plan -target=google_container_cluster.test

#=>

google_container_cluster.test: Refreshing state... [id=projects/. . ./test]
╷
│ Error: Error when reading or editing Container Cluster "test": Get "https://container.googleapis.com/v1beta1/projects/. . ./test?alt=json&prettyPrint=false": dial tcp [xxxx:xxxx:xxxx:xxx::xxx]:443: connect: no route to host
│
│   with google_container_cluster.test,
│   on container_cluster.tf line 1, in resource "google_container_cluster" "test":
│    1: resource "google_container_cluster" "test" {
│
╵

我遇到了上面的错误。

为什么?

似乎出现了连接错误。如果您之前能够 applyplanrefresh,那么您这边似乎没有任何配置错误。

如果您能够解决独立于 Terraform 和 Cloud SDK 的外部连接问题,您应该能够再次将 Terraform 与远程 GCP 基础设施一起使用。

Terraform 使用 REST 与 GCP 通信;例如,在上面的错误中找到的路由是 Terraform 用来读取远程 GKE 集群的路由。您可以了解更多关于:

no route to host

错误here.