AKS Использование Terraform - Ошибка ожидания завершения - PullRequest
0 голосов
/ 27 февраля 2019

Я пытался развернуть кластер aks с помощью terraform.Ниже приведен файл моего шаблона:
main.tf

locals {
  cluster_name               = "aks-${random_integer.random_int.result}"
  agents_resource_group_name = "MC_${var.resource_group_name}_${local.cluster_name}_${azurerm_resource_group.k8s.location}"
}

resource "azurerm_resource_group" "k8s" {
  name     = "${var.resource_group_name}"
  location = "${var.resource_group_location}"
}

#Keep the AKS name (and dns label) somewhat unique
resource "random_integer" "random_int" {
  min = 100
  max = 999
}

resource "azurerm_kubernetes_cluster" "k8s" {
  name                = "${local.cluster_name}"
  location            = "${azurerm_resource_group.k8s.location}"
  resource_group_name = "${azurerm_resource_group.k8s.name}"
  dns_prefix          = "${local.cluster_name}"

  linux_profile {
    admin_username = "${var.linux_admin_username}"

    ssh_key {
      key_data = "${file("${var.linux_admin_ssh_publickey}")}"
    }
  }

  agent_pool_profile {
    name            = "agentpool"
    count           = "${var.node_count}"
    vm_size         = "${var.vm_size}"
    os_type         = "Linux"
    os_disk_size_gb = "${var.os_disk_size_gb}"
  }

  service_principal {
    client_id     = "${var.client_id}"
    client_secret = "${var.client_secret}"
  }

  tags {
    Environment = "Production"
  }
}

data "azurerm_resource_group" "agents" {
  name = "${local.agents_resource_group_name}"

  depends_on = [
    "azurerm_kubernetes_cluster.k8s",
  ]
}  

Все переменные верны, поскольку я не сталкиваюсь с ошибками в этом отношении.Ошибка, которую я продолжаю получать после ~ 2 м:

azurerm_kubernetes_cluster.k8s: Ошибка ожидания завершения управляемого кластера Kubernetes "aks-136" (группа ресурсов "azure-aks"): Code = "NotFound«Message =» resources.DeploymentsClient # Get: Ошибка при ответе на запрос: StatusCode = 404 - Исходная ошибка: autorest / azure: служба вернула ошибку. Status = 404 Code = \ "DeploymentNotFound \" Message = \ "Deployment" 898a5255-0c27-4eed-963a-65183e7d693c 'не найден. \ "

Похоже, что Azure API отказывается отвечать, и, возможно, terraform распознает это как ошибку и вызывает панику.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Попробуйте ниже код

    #variables file
arm_subscription_id = "XXXXXXXXXXXXXXXXXXXXXXXXXXX"

arm_client_id = "XXXXXXXXXXXXXXXXXXXXXXX"

arm_client_secret = "XXXXXXXXXXXXXXXXXXX"

arm_tenent_id = "XXXXXXXXXXXXXXX"

resource_group_name = "k8terraform"

location = "East US"

cluster_name = "k8terraform"

dns_prifix = "k8terraform1232"

#Running on a Windows add front slash to ignore characters 
ssh_public_key = "E:\\DevOps\\Terraform\\Azure\\AKS\\aksdeploy"

agent_count = 3

#Variable
variable "arm_subscription_id" {
}

variable "arm_client_id" {
}

variable "arm_client_secret" {
}

variable "arm_tenent_id" {
}

variable "location" {
}

variable "cluster_name" {
}

variable "dns_prifix" {
}

variable "ssh_public_key" {
}

variable "agent_count" {
    default = 3
}

variable "resource_group_name" {
}

#Add Azure Provider
provider "azurerm" {
}

#Create Resource Group
resource "azurerm_resource_group" "k8terraform" {
    name = "${var.resource_group_name}"
    location = "${var.location}"
}

#Create AKS Cluster
resource "azurerm_kubernetes_cluster" "k8cluster" {
    name = "${var.cluster_name}"
    location = "${azurerm_resource_group.k8terraform.location}"
    resource_group_name = "${azurerm_resource_group.k8terraform.name}"
    dns_prefix = "${var.dns_prifix}"

    linux_profile{
        admin_username = "localadmin"
        ssh_key{
            key_data = "${file("${var.ssh_public_key}")}"
        }
    }

    agent_pool_profile{
        name = "aksterraform"
        count = "${var.agent_count}"
        vm_size = "Standard_B2ms"
        os_type = "Linux"
        os_disk_size_gb = 30
    }

    service_principal{
        client_id = "${var.arm_client_id}"
        client_secret = "${var.arm_client_secret}"
    }
    tags{
        Environment = "Development"
    }
}

#Outputs -Optional
#output "kube_config" {
#  value = "${azurerm_kubernetes_cluster.k8s.kube_config_raw}"
#}

#output "host" {
#  value = "${azurerm_kubernetes_cluster.k8s.kube_config.0.host}"
#}
0 голосов
/ 28 февраля 2019

Из ошибок видно, что ваше развертывание не удалось.Есть две возможные причины на моей стороне.Одной твоей квоты недостаточно.Еще один регион, который вы развернули, не поддерживает AKS, по крайней мере, текущий.

...