在 Terraform 中启用 GKE 集群工作负载标识,接收"Context Deadline exceeded"



我有一个没有公共端点的私有GKE集群。我已经确认,我可以使用我的主体帐户对集群进行身份验证并运行kubectl命令。我正在从测试kubectl命令的同一个VM部署Terraform,并已将该IP地址添加到集群的主授权网络中。

每当我尝试使用Terraform部署工作负载标识时,我都会收到以下错误:

Error: Post "https://10.0.0.2/api/v1/namespaces/default/serviceaccounts": context deadline exceeded
on .terraform/modules/gke-workload-identity/modules/workload-identity/main.tf line 48, in resource "kubernetes_service_account" "main":
48: resource "kubernetes_service_account" "main" {

我已授予Terraform部署的服务帐户WI的适当IAM角色。我使用标准的terraform-google-modules进行工作负载标识和GKE集群。

这也是我的TFKubernetes提供程序块:

provider "kubernetes" {
host                   = "https://${module.gke.endpoint}"
token                  = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(module.gke.ca_certificate)
}

Kuectl配置视图

显示合并的kubeconfig设置或指定的kubecnfig文件。

简介

显示合并的kubeconfig设置或指定的kubecnfig文件。

您可以使用–output jsonpath={…}来提取使用jsonpath表达式的特定值。

示例:

kubectl config view --raw

社区参考kubectl_config_view

最新更新