无法在Terraform中部署头盔图表(Kubernetes群集不可访问)

问题描述 投票:0回答:1

[我使用Terraform(link)启动了GKE集群,现在我试图发布集群上的舵图,并尝试获取如下所示的“ Nginx Ingress”舵图:

resource "helm_release" "ingress" {
  name       = "ingress"
  repository = "https://kubernetes.github.io/ingress-nginx"
  chart      = "ingress-nginx"
}

地形计划:

Terraform will perform the following actions:

  # helm_release.ingress will be created
  + resource "helm_release" "ingress" {
      + chart            = "ingress-nginx"
      + disable_webhooks = false
      + force_update     = false
      + id               = (known after apply)
      + metadata         = (known after apply)
      + name             = "ingress"
      + namespace        = "default"
      + recreate_pods    = false
      + repository       = "https://kubernetes.github.io/ingress-nginx"
      + reuse            = false
      + reuse_values     = false
      + status           = "DEPLOYED"
      + timeout          = 300
      + verify           = false
      + version          = "2.3.0"
      + wait             = true
    }

但是我遇到错误

Error: Kubernetes cluster unreachable: Get https://35.232.164.12/version?timeout=32s: dial tcp 35.232.164.12:443: i/o timeout

  on helm.tf line 36, in resource "helm_release" "ingress":
  36: resource "helm_release" "ingress" {
google-cloud-platform terraform kubernetes-helm terraform-provider-gcp
1个回答
0
投票

这里的地形无法与Kubernetes集群建立连接。群集无法访问。

也要使用terraform,也必须先设置分till,然后舵图才能起作用。

在terraform中,您可以使用helm提供程序,如果正在使用服务帐户,则添加现有帐户或根据需要创建一个帐户

provider "helm" {
  service_account = "${kubernetes_service_account.helm_account.metadata.0.name}"
  tiller_image = "gcr.io/kubernetes-helm/tiller:${var.helm_version}"
  #install_tiller = false

  kubernetes {
    host                   = "${google_container_cluster.<name>.endpoint}"
    token                  = "${data.google_client_config.current.access_token}"

    client_certificate     = "${base64decode(google_container_cluster.data-dome-cluster.master_auth.0.client_certificate)}"
    client_key             = "${base64decode(google_container_cluster.data-dome-cluster.master_auth.0.client_key)}"
    cluster_ca_certificate = "${base64decode(google_container_cluster.data-dome-cluster.master_auth.0.cluster_ca_certificate)}"
  }

一个helm开始运行,您可以开始使用头盔包管理器来设置其他版本。

您也可以查看此答案以获取更多详细信息:Deploying Helm workloads with Terraform on GKE cluster

© www.soinside.com 2019 - 2024. All rights reserved.