hashicorp / terraform-provider-azurerm

Terraform provider for Azure Resource Manager
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs
Mozilla Public License 2.0
4.53k stars 4.6k forks source link

r//kubernetes_cluster: support for Generation 2 VM's #10506

Closed foxnix closed 3 years ago

foxnix commented 3 years ago

Community Note

Terraform (and AzureRM Provider) Version

$ terraform -v
Terraform v0.14.6
+ provider registry.terraform.io/hashicorp/azurerm v2.46.0

Affected Resource(s)

Terraform Configuration Files

    name = "aks"
    location = "westus2"
    resource_group_name = "rg"
    dns_prefix = "aks"
    sku_tier = "..."

    kubernetes_version = "1.18.14"

    default_node_pool {
        name = "default"
        node_count = var.node_count
        max_pods = 50
        os_disk_size_gb = 128 
        os_disk_type = "Managed"
        vm_size = "Standard_DC2s_v2"
    }   

    identity {
        type = "SystemAssigned"
    }

Crash Output

azurerm_resource_group.main: Creating...
azurerm_resource_group.main: Creation complete after 1s [id=/subscriptions/.../resourceGroups/rg]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Creating...
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [10s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [20s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [30s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [40s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [50s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [1m0s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [1m10s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [1m20s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [1m30s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [1m40s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [1m50s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [2m0s elapsed]
module.ccm_kubernetes.azurerm_kubernetes_cluster.ccm: Still creating... [2m10s elapsed]

Error: waiting for creation of Managed Kubernetes Cluster "aks" (Resource Group "rg"): Code="CreateVMSSAgentPoolFailed" Message="VMSSAgentPoolReconciler retry failed: deployment operations failed with error messages: {\n  \"code\": \"BadRequest\",\n  \"message\": \"The selected VM Size 'Standard_DC2s_v2' cannot boot Hypervisor Generation '1'. If this was a Create operation please check that the Hypervisor Generation of the Image matches the Hypervisor Generation of the selected VM Size. If this was an Update operation please select a Hypervisor Generation '1' VM Size.\"\n } "

Expected Behaviour

Create a nodepool with DC2s_v2 (Gen2s) VMs.

Actual Behaviour

Error above.

Steps to Reproduce

Deploy an azurerm_kubernetes_cluster resource with same configuration, important section:

default_node_pool {
        name = "default"
        node_count = var.node_count
        max_pods = 50
        os_disk_size_gb = 128 
        os_disk_type = "Managed"
        vm_size = "Standard_DC2s_v2"
}

Important Factoids

Nothing special.

agowdamsft commented 3 years ago

This may be affecting other Generation 2 SKU's as well.

tombuildsstuff commented 3 years ago

šŸ‘‹

Trying this now against the latest master branch (which has had no changes to AKS since the last release) - it appears this works:

 $ cat main.tf
provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "example" {
  name     = "tomdevaksrg"
  location = "West Europe"
}

resource "azurerm_kubernetes_cluster" "example" {
  name                    = "tomdevaks"
  location                = azurerm_resource_group.example.location
  resource_group_name     = azurerm_resource_group.example.name
  dns_prefix              = "tomdevaks"

  default_node_pool {
    name       = "default"
    node_count = 1
    vm_size    = "Standard_DC2s_v2"
  }

  identity {
    type = "SystemAssigned"
  }

  tags = {
    Environment = "Production"
  }
}

Which ends up getting deployed with Kubernetes version 1.18.14 - as such I believe this issue (which appears to be an upstream issue) is now resolved. If you're still experiencing this issue then please ensure you're running the latest version of the Azure Provider (v2.48.0 at the time of writing) and we'll take another look.

Thanks!

ghost commented 3 years ago

I'm going to lock this issue because it has been closed for 30 days ā³. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error šŸ¤– šŸ™‰ , please reach out to my human friends šŸ‘‰ hashibot-feedback@hashicorp.com. Thanks!