provider-azure
provider-azure copied to clipboard
Add support for AKS agent pools
What problem are you facing?
AKS clusters currently have no way via Crossplane to use multiple node pools. Users that are running diverse workloads with specific needs are not able to partition them into separate classes of nodes/machines.
The docs for provider-azure show some fields for number of nodes and node size, but not for setting more details for the “agent pool” or declaring multiple of them: https://doc.crds.dev/github.com/crossplane/provider-azure/compute.azure.crossplane.io/AKSCluster/[email protected]
How could Crossplane help solve your problem?
We could create an agent pool managed resource to configure and manage a set of agent pools for the cluster, then the AKSCluster
type could refer to these pools. This article describes some of the operational steps for reference: https://docs.microsoft.com/en-us/azure/aks/use-multiple-node-pools
The AKSCluster type could expose fields to configure and manage a set of agent pools for the cluster.
This statement could be misleading, and implementing the solution this way would be against how the crossplane aims to manage external resources. Even though some nodepool details are needed to create an AKS Cluster, nodepool is a different managed resource itself.
Here is a quote from the related thread in the slack:
I would expect the kind name for the managed resource to follow the azure go SDK's terminology. I find the "AKSCluster" name a bit weird in this respect (azure SDK for go uses
ManagedCluster
for AKSclusters andAgentPool
for nodepools following the Azure Rest API).
Good point @bergerx, thanks for calling that out! I've updated the description to make that more clear :)