我一直在尝试使用terraform来部署aks集群。下面是我的模板文件:
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群集“ak-136”完成的错误(资源组"azure-aks"):Code="NotFound“Message=resources.DeploymentsClient#Get:失败响应请求: StatusCode=404 -原始错误: autorest/azure:服务返回了一个错误。无法找到Status=404 Code=\"DeploymentNotFound\”Message=\部署‘898a5255-0c27-4eed-963 a-6518e7d693c’。
看起来,蔚蓝的API拒绝回应,也许terraform意识到这是一个错误和恐慌。
发布于 2019-02-28 07:09:38
从错误显示,您的部署似乎失败了。我有两个可能的理由。一是你的配额不够。另一个是您部署的区域不支持AKS,至少是当前的。
发布于 2019-04-03 16:53:33
试试下面的代码
#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}"
#}https://stackoverflow.com/questions/54903892
复制相似问题