Nie*_*sic 1 kubernetes google-kubernetes-engine terraform kubectl
我有一个 Terraform 配置(以及其他资源),可以在 Google Cloud 上创建 Google Kubernetes Engine 集群。我使用kubectl
提供程序为 ManagedCertificate 和 FrontendConfig 添加 YAML 清单,因为这些不是 kubernetes 或 google 提供程序的一部分。从本地计算机应用 Terraform 配置时,这可以按预期工作,但是当我尝试在 CI 管道中执行它时,这两个资源都会出现以下错误kubectl_manifest
:
Error: failed to create kubernetes rest client for read of resource: Get "http://localhost/api?timeout=32s": dial tcp 127.0.0.1:80: connect: connection refused
Run Code Online (Sandbox Code Playgroud)
由于我只在 CI 期间遇到这个问题,我的第一个猜测是服务帐户缺少正确的范围,但据我所知,所有范围都存在。非常感谢任何建议和想法!
load_config_file = false
通过添加到提供程序配置修复了该问题kubectl
。我的提供者配置现在如下所示:
data "google_client_config" "default" {}
provider "kubernetes" {
host = "https://${endpoint from GKE}"
token = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(CA certificate from GKE)
}
provider "kubectl" {
host = "https://${endpoint from GKE}"
token = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(CA certificate from GKE)
load_config_file = false
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9347 次 |
最近记录: |