Azure Kubernetes Service · Schema
ManagedClusterAgentPoolProfile
Profile for the container service agent pool.
AzureCloudContainersDevOpsKubernetesOrchestration
Properties
| Name | Type | Description |
|---|---|---|
| name | string | The unique name of the agent pool profile in the context of the subscription and resource group. |
| count | integer | Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. |
| vmSize | string | The size of the agent VMs. Example: Standard_DS2_v2 |
| osDiskSizeGB | integer | OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. |
| osDiskType | string | The OS disk type to be used for machines in the agent pool. |
| kubeletDiskType | string | Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. |
| maxPods | integer | The maximum number of pods that can run on a node. |
| osType | string | The operating system type. |
| osSKU | string | Specifies the OS SKU used by the agent pool. |
| type | string | The type of Agent Pool. |
| mode | string | The mode of an agent pool. A cluster must have at least one System agent pool at all times. |
| orchestratorVersion | string | The version of Kubernetes running on the Agent Pool. |
| currentOrchestratorVersion | string | The version of Kubernetes the Agent Pool is running. |
| nodeImageVersion | string | The version of node image. |
| enableAutoScaling | boolean | Whether to enable auto-scaler. |
| minCount | integer | The minimum number of nodes for auto-scaling. |
| maxCount | integer | The maximum number of nodes for auto-scaling. |
| scaleSetPriority | string | The Virtual Machine Scale Set priority. |
| scaleSetEvictionPolicy | string | The Virtual Machine Scale Set eviction policy. |
| spotMaxPrice | number | The maximum price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates that default price is up-to on-demand. |
| scaleDownMode | string | Describes how VMs are added to or removed from Agent Pools. |
| vnetSubnetID | string | The ID of the subnet which agent pool nodes and optionally pods will join on startup. |
| podSubnetID | string | The ID of the subnet which pods will join when launched. |
| enableNodePublicIP | boolean | Whether each node is allocated its own public IP. |
| nodePublicIPPrefixID | string | The public IP prefix ID for the nodes in the agent pool. |
| enableEncryptionAtHost | boolean | Whether to enable host-based OS and data drive encryption. |
| enableFIPS | boolean | Whether to use a FIPS-enabled OS. |
| enableUltraSSD | boolean | Whether to enable UltraSSD. |
| nodeLabels | object | The node labels to be persisted across all nodes in agent pool. |
| nodeTaints | array | The taints added to new nodes during node pool create and scale. |
| tags | object | The tags to be persisted on the agent pool virtual machine scale set. |
| proximityPlacementGroupID | string | The ID for Proximity Placement Group. |
| upgradeSettings | object | |
| powerState | object | |
| availabilityZones | array | The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is VirtualMachineScaleSets. |
| creationData | object | |
| workloadRuntime | string | Determines the type of workload a node can run. |
| messageOfTheDay | string | A base64-encoded string which will be written to /etc/motd after decoding. Applicable only for Linux nodes. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ManagedClusterAgentPoolProfile",
"title": "ManagedClusterAgentPoolProfile",
"type": "object",
"description": "Profile for the container service agent pool.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The unique name of the agent pool profile in the context of the subscription and resource group.",
"minLength": 1,
"maxLength": 12,
"pattern": "^[a-z][a-z0-9]{0,11}$",
"example": "Example Title"
},
"count": {
"type": "integer",
"format": "int32",
"description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools.",
"example": 10
},
"vmSize": {
"type": "string",
"description": "The size of the agent VMs. Example: Standard_DS2_v2",
"example": "example_value"
},
"osDiskSizeGB": {
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 2048,
"description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool.",
"example": 10
},
"osDiskType": {
"type": "string",
"description": "The OS disk type to be used for machines in the agent pool.",
"enum": [
"Managed",
"Ephemeral"
],
"example": "Managed"
},
"kubeletDiskType": {
"type": "string",
"description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.",
"enum": [
"OS",
"Temporary"
],
"example": "OS"
},
"maxPods": {
"type": "integer",
"format": "int32",
"description": "The maximum number of pods that can run on a node.",
"example": 10
},
"osType": {
"type": "string",
"description": "The operating system type.",
"enum": [
"Linux",
"Windows"
],
"default": "Linux",
"example": "Linux"
},
"osSKU": {
"type": "string",
"description": "Specifies the OS SKU used by the agent pool.",
"enum": [
"Ubuntu",
"AzureLinux",
"CBLMariner",
"Windows2019",
"Windows2022",
"WindowsAnnual"
],
"example": "Ubuntu"
},
"type": {
"type": "string",
"description": "The type of Agent Pool.",
"enum": [
"VirtualMachineScaleSets",
"AvailabilitySet",
"VirtualMachines"
],
"example": "VirtualMachineScaleSets"
},
"mode": {
"type": "string",
"description": "The mode of an agent pool. A cluster must have at least one System agent pool at all times.",
"enum": [
"System",
"User",
"Gateway"
],
"example": "System"
},
"orchestratorVersion": {
"type": "string",
"description": "The version of Kubernetes running on the Agent Pool.",
"example": "example_value"
},
"currentOrchestratorVersion": {
"type": "string",
"readOnly": true,
"description": "The version of Kubernetes the Agent Pool is running.",
"example": "example_value"
},
"nodeImageVersion": {
"type": "string",
"readOnly": true,
"description": "The version of node image.",
"example": "example_value"
},
"enableAutoScaling": {
"type": "boolean",
"description": "Whether to enable auto-scaler.",
"example": true
},
"minCount": {
"type": "integer",
"format": "int32",
"description": "The minimum number of nodes for auto-scaling.",
"example": 10
},
"maxCount": {
"type": "integer",
"format": "int32",
"description": "The maximum number of nodes for auto-scaling.",
"example": 10
},
"scaleSetPriority": {
"type": "string",
"description": "The Virtual Machine Scale Set priority.",
"enum": [
"Spot",
"Regular"
],
"default": "Regular",
"example": "Spot"
},
"scaleSetEvictionPolicy": {
"type": "string",
"description": "The Virtual Machine Scale Set eviction policy.",
"enum": [
"Delete",
"Deallocate"
],
"default": "Delete",
"example": "Delete"
},
"spotMaxPrice": {
"type": "number",
"format": "float",
"description": "The maximum price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates that default price is up-to on-demand.",
"example": 42.5
},
"scaleDownMode": {
"type": "string",
"description": "Describes how VMs are added to or removed from Agent Pools.",
"enum": [
"Delete",
"Deallocate"
],
"default": "Delete",
"example": "Delete"
},
"vnetSubnetID": {
"type": "string",
"description": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.",
"example": "500123"
},
"podSubnetID": {
"type": "string",
"description": "The ID of the subnet which pods will join when launched.",
"example": "500123"
},
"enableNodePublicIP": {
"type": "boolean",
"description": "Whether each node is allocated its own public IP.",
"example": true
},
"nodePublicIPPrefixID": {
"type": "string",
"description": "The public IP prefix ID for the nodes in the agent pool.",
"example": "500123"
},
"enableEncryptionAtHost": {
"type": "boolean",
"description": "Whether to enable host-based OS and data drive encryption.",
"example": true
},
"enableFIPS": {
"type": "boolean",
"description": "Whether to use a FIPS-enabled OS.",
"example": true
},
"enableUltraSSD": {
"type": "boolean",
"description": "Whether to enable UltraSSD.",
"example": true
},
"nodeLabels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "The node labels to be persisted across all nodes in agent pool.",
"example": "example_value"
},
"nodeTaints": {
"type": "array",
"items": {
"type": "string"
},
"description": "The taints added to new nodes during node pool create and scale.",
"example": []
},
"tags": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "The tags to be persisted on the agent pool virtual machine scale set.",
"example": "example_value"
},
"proximityPlacementGroupID": {
"type": "string",
"description": "The ID for Proximity Placement Group.",
"example": "500123"
},
"upgradeSettings": {
"$ref": "#/components/schemas/AgentPoolUpgradeSettings"
},
"powerState": {
"$ref": "#/components/schemas/PowerState"
},
"availabilityZones": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is VirtualMachineScaleSets.",
"example": []
},
"creationData": {
"$ref": "#/components/schemas/CreationData"
},
"workloadRuntime": {
"type": "string",
"description": "Determines the type of workload a node can run.",
"enum": [
"OCIContainer",
"WasmWasi",
"KataMshvVmIsolation"
],
"example": "OCIContainer"
},
"messageOfTheDay": {
"type": "string",
"description": "A base64-encoded string which will be written to /etc/motd after decoding. Applicable only for Linux nodes.",
"example": "example_value"
}
}
}