Skip to content

Feature Request: Support max_unavailable in upgrade_settings for AKS Node Pools #30381

Description

@aydosman

Is there an existing issue for this?

  • I have searched the existing issues

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave comments along the lines of "+1", "me too" or "any updates", they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment and review the contribution guide to help.

Description

AKS supports a maxUnavailable setting that limits how many nodes (number or percentage) can be unavailable during a node-pool upgrade. When used the managed service cordons and drains nodes up to this threshold without creating surge nodes. This is valuable for clusters with constrained IP capacity.

Today the provider exposes upgrade_settings.max_surge (and timers like drain/node soak) but does not expose max_unavailable. Please add max_unavailable to the upgrade_settings.

New or Affected Resource(s)/Data Source(s)

  • azurerm_kubernetes_cluster
  • azurerm_kubernetes_cluster_node_pool

Potential Terraform Configuration

resource "azurerm_kubernetes_cluster_node_pool" "example" {
  name                  = "np00001"
  kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id
  vm_size               = "Standard_DS2_v2"
  node_count            = 3

  upgrade_settings {
    max_surge       = "0"
    max_unavailable = "30%"
    
    drain_timeout_in_minutes      = 30
    node_soak_duration_in_minutes = 5
  }
}

References

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions