Terraform-provider-azurerm: Support for mode:system pools in AKS

Created on 10 Mar 2020  ·  5Comments  ·  Source: terraform-providers/terraform-provider-azurerm

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 "+1" or "me too" comments, 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

Description


AKS is exposing an agentpool property seen as "mode" in the latest AKS API 2020-03-01. These can be set to "system" or "user". When defined as system, AKS will add a specific label to those nodes and prefer system-pod scheduling to that pool.

There can be 1 or many system pools in a cluster, but there must be at least one.

By enabling a system pool in AKS with the latest 2020-03-01 API, AKS will validate settings that were previously cluster-wide to only the system pools. An example of this is the minimum max-pods setting or the OSType. This also enables secondary node pools in a cluster to reach size zero.

This change removes the limitation of the first node pool not being deletable or updatable. This change is backwards compatible in that the system pool validation of having at least one in a cluster is only applicable for clusters created with 2020-03-01 or later. Existing clusters can deploy a new node pool with a system pool in order to delete the first node pool.

New or Affected Resource(s)

  • azurerm_kubernetes_cluster_node_pool

References

  • Docs to be published in late March, I will update this when available.

cc @tombuildsstuff let me know if you need any more info

enhancement sdrequires-newer-api-version servickubernetes-cluster

Most helpful comment

AKS has released oficially support for Mode property for nodepools: https://github.com/Azure/AKS/releases/tag/2020-04-13

All 5 comments

AKS has released oficially support for Mode property for nodepools: https://github.com/Azure/AKS/releases/tag/2020-04-13

@tombuildsstuff once you have the latest API pr merged, let me know I can have someone look at adding the support. We would need to user node pool to allow scaling down GPU node pool to 0

Hi @tombuildsstuff. I've tried to update the Azure/azure-sdk-for-go from v41.2.0 to v42.2.0, that includes support for system node pools. However, I'm facing a lot of issues compiling it because the package "securityinsight" API version "2017-08-01-preview" was removed in azure-sdk-for-go v42.0.0, and code under azurerm/internal/services/sentinel no longer compiles with the newest "2019-01-01-preview". Errors look like this:

../services/sentinel/data_source_sentinel_alert_rule.go:51:25:
    not enough arguments in call to client.Get
        have (context.Context, string, string, string)
        want (context.Context, string, string, string, string)

because a new argument operationalInsightsResourceProvider string is required. I don't really know what an operationalInsightsResourceProvider is but, even if I managed to fix it, I don't know if I would be affected by any of the other breaking changes in v42.0.0.

I promise I tried, but I don't think this is a good issue for a first-time contributor (me being a noob at golang doesn't help either). Do you have plans to upgrade the latest SDK anytime soon? Is there anything we can do to help add this feature? Thanks !!

This has been released in version 2.14.0 of the provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. As an example:

provider "azurerm" {
    version = "~> 2.14.0"
}
# ... other configuration ...

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 👉 [email protected]. Thanks!

Was this page helpful?
0 / 5 - 0 ratings