Microsoft.ContainerService managedClusters/agentPools 2021-03-01
- Latest
- 2024-03-02-preview
- 2024-02-01
- 2024-01-02-preview
- 2024-01-01
- 2023-11-02-preview
- 2023-11-01
- 2023-10-02-preview
- 2023-10-01
- 2023-09-02-preview
- 2023-09-01
- 2023-08-02-preview
- 2023-08-01
- 2023-07-02-preview
- 2023-07-01
- 2023-06-02-preview
- 2023-06-01
- 2023-05-02-preview
- 2023-05-01
- 2023-04-02-preview
- 2023-04-01
- 2023-03-02-preview
- 2023-03-01
- 2023-02-02-preview
- 2023-02-01
- 2023-01-02-preview
- 2023-01-01
- 2022-11-02-preview
- 2022-11-01
- 2022-10-02-preview
- 2022-09-01
- 2022-08-03-preview
- 2022-08-02-preview
- 2022-07-01
- 2022-06-01
- 2022-04-01
- 2022-03-01
- 2022-02-01
- 2022-01-01
- 2021-10-01
- 2021-09-01
- 2021-08-01
- 2021-07-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-12-01
- 2020-11-01
- 2020-09-01
Bicep resource definition
The managedClusters/agentPools resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ContainerService/managedClusters/agentPools resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.ContainerService/managedClusters/agentPools@2021-03-01' = {
name: 'string'
parent: resourceSymbolicName
properties: {
availabilityZones: [
'string'
]
count: int
enableAutoScaling: bool
enableEncryptionAtHost: bool
enableFIPS: bool
enableNodePublicIP: bool
gpuInstanceProfile: 'string'
kubeletConfig: {
allowedUnsafeSysctls: [
'string'
]
containerLogMaxFiles: int
containerLogMaxSizeMB: int
cpuCfsQuota: bool
cpuCfsQuotaPeriod: 'string'
cpuManagerPolicy: 'string'
failSwapOn: bool
imageGcHighThreshold: int
imageGcLowThreshold: int
podMaxPids: int
topologyManagerPolicy: 'string'
}
kubeletDiskType: 'string'
linuxOSConfig: {
swapFileSizeMB: int
sysctls: {
fsAioMaxNr: int
fsFileMax: int
fsInotifyMaxUserWatches: int
fsNrOpen: int
kernelThreadsMax: int
netCoreNetdevMaxBacklog: int
netCoreOptmemMax: int
netCoreRmemDefault: int
netCoreRmemMax: int
netCoreSomaxconn: int
netCoreWmemDefault: int
netCoreWmemMax: int
netIpv4IpLocalPortRange: 'string'
netIpv4NeighDefaultGcThresh1: int
netIpv4NeighDefaultGcThresh2: int
netIpv4NeighDefaultGcThresh3: int
netIpv4TcpFinTimeout: int
netIpv4TcpkeepaliveIntvl: int
netIpv4TcpKeepaliveProbes: int
netIpv4TcpKeepaliveTime: int
netIpv4TcpMaxSynBacklog: int
netIpv4TcpMaxTwBuckets: int
netIpv4TcpTwReuse: bool
netNetfilterNfConntrackBuckets: int
netNetfilterNfConntrackMax: int
vmMaxMapCount: int
vmSwappiness: int
vmVfsCachePressure: int
}
transparentHugePageDefrag: 'string'
transparentHugePageEnabled: 'string'
}
maxCount: int
maxPods: int
minCount: int
mode: 'string'
nodeLabels: {
{customized property}: 'string'
}
nodePublicIPPrefixID: 'string'
nodeTaints: [
'string'
]
orchestratorVersion: 'string'
osDiskSizeGB: int
osDiskType: 'string'
osSKU: 'string'
osType: 'string'
podSubnetID: 'string'
proximityPlacementGroupID: 'string'
scaleSetEvictionPolicy: 'string'
scaleSetPriority: 'string'
spotMaxPrice: int
tags: {}
type: 'string'
upgradeSettings: {
maxSurge: 'string'
}
vmSize: 'string'
vnetSubnetID: 'string'
}
}
Property values
managedClusters/agentPools
Name | Description | Value |
---|---|---|
name | The resource name See how to set names and types for child resources in Bicep. |
string (required) Character limit: 1-12 for Linux 1-6 for Windows Valid characters: Lowercase letters and numbers. Can't start with a number. |
parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: managedClusters |
properties | Properties of an agent pool. | ManagedClusterAgentPoolProfileProperties |
ManagedClusterAgentPoolProfileProperties
Name | Description | Value |
---|---|---|
availabilityZones | Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. | string[] |
count | Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1. | int |
enableAutoScaling | Whether to enable auto-scaler | bool |
enableEncryptionAtHost | Whether to enable EncryptionAtHost | bool |
enableFIPS | Whether to use FIPS enabled OS | bool |
enableNodePublicIP | Enable public IP for nodes | bool |
gpuInstanceProfile | GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. | 'MIG1g' 'MIG2g' 'MIG3g' 'MIG4g' 'MIG7g' |
kubeletConfig | KubeletConfig specifies the configuration of kubelet on agent nodes. | KubeletConfig |
kubeletDiskType | KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS disk for data. | 'OS' 'Temporary' |
linuxOSConfig | LinuxOSConfig specifies the OS configuration of linux agent nodes. | LinuxOSConfig |
maxCount | Maximum number of nodes for auto-scaling | int |
maxPods | Maximum number of pods that can run on a node. | int |
minCount | Minimum number of nodes for auto-scaling | int |
mode | AgentPoolMode represents mode of an agent pool | 'System' 'User' |
nodeLabels | Agent pool node labels to be persisted across all nodes in agent pool. | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix. | string |
nodeTaints | Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. | string[] |
orchestratorVersion | Version of orchestrator specified when creating the managed cluster. | string |
osDiskSizeGB | OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. | int Constraints: Min value = 0 Max value = 2048 |
osDiskType | OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. | 'Ephemeral' 'Managed' |
osSKU | OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows OSType. | 'CBLMariner' 'Ubuntu' |
osType | OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. | 'Linux' 'Windows' |
podSubnetID | Pod SubnetID specifies the VNet's subnet identifier for pods. | string |
proximityPlacementGroupID | The ID for Proximity Placement Group. | string |
scaleSetEvictionPolicy | ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete. | 'Deallocate' 'Delete' |
scaleSetPriority | ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. | 'Regular' 'Spot' |
spotMaxPrice | SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. | int |
tags | Agent pool tags to be persisted on the agent pool virtual machine scale set. | object |
type | AgentPoolType represents types of an agent pool | 'AvailabilitySet' 'VirtualMachineScaleSets' |
upgradeSettings | Settings for upgrading the agentpool | AgentPoolUpgradeSettings |
vmSize | Size of agent VMs. | string |
vnetSubnetID | VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods | string |
KubeletConfig
Name | Description | Value |
---|---|---|
allowedUnsafeSysctls | Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in * ). |
string[] |
containerLogMaxFiles | The maximum number of container log files that can be present for a container. The number must be ≥ 2. | int Constraints: Min value = 2 |
containerLogMaxSizeMB | The maximum size (e.g. 10Mi) of container log file before it is rotated. | int |
cpuCfsQuota | Enable CPU CFS quota enforcement for containers that specify CPU limits. | bool |
cpuCfsQuotaPeriod | Sets CPU CFS quota period value. | string |
cpuManagerPolicy | CPU Manager policy to use. | string |
failSwapOn | If set to true it will make the Kubelet fail to start if swap is enabled on the node. | bool |
imageGcHighThreshold | The percent of disk usage after which image garbage collection is always run. | int |
imageGcLowThreshold | The percent of disk usage before which image garbage collection is never run. | int |
podMaxPids | The maximum number of processes per pod. | int |
topologyManagerPolicy | Topology Manager policy to use. | string |
LinuxOSConfig
Name | Description | Value |
---|---|---|
swapFileSizeMB | SwapFileSizeMB specifies size in MB of a swap file will be created on each node. | int |
sysctls | Sysctl settings for Linux agent nodes. | SysctlConfig |
transparentHugePageDefrag | Transparent Huge Page defrag configuration. | string |
transparentHugePageEnabled | Transparent Huge Page enabled configuration. | string |
SysctlConfig
Name | Description | Value |
---|---|---|
fsAioMaxNr | Sysctl setting fs.aio-max-nr. | int |
fsFileMax | Sysctl setting fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl setting fs.inotify.max_user_watches. | int |
fsNrOpen | Sysctl setting fs.nr_open. | int |
kernelThreadsMax | Sysctl setting kernel.threads-max. | int |
netCoreNetdevMaxBacklog | Sysctl setting net.core.netdev_max_backlog. | int |
netCoreOptmemMax | Sysctl setting net.core.optmem_max. | int |
netCoreRmemDefault | Sysctl setting net.core.rmem_default. | int |
netCoreRmemMax | Sysctl setting net.core.rmem_max. | int |
netCoreSomaxconn | Sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl setting net.core.wmem_default. | int |
netCoreWmemMax | Sysctl setting net.core.wmem_max. | int |
netIpv4IpLocalPortRange | Sysctl setting net.ipv4.ip_local_port_range. | string |
netIpv4NeighDefaultGcThresh1 | Sysctl setting net.ipv4.neigh.default.gc_thresh1. | int |
netIpv4NeighDefaultGcThresh2 | Sysctl setting net.ipv4.neigh.default.gc_thresh2. | int |
netIpv4NeighDefaultGcThresh3 | Sysctl setting net.ipv4.neigh.default.gc_thresh3. | int |
netIpv4TcpFinTimeout | Sysctl setting net.ipv4.tcp_fin_timeout. | int |
netIpv4TcpkeepaliveIntvl | Sysctl setting net.ipv4.tcp_keepalive_intvl. | int |
netIpv4TcpKeepaliveProbes | Sysctl setting net.ipv4.tcp_keepalive_probes. | int |
netIpv4TcpKeepaliveTime | Sysctl setting net.ipv4.tcp_keepalive_time. | int |
netIpv4TcpMaxSynBacklog | Sysctl setting net.ipv4.tcp_max_syn_backlog. | int |
netIpv4TcpMaxTwBuckets | Sysctl setting net.ipv4.tcp_max_tw_buckets. | int |
netIpv4TcpTwReuse | Sysctl setting net.ipv4.tcp_tw_reuse. | bool |
netNetfilterNfConntrackBuckets | Sysctl setting net.netfilter.nf_conntrack_buckets. | int |
netNetfilterNfConntrackMax | Sysctl setting net.netfilter.nf_conntrack_max. | int |
vmMaxMapCount | Sysctl setting vm.max_map_count. | int |
vmSwappiness | Sysctl setting vm.swappiness. | int |
vmVfsCachePressure | Sysctl setting vm.vfs_cache_pressure. | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
Name | Description | Value |
---|---|---|
{customized property} | string |
AgentPoolUpgradeSettings
Name | Description | Value |
---|---|---|
maxSurge | Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Deploy an AKS cluster for Azure ML |
This template allows you to deploy an entreprise compliant AKS cluster which can be attached to Azure ML |
ARM template resource definition
The managedClusters/agentPools resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ContainerService/managedClusters/agentPools resource, add the following JSON to your template.
{
"type": "Microsoft.ContainerService/managedClusters/agentPools",
"apiVersion": "2021-03-01",
"name": "string",
"properties": {
"availabilityZones": [ "string" ],
"count": "int",
"enableAutoScaling": "bool",
"enableEncryptionAtHost": "bool",
"enableFIPS": "bool",
"enableNodePublicIP": "bool",
"gpuInstanceProfile": "string",
"kubeletConfig": {
"allowedUnsafeSysctls": [ "string" ],
"containerLogMaxFiles": "int",
"containerLogMaxSizeMB": "int",
"cpuCfsQuota": "bool",
"cpuCfsQuotaPeriod": "string",
"cpuManagerPolicy": "string",
"failSwapOn": "bool",
"imageGcHighThreshold": "int",
"imageGcLowThreshold": "int",
"podMaxPids": "int",
"topologyManagerPolicy": "string"
},
"kubeletDiskType": "string",
"linuxOSConfig": {
"swapFileSizeMB": "int",
"sysctls": {
"fsAioMaxNr": "int",
"fsFileMax": "int",
"fsInotifyMaxUserWatches": "int",
"fsNrOpen": "int",
"kernelThreadsMax": "int",
"netCoreNetdevMaxBacklog": "int",
"netCoreOptmemMax": "int",
"netCoreRmemDefault": "int",
"netCoreRmemMax": "int",
"netCoreSomaxconn": "int",
"netCoreWmemDefault": "int",
"netCoreWmemMax": "int",
"netIpv4IpLocalPortRange": "string",
"netIpv4NeighDefaultGcThresh1": "int",
"netIpv4NeighDefaultGcThresh2": "int",
"netIpv4NeighDefaultGcThresh3": "int",
"netIpv4TcpFinTimeout": "int",
"netIpv4TcpkeepaliveIntvl": "int",
"netIpv4TcpKeepaliveProbes": "int",
"netIpv4TcpKeepaliveTime": "int",
"netIpv4TcpMaxSynBacklog": "int",
"netIpv4TcpMaxTwBuckets": "int",
"netIpv4TcpTwReuse": "bool",
"netNetfilterNfConntrackBuckets": "int",
"netNetfilterNfConntrackMax": "int",
"vmMaxMapCount": "int",
"vmSwappiness": "int",
"vmVfsCachePressure": "int"
},
"transparentHugePageDefrag": "string",
"transparentHugePageEnabled": "string"
},
"maxCount": "int",
"maxPods": "int",
"minCount": "int",
"mode": "string",
"nodeLabels": {
"{customized property}": "string"
},
"nodePublicIPPrefixID": "string",
"nodeTaints": [ "string" ],
"orchestratorVersion": "string",
"osDiskSizeGB": "int",
"osDiskType": "string",
"osSKU": "string",
"osType": "string",
"podSubnetID": "string",
"proximityPlacementGroupID": "string",
"scaleSetEvictionPolicy": "string",
"scaleSetPriority": "string",
"spotMaxPrice": "int",
"tags": {},
"type": "string",
"upgradeSettings": {
"maxSurge": "string"
},
"vmSize": "string",
"vnetSubnetID": "string"
}
}
Property values
managedClusters/agentPools
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.ContainerService/managedClusters/agentPools' |
apiVersion | The resource api version | '2021-03-01' |
name | The resource name See how to set names and types for child resources in JSON ARM templates. |
string (required) Character limit: 1-12 for Linux 1-6 for Windows Valid characters: Lowercase letters and numbers. Can't start with a number. |
properties | Properties of an agent pool. | ManagedClusterAgentPoolProfileProperties |
ManagedClusterAgentPoolProfileProperties
Name | Description | Value |
---|---|---|
availabilityZones | Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. | string[] |
count | Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1. | int |
enableAutoScaling | Whether to enable auto-scaler | bool |
enableEncryptionAtHost | Whether to enable EncryptionAtHost | bool |
enableFIPS | Whether to use FIPS enabled OS | bool |
enableNodePublicIP | Enable public IP for nodes | bool |
gpuInstanceProfile | GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. | 'MIG1g' 'MIG2g' 'MIG3g' 'MIG4g' 'MIG7g' |
kubeletConfig | KubeletConfig specifies the configuration of kubelet on agent nodes. | KubeletConfig |
kubeletDiskType | KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS disk for data. | 'OS' 'Temporary' |
linuxOSConfig | LinuxOSConfig specifies the OS configuration of linux agent nodes. | LinuxOSConfig |
maxCount | Maximum number of nodes for auto-scaling | int |
maxPods | Maximum number of pods that can run on a node. | int |
minCount | Minimum number of nodes for auto-scaling | int |
mode | AgentPoolMode represents mode of an agent pool | 'System' 'User' |
nodeLabels | Agent pool node labels to be persisted across all nodes in agent pool. | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix. | string |
nodeTaints | Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. | string[] |
orchestratorVersion | Version of orchestrator specified when creating the managed cluster. | string |
osDiskSizeGB | OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. | int Constraints: Min value = 0 Max value = 2048 |
osDiskType | OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. | 'Ephemeral' 'Managed' |
osSKU | OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows OSType. | 'CBLMariner' 'Ubuntu' |
osType | OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. | 'Linux' 'Windows' |
podSubnetID | Pod SubnetID specifies the VNet's subnet identifier for pods. | string |
proximityPlacementGroupID | The ID for Proximity Placement Group. | string |
scaleSetEvictionPolicy | ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete. | 'Deallocate' 'Delete' |
scaleSetPriority | ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. | 'Regular' 'Spot' |
spotMaxPrice | SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. | int |
tags | Agent pool tags to be persisted on the agent pool virtual machine scale set. | object |
type | AgentPoolType represents types of an agent pool | 'AvailabilitySet' 'VirtualMachineScaleSets' |
upgradeSettings | Settings for upgrading the agentpool | AgentPoolUpgradeSettings |
vmSize | Size of agent VMs. | string |
vnetSubnetID | VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods | string |
KubeletConfig
Name | Description | Value |
---|---|---|
allowedUnsafeSysctls | Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in * ). |
string[] |
containerLogMaxFiles | The maximum number of container log files that can be present for a container. The number must be ≥ 2. | int Constraints: Min value = 2 |
containerLogMaxSizeMB | The maximum size (e.g. 10Mi) of container log file before it is rotated. | int |
cpuCfsQuota | Enable CPU CFS quota enforcement for containers that specify CPU limits. | bool |
cpuCfsQuotaPeriod | Sets CPU CFS quota period value. | string |
cpuManagerPolicy | CPU Manager policy to use. | string |
failSwapOn | If set to true it will make the Kubelet fail to start if swap is enabled on the node. | bool |
imageGcHighThreshold | The percent of disk usage after which image garbage collection is always run. | int |
imageGcLowThreshold | The percent of disk usage before which image garbage collection is never run. | int |
podMaxPids | The maximum number of processes per pod. | int |
topologyManagerPolicy | Topology Manager policy to use. | string |
LinuxOSConfig
Name | Description | Value |
---|---|---|
swapFileSizeMB | SwapFileSizeMB specifies size in MB of a swap file will be created on each node. | int |
sysctls | Sysctl settings for Linux agent nodes. | SysctlConfig |
transparentHugePageDefrag | Transparent Huge Page defrag configuration. | string |
transparentHugePageEnabled | Transparent Huge Page enabled configuration. | string |
SysctlConfig
Name | Description | Value |
---|---|---|
fsAioMaxNr | Sysctl setting fs.aio-max-nr. | int |
fsFileMax | Sysctl setting fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl setting fs.inotify.max_user_watches. | int |
fsNrOpen | Sysctl setting fs.nr_open. | int |
kernelThreadsMax | Sysctl setting kernel.threads-max. | int |
netCoreNetdevMaxBacklog | Sysctl setting net.core.netdev_max_backlog. | int |
netCoreOptmemMax | Sysctl setting net.core.optmem_max. | int |
netCoreRmemDefault | Sysctl setting net.core.rmem_default. | int |
netCoreRmemMax | Sysctl setting net.core.rmem_max. | int |
netCoreSomaxconn | Sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl setting net.core.wmem_default. | int |
netCoreWmemMax | Sysctl setting net.core.wmem_max. | int |
netIpv4IpLocalPortRange | Sysctl setting net.ipv4.ip_local_port_range. | string |
netIpv4NeighDefaultGcThresh1 | Sysctl setting net.ipv4.neigh.default.gc_thresh1. | int |
netIpv4NeighDefaultGcThresh2 | Sysctl setting net.ipv4.neigh.default.gc_thresh2. | int |
netIpv4NeighDefaultGcThresh3 | Sysctl setting net.ipv4.neigh.default.gc_thresh3. | int |
netIpv4TcpFinTimeout | Sysctl setting net.ipv4.tcp_fin_timeout. | int |
netIpv4TcpkeepaliveIntvl | Sysctl setting net.ipv4.tcp_keepalive_intvl. | int |
netIpv4TcpKeepaliveProbes | Sysctl setting net.ipv4.tcp_keepalive_probes. | int |
netIpv4TcpKeepaliveTime | Sysctl setting net.ipv4.tcp_keepalive_time. | int |
netIpv4TcpMaxSynBacklog | Sysctl setting net.ipv4.tcp_max_syn_backlog. | int |
netIpv4TcpMaxTwBuckets | Sysctl setting net.ipv4.tcp_max_tw_buckets. | int |
netIpv4TcpTwReuse | Sysctl setting net.ipv4.tcp_tw_reuse. | bool |
netNetfilterNfConntrackBuckets | Sysctl setting net.netfilter.nf_conntrack_buckets. | int |
netNetfilterNfConntrackMax | Sysctl setting net.netfilter.nf_conntrack_max. | int |
vmMaxMapCount | Sysctl setting vm.max_map_count. | int |
vmSwappiness | Sysctl setting vm.swappiness. | int |
vmVfsCachePressure | Sysctl setting vm.vfs_cache_pressure. | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
Name | Description | Value |
---|---|---|
{customized property} | string |
AgentPoolUpgradeSettings
Name | Description | Value |
---|---|---|
maxSurge | Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Deploy an AKS cluster for Azure ML |
This template allows you to deploy an entreprise compliant AKS cluster which can be attached to Azure ML |
Terraform (AzAPI provider) resource definition
The managedClusters/agentPools resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ContainerService/managedClusters/agentPools resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerService/managedClusters/agentPools@2021-03-01"
name = "string"
parent_id = "string"
body = jsonencode({
properties = {
availabilityZones = [
"string"
]
count = int
enableAutoScaling = bool
enableEncryptionAtHost = bool
enableFIPS = bool
enableNodePublicIP = bool
gpuInstanceProfile = "string"
kubeletConfig = {
allowedUnsafeSysctls = [
"string"
]
containerLogMaxFiles = int
containerLogMaxSizeMB = int
cpuCfsQuota = bool
cpuCfsQuotaPeriod = "string"
cpuManagerPolicy = "string"
failSwapOn = bool
imageGcHighThreshold = int
imageGcLowThreshold = int
podMaxPids = int
topologyManagerPolicy = "string"
}
kubeletDiskType = "string"
linuxOSConfig = {
swapFileSizeMB = int
sysctls = {
fsAioMaxNr = int
fsFileMax = int
fsInotifyMaxUserWatches = int
fsNrOpen = int
kernelThreadsMax = int
netCoreNetdevMaxBacklog = int
netCoreOptmemMax = int
netCoreRmemDefault = int
netCoreRmemMax = int
netCoreSomaxconn = int
netCoreWmemDefault = int
netCoreWmemMax = int
netIpv4IpLocalPortRange = "string"
netIpv4NeighDefaultGcThresh1 = int
netIpv4NeighDefaultGcThresh2 = int
netIpv4NeighDefaultGcThresh3 = int
netIpv4TcpFinTimeout = int
netIpv4TcpkeepaliveIntvl = int
netIpv4TcpKeepaliveProbes = int
netIpv4TcpKeepaliveTime = int
netIpv4TcpMaxSynBacklog = int
netIpv4TcpMaxTwBuckets = int
netIpv4TcpTwReuse = bool
netNetfilterNfConntrackBuckets = int
netNetfilterNfConntrackMax = int
vmMaxMapCount = int
vmSwappiness = int
vmVfsCachePressure = int
}
transparentHugePageDefrag = "string"
transparentHugePageEnabled = "string"
}
maxCount = int
maxPods = int
minCount = int
mode = "string"
nodeLabels = {
{customized property} = "string"
}
nodePublicIPPrefixID = "string"
nodeTaints = [
"string"
]
orchestratorVersion = "string"
osDiskSizeGB = int
osDiskType = "string"
osSKU = "string"
osType = "string"
podSubnetID = "string"
proximityPlacementGroupID = "string"
scaleSetEvictionPolicy = "string"
scaleSetPriority = "string"
spotMaxPrice = int
tags = {}
type = "string"
upgradeSettings = {
maxSurge = "string"
}
vmSize = "string"
vnetSubnetID = "string"
}
})
}
Property values
managedClusters/agentPools
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.ContainerService/managedClusters/agentPools@2021-03-01" |
name | The resource name | string (required) Character limit: 1-12 for Linux 1-6 for Windows Valid characters: Lowercase letters and numbers. Can't start with a number. |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: managedClusters |
properties | Properties of an agent pool. | ManagedClusterAgentPoolProfileProperties |
ManagedClusterAgentPoolProfileProperties
Name | Description | Value |
---|---|---|
availabilityZones | Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. | string[] |
count | Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1. | int |
enableAutoScaling | Whether to enable auto-scaler | bool |
enableEncryptionAtHost | Whether to enable EncryptionAtHost | bool |
enableFIPS | Whether to use FIPS enabled OS | bool |
enableNodePublicIP | Enable public IP for nodes | bool |
gpuInstanceProfile | GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. | "MIG1g" "MIG2g" "MIG3g" "MIG4g" "MIG7g" |
kubeletConfig | KubeletConfig specifies the configuration of kubelet on agent nodes. | KubeletConfig |
kubeletDiskType | KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS disk for data. | "OS" "Temporary" |
linuxOSConfig | LinuxOSConfig specifies the OS configuration of linux agent nodes. | LinuxOSConfig |
maxCount | Maximum number of nodes for auto-scaling | int |
maxPods | Maximum number of pods that can run on a node. | int |
minCount | Minimum number of nodes for auto-scaling | int |
mode | AgentPoolMode represents mode of an agent pool | "System" "User" |
nodeLabels | Agent pool node labels to be persisted across all nodes in agent pool. | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix. | string |
nodeTaints | Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. | string[] |
orchestratorVersion | Version of orchestrator specified when creating the managed cluster. | string |
osDiskSizeGB | OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. | int Constraints: Min value = 0 Max value = 2048 |
osDiskType | OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. | "Ephemeral" "Managed" |
osSKU | OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows OSType. | "CBLMariner" "Ubuntu" |
osType | OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. | "Linux" "Windows" |
podSubnetID | Pod SubnetID specifies the VNet's subnet identifier for pods. | string |
proximityPlacementGroupID | The ID for Proximity Placement Group. | string |
scaleSetEvictionPolicy | ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete. | "Deallocate" "Delete" |
scaleSetPriority | ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. | "Regular" "Spot" |
spotMaxPrice | SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. | int |
tags | Agent pool tags to be persisted on the agent pool virtual machine scale set. | object |
type | AgentPoolType represents types of an agent pool | "AvailabilitySet" "VirtualMachineScaleSets" |
upgradeSettings | Settings for upgrading the agentpool | AgentPoolUpgradeSettings |
vmSize | Size of agent VMs. | string |
vnetSubnetID | VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods | string |
KubeletConfig
Name | Description | Value |
---|---|---|
allowedUnsafeSysctls | Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in * ). |
string[] |
containerLogMaxFiles | The maximum number of container log files that can be present for a container. The number must be ≥ 2. | int Constraints: Min value = 2 |
containerLogMaxSizeMB | The maximum size (e.g. 10Mi) of container log file before it is rotated. | int |
cpuCfsQuota | Enable CPU CFS quota enforcement for containers that specify CPU limits. | bool |
cpuCfsQuotaPeriod | Sets CPU CFS quota period value. | string |
cpuManagerPolicy | CPU Manager policy to use. | string |
failSwapOn | If set to true it will make the Kubelet fail to start if swap is enabled on the node. | bool |
imageGcHighThreshold | The percent of disk usage after which image garbage collection is always run. | int |
imageGcLowThreshold | The percent of disk usage before which image garbage collection is never run. | int |
podMaxPids | The maximum number of processes per pod. | int |
topologyManagerPolicy | Topology Manager policy to use. | string |
LinuxOSConfig
Name | Description | Value |
---|---|---|
swapFileSizeMB | SwapFileSizeMB specifies size in MB of a swap file will be created on each node. | int |
sysctls | Sysctl settings for Linux agent nodes. | SysctlConfig |
transparentHugePageDefrag | Transparent Huge Page defrag configuration. | string |
transparentHugePageEnabled | Transparent Huge Page enabled configuration. | string |
SysctlConfig
Name | Description | Value |
---|---|---|
fsAioMaxNr | Sysctl setting fs.aio-max-nr. | int |
fsFileMax | Sysctl setting fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl setting fs.inotify.max_user_watches. | int |
fsNrOpen | Sysctl setting fs.nr_open. | int |
kernelThreadsMax | Sysctl setting kernel.threads-max. | int |
netCoreNetdevMaxBacklog | Sysctl setting net.core.netdev_max_backlog. | int |
netCoreOptmemMax | Sysctl setting net.core.optmem_max. | int |
netCoreRmemDefault | Sysctl setting net.core.rmem_default. | int |
netCoreRmemMax | Sysctl setting net.core.rmem_max. | int |
netCoreSomaxconn | Sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl setting net.core.wmem_default. | int |
netCoreWmemMax | Sysctl setting net.core.wmem_max. | int |
netIpv4IpLocalPortRange | Sysctl setting net.ipv4.ip_local_port_range. | string |
netIpv4NeighDefaultGcThresh1 | Sysctl setting net.ipv4.neigh.default.gc_thresh1. | int |
netIpv4NeighDefaultGcThresh2 | Sysctl setting net.ipv4.neigh.default.gc_thresh2. | int |
netIpv4NeighDefaultGcThresh3 | Sysctl setting net.ipv4.neigh.default.gc_thresh3. | int |
netIpv4TcpFinTimeout | Sysctl setting net.ipv4.tcp_fin_timeout. | int |
netIpv4TcpkeepaliveIntvl | Sysctl setting net.ipv4.tcp_keepalive_intvl. | int |
netIpv4TcpKeepaliveProbes | Sysctl setting net.ipv4.tcp_keepalive_probes. | int |
netIpv4TcpKeepaliveTime | Sysctl setting net.ipv4.tcp_keepalive_time. | int |
netIpv4TcpMaxSynBacklog | Sysctl setting net.ipv4.tcp_max_syn_backlog. | int |
netIpv4TcpMaxTwBuckets | Sysctl setting net.ipv4.tcp_max_tw_buckets. | int |
netIpv4TcpTwReuse | Sysctl setting net.ipv4.tcp_tw_reuse. | bool |
netNetfilterNfConntrackBuckets | Sysctl setting net.netfilter.nf_conntrack_buckets. | int |
netNetfilterNfConntrackMax | Sysctl setting net.netfilter.nf_conntrack_max. | int |
vmMaxMapCount | Sysctl setting vm.max_map_count. | int |
vmSwappiness | Sysctl setting vm.swappiness. | int |
vmVfsCachePressure | Sysctl setting vm.vfs_cache_pressure. | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
Name | Description | Value |
---|---|---|
{customized property} | string |
AgentPoolUpgradeSettings
Name | Description | Value |
---|---|---|
maxSurge | Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default | string |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for