繁体   English   中英

使用 terraform 运行的 Vault Helm 图表不会在 kubernetes 上创建入口

[英]Vault Helm chart run with terraform does not create an ingress on kubernetes

我正在尝试通过从 Terraform 运行 Vault Helm 图表来在 Kubernetes 集群上安装 Vault。 由于某种原因,没有创建入口。 当我转发 pods 端口时,用户界面正常,所以我假设一切正常,但是入口不可用让我绊倒了。 编辑:运行 terraform 应用时没有错误。 如果还有其他地方我应该看,请告诉我。 这是我的 helm_release 资源:

  name       = "vault"
  repository = "https://helm.releases.hashicorp.com"
  chart      = "vault"

  namespace        = "vault"
  create_namespace = true

  set {
    name  = "ui.enabled"
    value = "true"
  }

  #Set ingress up to use cert-manager provided secret
  set {
    name  = "ingress.enabled"
    value = "true"
  }

  set {
    name  = "ingress.annotations.cert-manager\\.io/cluster-issuer"
    value = "letsencrypt-cluster-prod"
  }

  set {
    name  = "ingress.annotations.kubernetes\\.io/ingress\\.class"
    value = "nginx"
  }

  set {
    name  = "ingress.tls[0].hosts[0]"
    value = var.vault_hostname
  }

  set {
    name  = "ingress.hosts[0].host"
    value = var.vault_hostname
  }

  set {
    name  = "ingress.hosts[0].paths[0]"
    value = "/"
  }
}

我对所有这些技术都比较陌生,之前曾与 puppet 合作过,所以如果有人能指出我正确的方向,我将非常感激。

我实现了使用局部变量启用入口,这是工作示例

locals {
    values = {
        server= {
            ingress = {
              enabled = var.server_enabled
              labels = {
                traffic = "external"
              }
              ingressClassName = "nginx"
              annotations = {
                "kubernetes.io/tls-acme" =  "true"
                "nginx.ingress.kubernetes.io/ssl-redirect" = "true"
              }
              hosts = [{
                host = vault.example.com
                paths = ["/"]
              }]
              tls = [
                {
                  secretName = vault-tls-secret
                  hosts = ["vault.example.com"]
                }
              ]
            }
        }
    }
}
resource "helm_release" "vault" {
  name          = "vault"
  namespace     = "vault"
  repository = "https://helm.releases.hashicorp.com"
  chart      = "vault"
  version       = "0.19.0"
  create_namespace = true
  # other value to set
  #set { 
   # name = "server.ha.enabled"
    #value = "true"
  #}
    values = [
    yamlencode(local.values)
  ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM