gpt4 book ai didi

kubernetes - 如何使用 Terraform 将 GKE 凭证传递给 kubernetes 提供商?

转载 作者:行者123 更新时间:2023-12-02 11:34:21 24 4
gpt4 key购买 nike

我已经用 Terraform 创建了一个 GKE 集群,我也想用 Terraform 管理 Kubernetes。但是,我不知道如何将 GKE 的凭据传递给 kubernetes提供者。

我关注了 example in the google_client_config data source documentation我得到了

data.google_container_cluster.cluster.endpoint is null



这是我失败的尝试 https://github.com/varshard/gke-cluster-terraform/tree/title-terraform
cluster.tf负责创建一个 GKE 集群,工作正常。
kubernetes.tf负责管理Kubernetes,未能获得GKE凭证。

最佳答案

您不需要 google_container_cluster data source这里根本是因为relevant information也在 google_container_cluster resource您在相同的上下文中创建的。
数据源用于访问关于完全在 Terraform 之外或在不同 Terraform 上下文中创建的资源的数据(例如,不同的状态文件和不同的目录 terraform apply 'd)。
我不确定您当前的状态如何,其中数据源正在选择现有的容器集群,然后您定义一个资源以使用数据源的输出创建该容器集群,但这种方式过于复杂且略有损坏-如果您销毁了所有内容并重新应用,它就无法正常工作。
相反,您应该删除 google_container_cluster数据源和修改你的google_container_cluster资源改为:

resource "google_container_cluster" "cluster" {
name = "${var.project}-cluster"
location = var.region

# ...
}
然后在您的 kubernetes 中引用此资源提供者:
provider "kubernetes" {
load_config_file = false
host = "https://${google_container_cluster.cluster.endpoint}"
cluster_ca_certificate = base64decode(google_container_cluster.cluster.master_auth.0.cluster_ca_certificate)
token = data.google_client_config.current.access_token
}

关于kubernetes - 如何使用 Terraform 将 GKE 凭证传递给 kubernetes 提供商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57843340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com