带有 Terraform 负载均衡器的 Azure Kubernetes 服务显示 "Internal Server Error"?

Azure Kubernetes Services with Terraform load balancer shows "Internal Server Error"?

我正在尝试使用 'Azure Voting'-app 设置带有 Terraform 的 Azure Kubernetes 服务。

我正在使用下面提到的代码,但是我一直在负载平衡器上收到错误:“内部服务器错误”。知道这里出了什么问题吗?

似乎端点负载均衡器 (POD) 配置正确,因此您不确定这里缺少什么。

main.tf

provider "azurerm" {
  features {}
}

data "azurerm_kubernetes_cluster" "aks" {
  name                = "kubernetescluster"
  resource_group_name = "myResourceGroup"
}

provider "kubernetes" {
  host = data.azurerm_kubernetes_cluster.aks.kube_config[0].host

  client_certificate     = base64decode(data.azurerm_kubernetes_cluster.aks.kube_config.0.client_certificate)
  client_key             = base64decode(data.azurerm_kubernetes_cluster.aks.kube_config.0.client_key)
  cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.aks.kube_config.0.cluster_ca_certificate)
}

resource "kubernetes_namespace" "azurevote" {
  metadata {
    annotations = {
      name = "azurevote-annotation"
    }

    labels = {
      mylabel = "azurevote-value"
    }

    name = "azurevote"
  }
}

resource "kubernetes_service" "example" {
  metadata {
    name = "terraform-example"
  }
  spec {
    selector = {
      app = kubernetes_pod.example.metadata.0.labels.app
    }
    session_affinity = "ClientIP"
    port {
      port        = 80
      target_port = 80
    }

    type = "LoadBalancer"
  }
}

resource "kubernetes_pod" "example" {
  metadata {
    name = "terraform-example"
    labels = {
      app = "azure-vote-front"
    }
  }

  spec {
    container {
        image = "mcr.microsoft.com/azuredocs/azure-vote-front:v1"
        name  = "example"
    }
  }
}

variables.tf

variable "prefix" {
    type = string
    default = "ab"
    description = "A prefix used for all resources in this example"
}

看来你的基础设施设置没问题,唯一的问题是应用程序本身,你只创建了前端应用程序,你需要创建后端应用程序。

您可以查看部署示例here

当你 运行 没有后端的前端时,你也可以看到 here 异常。