我想管理一个使用terraform的服务配置到一个使用外部terraform脚本定义的GKE集群。
我使用kubernetes_secret创建了配置。
类似于下面的内容
resource "kubernetes_secret" "service_secret" {
metadata {
name = "my-secret"
namespace = "my-namespace"
}
data = {
username = "admin"
password = "P4ssw0rd"
}
}我还将此google客户端配置用于配置kubernetes提供程序。
data "google_client_config" "current" {
}
data "google_container_cluster" "cluster" {
name = "my-container"
location = "asia-southeast1"
zone = "asia-southeast1-a"
}
provider "kubernetes" {
host = "https://${data.google_container_cluster.cluster.endpoint}"
token = data.google_client_config.current.access_token
cluster_ca_certificate = base64decode(data.google_container_cluster.cluster.master_auth[0].cluster_ca_certificate)
}当我应用terraform时,它显示以下错误消息

data.google_container_cluster.cluster.endpoint is null
我是不是错过了这里的一些步骤?
发布于 2021-10-26 17:04:47
在尝试从google_container_cluster数据源初始化kubernetes提供程序时,我刚刚遇到了相同/类似的问题。terraform show只显示了数据源属性的所有空值。我的解决方法是在数据源中指定项目,例如,
data "google_container_cluster" "cluster" {
name = "my-container"
location = "asia-southeast1"
zone = "asia-southeast1-a"
project = "my-project"
}项目-(可选)资源所属的项目。如果未提供,则使用提供程序项目。
在我的例子中,google提供商指向了一个不同的项目,而不是包含我想要获取信息的集群的项目。
此外,您应该能够从该块中删除zone属性。如果是分区群集,则location应指区域;如果是区域群集,则应指区域。
https://stackoverflow.com/questions/69521179
复制相似问题