Share via


Microsoft.HybridContainerService provisionedClusterInstances

Bicep resource definition

The provisionedClusterInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.HybridContainerService/provisionedClusterInstances resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.HybridContainerService/provisionedClusterInstances@2024-01-01' = {
  scope: resourceSymbolicName or scope
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  name: 'default'
  properties: {
    agentPoolProfiles: [
      {
        count: int
        enableAutoScaling: bool
        maxCount: int
        maxPods: int
        minCount: int
        name: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodeTaints: [
          'string'
        ]
        osSKU: 'string'
        osType: 'string'
        vmSize: 'string'
      }
    ]
    autoScalerProfile: {
      balance-similar-node-groups: 'string'
      expander: 'string'
      max-empty-bulk-delete: 'string'
      max-graceful-termination-sec: 'string'
      max-node-provision-time: 'string'
      max-total-unready-percentage: 'string'
      new-pod-scale-up-delay: 'string'
      ok-total-unready-count: 'string'
      scale-down-delay-after-add: 'string'
      scale-down-delay-after-delete: 'string'
      scale-down-delay-after-failure: 'string'
      scale-down-unneeded-time: 'string'
      scale-down-unready-time: 'string'
      scale-down-utilization-threshold: 'string'
      scan-interval: 'string'
      skip-nodes-with-local-storage: 'string'
      skip-nodes-with-system-pods: 'string'
    }
    cloudProviderProfile: {
      infraNetworkProfile: {
        vnetSubnetIds: [
          'string'
        ]
      }
    }
    clusterVMAccessProfile: {
      authorizedIPRanges: 'string'
    }
    controlPlane: {
      controlPlaneEndpoint: {
        hostIP: 'string'
      }
      count: int
      vmSize: 'string'
    }
    kubernetesVersion: 'string'
    licenseProfile: {
      azureHybridBenefit: 'string'
    }
    linuxProfile: {
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      loadBalancerProfile: {
        count: int
      }
      networkPolicy: 'string'
      podCidr: 'string'
    }
    storageProfile: {
      nfsCsiDriver: {
        enabled: bool
      }
      smbCsiDriver: {
        enabled: bool
      }
    }
  }
}

Property Values

Microsoft.HybridContainerService/provisionedClusterInstances

Name Description Value
extendedLocation Extended location pointing to the underlying infrastructure ExtendedLocation
name The resource name 'default' (required)
properties Properties of the provisioned cluster. ProvisionedClusterProperties
scope Use when creating a resource at a scope that is different than the deployment scope. Set this property to the symbolic name of a resource to apply the extension resource.

AgentPoolProfileNodeLabels

Name Description Value

CloudProviderProfile

Name Description Value
infraNetworkProfile The profile for the infrastructure networks used by the provisioned cluster CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Name Description Value
vnetSubnetIds List of ARM resource Ids (maximum 1) for the infrastructure network object e.g. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ClusterVMAccessProfile

Name Description Value
authorizedIPRanges IP Address or CIDR for SSH access to VMs in the provisioned cluster string

ControlPlaneProfile

Name Description Value
controlPlaneEndpoint IP Address of the Kubernetes API server ControlPlaneProfileControlPlaneEndpoint
count Number of control plane nodes. The default value is 1, and the count should be an odd number int
vmSize VM sku size of the control plane nodes string

ControlPlaneProfileControlPlaneEndpoint

Name Description Value
hostIP IP address of the Kubernetes API server string

ExtendedLocation

Name Description Value
name ARM Id of the extended location. string
type The extended location type. Allowed value: 'CustomLocation' 'CustomLocation'

LinuxProfileProperties

Name Description Value
ssh SSH configuration for VMs of the provisioned cluster. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Name Description Value
publicKeys The list of SSH public keys used to authenticate with VMs. A maximum of 1 key may be specified. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Name Description Value
keyData Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. string

NamedAgentPoolProfile

Name Description Value
count Number of nodes in the agent pool. The default value is 1. int
enableAutoScaling Whether to enable auto-scaler. Default value is false bool
maxCount The maximum number of nodes for auto-scaling int
maxPods The maximum number of pods that can run on a node. int
minCount The minimum number of nodes for auto-scaling int
name Unique name of the default agent pool in the context of the provisioned cluster. Default value is <clusterName>-nodepool1 string
nodeLabels The node labels to be persisted across all nodes in agent pool. AgentPoolProfileNodeLabels
nodeTaints Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. string[]
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion Image OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize The VM sku size of the agent pool node VMs. string

NetworkProfile

Name Description Value
loadBalancerProfile Profile of the HA Proxy load balancer. NetworkProfileLoadBalancerProfile
networkPolicy Network policy used for building Kubernetes network. Possible values include: 'calico'. 'calico'
podCidr A CIDR notation IP Address range from which to assign pod IPs. string

NetworkProfileLoadBalancerProfile

Name Description Value
count Number of HA Proxy load balancer VMs. The default value is 0. int

ProvisionedClusterLicenseProfile

Name Description Value
azureHybridBenefit Indicates whether Azure Hybrid Benefit is opted in. Default value is false 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Name Description Value
agentPoolProfiles The agent pool properties for the provisioned cluster. NamedAgentPoolProfile[]
autoScalerProfile Parameters to be applied to the cluster-autoscaler when auto scaling is enabled for the provisioned cluster. ProvisionedClusterPropertiesAutoScalerProfile
cloudProviderProfile The profile for the underlying cloud infrastructure provider for the provisioned cluster. CloudProviderProfile
clusterVMAccessProfile The SSH restricted access profile for the VMs in the provisioned cluster. ClusterVMAccessProfile
controlPlane The profile for control plane of the provisioned cluster. ControlPlaneProfile
kubernetesVersion The version of Kubernetes in use by the provisioned cluster. string
licenseProfile The license profile of the provisioned cluster. ProvisionedClusterLicenseProfile
linuxProfile The profile for Linux VMs in the provisioned cluster. LinuxProfileProperties
networkProfile The network configuration profile for the provisioned cluster. NetworkProfile
storageProfile The storage configuration profile for the provisioned cluster. StorageProfile

ProvisionedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups Valid values are 'true' and 'false' string
expander If not specified, the default is 'random'. See expanders for more information. 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete The default is 10. string
max-graceful-termination-sec The default is 600. string
max-node-provision-time The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
max-total-unready-percentage The default is 45. The maximum is 100 and the minimum is 0. string
new-pod-scale-up-delay For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). string
ok-total-unready-count This must be an integer. The default is 3. string
scale-down-delay-after-add The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-delay-after-delete The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-delay-after-failure The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-unneeded-time The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-unready-time The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-utilization-threshold The default is '0.5'. string
scan-interval The default is '10'. Values must be an integer number of seconds. string
skip-nodes-with-local-storage The default is true. string
skip-nodes-with-system-pods The default is true. string

StorageProfile

Name Description Value
nfsCsiDriver NFS CSI Driver settings for the storage profile. StorageProfileNfsCSIDriver
smbCsiDriver SMB CSI Driver settings for the storage profile. StorageProfileSmbCSIDriver

StorageProfileNfsCSIDriver

Name Description Value
enabled Indicates whether to enable NFS CSI Driver. The default value is true. bool

StorageProfileSmbCSIDriver

Name Description Value
enabled Indicates whether to enable SMB CSI Driver. The default value is true. bool

Usage Examples

Azure Verified Modules

The following Azure Verified Modules can be used to deploy this resource type.

Module Description
Hybrid Container Service - Provisioned Cluster Instance AVM Resource Module for Hybrid Container Service - Provisioned Cluster Instance

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Create a Kubernetes cluster on Azure Stack HCI This template creates a Kubernetes cluster on Azure Stack HCI version 23H2+

ARM template resource definition

The provisionedClusterInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.HybridContainerService/provisionedClusterInstances resource, add the following JSON to your template.

{
  "type": "Microsoft.HybridContainerService/provisionedClusterInstances",
  "apiVersion": "2024-01-01",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "properties": {
    "agentPoolProfiles": [
      {
        "count": "int",
        "enableAutoScaling": "bool",
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "name": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodeTaints": [ "string" ],
        "osSKU": "string",
        "osType": "string",
        "vmSize": "string"
      }
    ],
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "expander": "string",
      "max-empty-bulk-delete": "string",
      "max-graceful-termination-sec": "string",
      "max-node-provision-time": "string",
      "max-total-unready-percentage": "string",
      "new-pod-scale-up-delay": "string",
      "ok-total-unready-count": "string",
      "scale-down-delay-after-add": "string",
      "scale-down-delay-after-delete": "string",
      "scale-down-delay-after-failure": "string",
      "scale-down-unneeded-time": "string",
      "scale-down-unready-time": "string",
      "scale-down-utilization-threshold": "string",
      "scan-interval": "string",
      "skip-nodes-with-local-storage": "string",
      "skip-nodes-with-system-pods": "string"
    },
    "cloudProviderProfile": {
      "infraNetworkProfile": {
        "vnetSubnetIds": [ "string" ]
      }
    },
    "clusterVMAccessProfile": {
      "authorizedIPRanges": "string"
    },
    "controlPlane": {
      "controlPlaneEndpoint": {
        "hostIP": "string"
      },
      "count": "int",
      "vmSize": "string"
    },
    "kubernetesVersion": "string",
    "licenseProfile": {
      "azureHybridBenefit": "string"
    },
    "linuxProfile": {
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "loadBalancerProfile": {
        "count": "int"
      },
      "networkPolicy": "string",
      "podCidr": "string"
    },
    "storageProfile": {
      "nfsCsiDriver": {
        "enabled": "bool"
      },
      "smbCsiDriver": {
        "enabled": "bool"
      }
    }
  }
}

Property Values

Microsoft.HybridContainerService/provisionedClusterInstances

Name Description Value
apiVersion The api version '2024-01-01'
extendedLocation Extended location pointing to the underlying infrastructure ExtendedLocation
name The resource name 'default' (required)
properties Properties of the provisioned cluster. ProvisionedClusterProperties
type The resource type 'Microsoft.HybridContainerService/provisionedClusterInstances'

AgentPoolProfileNodeLabels

Name Description Value

CloudProviderProfile

Name Description Value
infraNetworkProfile The profile for the infrastructure networks used by the provisioned cluster CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Name Description Value
vnetSubnetIds List of ARM resource Ids (maximum 1) for the infrastructure network object e.g. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ClusterVMAccessProfile

Name Description Value
authorizedIPRanges IP Address or CIDR for SSH access to VMs in the provisioned cluster string

ControlPlaneProfile

Name Description Value
controlPlaneEndpoint IP Address of the Kubernetes API server ControlPlaneProfileControlPlaneEndpoint
count Number of control plane nodes. The default value is 1, and the count should be an odd number int
vmSize VM sku size of the control plane nodes string

ControlPlaneProfileControlPlaneEndpoint

Name Description Value
hostIP IP address of the Kubernetes API server string

ExtendedLocation

Name Description Value
name ARM Id of the extended location. string
type The extended location type. Allowed value: 'CustomLocation' 'CustomLocation'

LinuxProfileProperties

Name Description Value
ssh SSH configuration for VMs of the provisioned cluster. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Name Description Value
publicKeys The list of SSH public keys used to authenticate with VMs. A maximum of 1 key may be specified. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Name Description Value
keyData Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. string

NamedAgentPoolProfile

Name Description Value
count Number of nodes in the agent pool. The default value is 1. int
enableAutoScaling Whether to enable auto-scaler. Default value is false bool
maxCount The maximum number of nodes for auto-scaling int
maxPods The maximum number of pods that can run on a node. int
minCount The minimum number of nodes for auto-scaling int
name Unique name of the default agent pool in the context of the provisioned cluster. Default value is <clusterName>-nodepool1 string
nodeLabels The node labels to be persisted across all nodes in agent pool. AgentPoolProfileNodeLabels
nodeTaints Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. string[]
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion Image OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize The VM sku size of the agent pool node VMs. string

NetworkProfile

Name Description Value
loadBalancerProfile Profile of the HA Proxy load balancer. NetworkProfileLoadBalancerProfile
networkPolicy Network policy used for building Kubernetes network. Possible values include: 'calico'. 'calico'
podCidr A CIDR notation IP Address range from which to assign pod IPs. string

NetworkProfileLoadBalancerProfile

Name Description Value
count Number of HA Proxy load balancer VMs. The default value is 0. int

ProvisionedClusterLicenseProfile

Name Description Value
azureHybridBenefit Indicates whether Azure Hybrid Benefit is opted in. Default value is false 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Name Description Value
agentPoolProfiles The agent pool properties for the provisioned cluster. NamedAgentPoolProfile[]
autoScalerProfile Parameters to be applied to the cluster-autoscaler when auto scaling is enabled for the provisioned cluster. ProvisionedClusterPropertiesAutoScalerProfile
cloudProviderProfile The profile for the underlying cloud infrastructure provider for the provisioned cluster. CloudProviderProfile
clusterVMAccessProfile The SSH restricted access profile for the VMs in the provisioned cluster. ClusterVMAccessProfile
controlPlane The profile for control plane of the provisioned cluster. ControlPlaneProfile
kubernetesVersion The version of Kubernetes in use by the provisioned cluster. string
licenseProfile The license profile of the provisioned cluster. ProvisionedClusterLicenseProfile
linuxProfile The profile for Linux VMs in the provisioned cluster. LinuxProfileProperties
networkProfile The network configuration profile for the provisioned cluster. NetworkProfile
storageProfile The storage configuration profile for the provisioned cluster. StorageProfile

ProvisionedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups Valid values are 'true' and 'false' string
expander If not specified, the default is 'random'. See expanders for more information. 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete The default is 10. string
max-graceful-termination-sec The default is 600. string
max-node-provision-time The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
max-total-unready-percentage The default is 45. The maximum is 100 and the minimum is 0. string
new-pod-scale-up-delay For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). string
ok-total-unready-count This must be an integer. The default is 3. string
scale-down-delay-after-add The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-delay-after-delete The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-delay-after-failure The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-unneeded-time The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-unready-time The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-utilization-threshold The default is '0.5'. string
scan-interval The default is '10'. Values must be an integer number of seconds. string
skip-nodes-with-local-storage The default is true. string
skip-nodes-with-system-pods The default is true. string

StorageProfile

Name Description Value
nfsCsiDriver NFS CSI Driver settings for the storage profile. StorageProfileNfsCSIDriver
smbCsiDriver SMB CSI Driver settings for the storage profile. StorageProfileSmbCSIDriver

StorageProfileNfsCSIDriver

Name Description Value
enabled Indicates whether to enable NFS CSI Driver. The default value is true. bool

StorageProfileSmbCSIDriver

Name Description Value
enabled Indicates whether to enable SMB CSI Driver. The default value is true. bool

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Create a Kubernetes cluster on Azure Stack HCI

Deploy to Azure
This template creates a Kubernetes cluster on Azure Stack HCI version 23H2+

Terraform (AzAPI provider) resource definition

The provisionedClusterInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.HybridContainerService/provisionedClusterInstances resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.HybridContainerService/provisionedClusterInstances@2024-01-01"
  name = "string"
  parent_id = "string"
  body = {
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      agentPoolProfiles = [
        {
          count = int
          enableAutoScaling = bool
          maxCount = int
          maxPods = int
          minCount = int
          name = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodeTaints = [
            "string"
          ]
          osSKU = "string"
          osType = "string"
          vmSize = "string"
        }
      ]
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        expander = "string"
        max-empty-bulk-delete = "string"
        max-graceful-termination-sec = "string"
        max-node-provision-time = "string"
        max-total-unready-percentage = "string"
        new-pod-scale-up-delay = "string"
        ok-total-unready-count = "string"
        scale-down-delay-after-add = "string"
        scale-down-delay-after-delete = "string"
        scale-down-delay-after-failure = "string"
        scale-down-unneeded-time = "string"
        scale-down-unready-time = "string"
        scale-down-utilization-threshold = "string"
        scan-interval = "string"
        skip-nodes-with-local-storage = "string"
        skip-nodes-with-system-pods = "string"
      }
      cloudProviderProfile = {
        infraNetworkProfile = {
          vnetSubnetIds = [
            "string"
          ]
        }
      }
      clusterVMAccessProfile = {
        authorizedIPRanges = "string"
      }
      controlPlane = {
        controlPlaneEndpoint = {
          hostIP = "string"
        }
        count = int
        vmSize = "string"
      }
      kubernetesVersion = "string"
      licenseProfile = {
        azureHybridBenefit = "string"
      }
      linuxProfile = {
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        loadBalancerProfile = {
          count = int
        }
        networkPolicy = "string"
        podCidr = "string"
      }
      storageProfile = {
        nfsCsiDriver = {
          enabled = bool
        }
        smbCsiDriver = {
          enabled = bool
        }
      }
    }
  }
}

Property Values

Microsoft.HybridContainerService/provisionedClusterInstances

Name Description Value
extendedLocation Extended location pointing to the underlying infrastructure ExtendedLocation
name The resource name 'default' (required)
parent_id The ID of the resource to apply this extension resource to. string (required)
properties Properties of the provisioned cluster. ProvisionedClusterProperties
type The resource type "Microsoft.HybridContainerService/provisionedClusterInstances@2024-01-01"

AgentPoolProfileNodeLabels

Name Description Value

CloudProviderProfile

Name Description Value
infraNetworkProfile The profile for the infrastructure networks used by the provisioned cluster CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Name Description Value
vnetSubnetIds List of ARM resource Ids (maximum 1) for the infrastructure network object e.g. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ClusterVMAccessProfile

Name Description Value
authorizedIPRanges IP Address or CIDR for SSH access to VMs in the provisioned cluster string

ControlPlaneProfile

Name Description Value
controlPlaneEndpoint IP Address of the Kubernetes API server ControlPlaneProfileControlPlaneEndpoint
count Number of control plane nodes. The default value is 1, and the count should be an odd number int
vmSize VM sku size of the control plane nodes string

ControlPlaneProfileControlPlaneEndpoint

Name Description Value
hostIP IP address of the Kubernetes API server string

ExtendedLocation

Name Description Value
name ARM Id of the extended location. string
type The extended location type. Allowed value: 'CustomLocation' 'CustomLocation'

LinuxProfileProperties

Name Description Value
ssh SSH configuration for VMs of the provisioned cluster. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Name Description Value
publicKeys The list of SSH public keys used to authenticate with VMs. A maximum of 1 key may be specified. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Name Description Value
keyData Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. string

NamedAgentPoolProfile

Name Description Value
count Number of nodes in the agent pool. The default value is 1. int
enableAutoScaling Whether to enable auto-scaler. Default value is false bool
maxCount The maximum number of nodes for auto-scaling int
maxPods The maximum number of pods that can run on a node. int
minCount The minimum number of nodes for auto-scaling int
name Unique name of the default agent pool in the context of the provisioned cluster. Default value is <clusterName>-nodepool1 string
nodeLabels The node labels to be persisted across all nodes in agent pool. AgentPoolProfileNodeLabels
nodeTaints Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. string[]
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion Image OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize The VM sku size of the agent pool node VMs. string

NetworkProfile

Name Description Value
loadBalancerProfile Profile of the HA Proxy load balancer. NetworkProfileLoadBalancerProfile
networkPolicy Network policy used for building Kubernetes network. Possible values include: 'calico'. 'calico'
podCidr A CIDR notation IP Address range from which to assign pod IPs. string

NetworkProfileLoadBalancerProfile

Name Description Value
count Number of HA Proxy load balancer VMs. The default value is 0. int

ProvisionedClusterLicenseProfile

Name Description Value
azureHybridBenefit Indicates whether Azure Hybrid Benefit is opted in. Default value is false 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Name Description Value
agentPoolProfiles The agent pool properties for the provisioned cluster. NamedAgentPoolProfile[]
autoScalerProfile Parameters to be applied to the cluster-autoscaler when auto scaling is enabled for the provisioned cluster. ProvisionedClusterPropertiesAutoScalerProfile
cloudProviderProfile The profile for the underlying cloud infrastructure provider for the provisioned cluster. CloudProviderProfile
clusterVMAccessProfile The SSH restricted access profile for the VMs in the provisioned cluster. ClusterVMAccessProfile
controlPlane The profile for control plane of the provisioned cluster. ControlPlaneProfile
kubernetesVersion The version of Kubernetes in use by the provisioned cluster. string
licenseProfile The license profile of the provisioned cluster. ProvisionedClusterLicenseProfile
linuxProfile The profile for Linux VMs in the provisioned cluster. LinuxProfileProperties
networkProfile The network configuration profile for the provisioned cluster. NetworkProfile
storageProfile The storage configuration profile for the provisioned cluster. StorageProfile

ProvisionedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups Valid values are 'true' and 'false' string
expander If not specified, the default is 'random'. See expanders for more information. 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete The default is 10. string
max-graceful-termination-sec The default is 600. string
max-node-provision-time The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
max-total-unready-percentage The default is 45. The maximum is 100 and the minimum is 0. string
new-pod-scale-up-delay For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). string
ok-total-unready-count This must be an integer. The default is 3. string
scale-down-delay-after-add The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-delay-after-delete The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-delay-after-failure The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-unneeded-time The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-unready-time The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. string
scale-down-utilization-threshold The default is '0.5'. string
scan-interval The default is '10'. Values must be an integer number of seconds. string
skip-nodes-with-local-storage The default is true. string
skip-nodes-with-system-pods The default is true. string

StorageProfile

Name Description Value
nfsCsiDriver NFS CSI Driver settings for the storage profile. StorageProfileNfsCSIDriver
smbCsiDriver SMB CSI Driver settings for the storage profile. StorageProfileSmbCSIDriver

StorageProfileNfsCSIDriver

Name Description Value
enabled Indicates whether to enable NFS CSI Driver. The default value is true. bool

StorageProfileSmbCSIDriver

Name Description Value
enabled Indicates whether to enable SMB CSI Driver. The default value is true. bool

Usage Examples

Azure Verified Modules

The following Azure Verified Modules can be used to deploy this resource type.

Module Description
AKS Arc AVM Resource Module for AKS Arc