AgentPool Class

Agent Pool.

Variables are only populated by the server, and will be ignored when sending a request.

Inheritance
azure.mgmt.containerservice.v2021_09_01.models._models_py3.SubResource
AgentPool

Constructor

AgentPool(*, count: Optional[int] = None, vm_size: Optional[str] = None, os_disk_size_gb: Optional[int] = None, os_disk_type: Optional[Union[str, _models.OSDiskType]] = None, kubelet_disk_type: Optional[Union[str, _models.KubeletDiskType]] = None, workload_runtime: Optional[Union[str, _models.WorkloadRuntime]] = None, vnet_subnet_id: Optional[str] = None, pod_subnet_id: Optional[str] = None, max_pods: Optional[int] = None, os_type: Optional[Union[str, _models.OSType]] = 'Linux', os_sku: Optional[Union[str, _models.OSSKU]] = None, max_count: Optional[int] = None, min_count: Optional[int] = None, enable_auto_scaling: Optional[bool] = None, scale_down_mode: Optional[Union[str, _models.ScaleDownMode]] = None, type_properties_type: Optional[Union[str, _models.AgentPoolType]] = None, mode: Optional[Union[str, _models.AgentPoolMode]] = None, orchestrator_version: Optional[str] = None, upgrade_settings: Optional[_models.AgentPoolUpgradeSettings] = None, power_state: Optional[_models.PowerState] = None, availability_zones: Optional[List[str]] = None, enable_node_public_ip: Optional[bool] = None, node_public_ip_prefix_id: Optional[str] = None, scale_set_priority: Optional[Union[str, _models.ScaleSetPriority]] = 'Regular', scale_set_eviction_policy: Optional[Union[str, _models.ScaleSetEvictionPolicy]] = 'Delete', spot_max_price: Optional[float] = - 1, tags: Optional[Dict[str, str]] = None, node_labels: Optional[Dict[str, str]] = None, node_taints: Optional[List[str]] = None, proximity_placement_group_id: Optional[str] = None, kubelet_config: Optional[_models.KubeletConfig] = None, linux_os_config: Optional[_models.LinuxOSConfig] = None, enable_encryption_at_host: Optional[bool] = None, enable_ultra_ssd: Optional[bool] = None, enable_fips: Optional[bool] = None, gpu_instance_profile: Optional[Union[str, _models.GPUInstanceProfile]] = None, creation_data: Optional[_models.CreationData] = None, **kwargs)

Variables

id
str

Resource ID.

name
str

The name of the resource that is unique within a resource group. This name can be used to access the resource.

type
str

Resource type.

count
int

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. The default value is 1.

vm_size
str

VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions.

os_disk_size_gb
int

OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.

os_disk_type
str or OSDiskType

The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see Ephemeral OS. Known values are: "Managed", "Ephemeral".

kubelet_disk_type
str or KubeletDiskType

Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Known values are: "OS", "Temporary".

workload_runtime
str or WorkloadRuntime

Determines the type of workload a node can run. Known values are: "OCIContainer", "WasmWasi".

vnet_subnet_id
str

If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.

pod_subnet_id
str

If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.

max_pods
int

The maximum number of pods that can run on a node.

os_type
str or OSType

The operating system type. The default is Linux. Known values are: "Linux", "Windows". Default value: "Linux".

os_sku
str or OSSKU

Specifies an OS SKU. This value must not be specified if OSType is Windows. Known values are: "Ubuntu", "CBLMariner".

max_count
int

The maximum number of nodes for auto-scaling.

min_count
int

The minimum number of nodes for auto-scaling.

enable_auto_scaling
bool

Whether to enable auto-scaler.

scale_down_mode
str or ScaleDownMode

This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. Known values are: "Delete", "Deallocate".

type_properties_type
str or AgentPoolType

The type of Agent Pool. Known values are: "VirtualMachineScaleSets", "AvailabilitySet".

mode
str or AgentPoolMode

A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools. Known values are: "System", "User".

orchestrator_version
str

As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool.

node_image_version
str

The version of node image.

upgrade_settings
AgentPoolUpgradeSettings

Settings for upgrading the agentpool.

provisioning_state
str

The current deployment or provisioning state.

power_state
PowerState

When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded.

availability_zones
list[str]

The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.

enable_node_public_ip
bool

Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false.

node_public_ip_prefix_id
str

This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}.

scale_set_priority
str or ScaleSetPriority

The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. Known values are: "Spot", "Regular". Default value: "Regular".

scale_set_eviction_policy
str or ScaleSetEvictionPolicy

This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. Known values are: "Delete", "Deallocate". Default value: "Delete".

spot_max_price
float

Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing.

tags
dict[str, str]

A set of tags. The tags to be persisted on the agent pool virtual machine scale set.

node_labels
dict[str, str]

The node labels to be persisted across all nodes in agent pool.

node_taints
list[str]

The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.

proximity_placement_group_id
str

The ID for Proximity Placement Group.

kubelet_config
KubeletConfig

The Kubelet configuration on the agent pool nodes.

linux_os_config
LinuxOSConfig

The OS configuration of Linux agent nodes.

enable_encryption_at_host
bool

This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption.

enable_ultra_ssd
bool

Whether to enable UltraSSD.

enable_fips
bool

See Add a FIPS-enabled node pool for more details.

gpu_instance_profile
str or GPUInstanceProfile

GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. Known values are: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g".

creation_data
CreationData

CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot.