【问题标题】:How to create nginx ingress in terraform - aks如何在 terraform 中创建 nginx 入口 - aks
【发布时间】:2020-06-10 11:22:51
【问题描述】:

如何使用terraformazure kubernetes 中创建nginx ingress,在前面的link 中,我记得看到一些步骤是所有设置的强制安装,现在它似乎已被删除并且有在此link 中安装aks 的特定方式,我应该重写所有这些以适应terraform 还是有任何其他智能方式为aks 安装nginx ingress 通过terraform

【问题讨论】:

    标签: nginx terraform kubernetes-ingress azure-aks


    【解决方案1】:

    您可以尝试使用 Terraform 的 helm 提供程序。

    provider "helm" {
        kubernetes {
            host     = azurerm_kubernetes_cluster.your_cluster.kube_config.0.host
            client_key             = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.client_key)
            client_certificate     = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.client_certificate)
            cluster_ca_certificate = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.cluster_ca_certificate)
        }  
    }
    
    data "helm_repository" "stable" {
      name = "stable"
      url  = "https://kubernetes-charts.storage.googleapis.com"
    }
    
    resource "helm_release" "nginix_ingress" {
        name      = "nginix_ingress"
        repository = data.helm_repository.stable.metadata.0.name
        chart     = "stable/nginx-ingress"
        namespace = "kube-system"
    }
    

    如果您的集群已经创建,您还必须使用数据源将其导入。 helm_release 也支持自定义值。 Here 是您需要更多信息的链接。

    【讨论】:

    • 感谢您的回复,这似乎已经在 kube-system 命名空间中创建了 ingress,但是否建议在该命名空间中创建它?我也收到502 Bad Gateway
    • @doc_noob 我一直在kube-system 中安装 nginx,我从来没有遇到过任何问题。对于502 Bad Gateway 错误,请查看 nginx pod 的日志。
    【解决方案2】:

    有一个很好的教程Create an Application Gateway ingress controller in Azure Kubernetes Service。你可以在 GitHub 上查看Application Gateway Ingress Controller

    如果您使用的是 Terraform 版本 0.12 或更高版本,您可以使用terraform provider kubernetes example

    至于 Terraform 文档,您应该查看 Data source kubernetes_ingressResource kubernetes_ingress

    如果您提供更多详细信息,我会更新答案。

    【讨论】:

    • 你看到我的问题了吗,是关于nginx ingress 而不是application gateway ingress
    【解决方案3】:

    更新答案

    resource "helm_release" "nginix-ingress" {
      name      = "nginix-ingress"    
      repository = "https://charts.bitnami.com/bitnami"    
      chart     = "nginx"
      namespace = "kube-system"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-21
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 2020-12-29
      • 2021-12-23
      • 2020-01-08
      相关资源
      最近更新 更多