Share via


AgentPool Class

Definition

Agent Pool.

[System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.AgentPoolTypeConverter))]
public class AgentPool : Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IAgentPool, Microsoft.Azure.PowerShell.Cmdlets.Aks.Runtime.IValidates
[<System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.AgentPoolTypeConverter))>]
type AgentPool = class
    interface IAgentPool
    interface IJsonSerializable
    interface ISubResource
    interface IValidates
Public Class AgentPool
Implements IAgentPool, IValidates
Inheritance
AgentPool
Attributes
Implements

Constructors

AgentPool()

Creates an new AgentPool instance.

Properties

AvailabilityZone

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

Count

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.

CreationDataSourceResourceId

This is the ARM ID of the source object to be used to create the target object.

CurrentOrchestratorVersion
EnableAutoScaling

Whether to enable auto-scaler

EnableEncryptionAtHost

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

EnableFips

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

EnableNodePublicIP

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.

EnableUltraSsd

Whether to enable UltraSSD

GpuInstanceProfile

GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.

HostGroupId

This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts.

Id

Resource ID.

KubeletConfigAllowedUnsafeSysctl

Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *).

KubeletConfigContainerLogMaxFile

The maximum number of container log files that can be present for a container. The number must be ≥ 2.

KubeletConfigContainerLogMaxSizeMb

The maximum size (e.g. 10Mi) of container log file before it is rotated.

KubeletConfigCpuCfsQuota

The default is true.

KubeletConfigCpuCfsQuotaPeriod

The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.

KubeletConfigCpuManagerPolicy

The default is 'none'. See Kubernetes CPU management policies for more information. Allowed values are 'none' and 'static'.

KubeletConfigFailSwapOn

If set to true it will make the Kubelet fail to start if swap is enabled on the node.

KubeletConfigImageGcHighThreshold

To disable image garbage collection, set to 100. The default is 85%

KubeletConfigImageGcLowThreshold

This cannot be set higher than imageGcHighThreshold. The default is 80%

KubeletConfigPodMaxPid

The maximum number of processes per pod.

KubeletConfigTopologyManagerPolicy

For more information see Kubernetes Topology Manager. The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.

KubeletDiskType

Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.

LinuxOSConfigSwapFileSizeMb

The size in MB of a swap file that will be created on each node.

LinuxOSConfigSysctl

Sysctl settings for Linux agent nodes.

LinuxOSConfigTransparentHugePageDefrag

Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see Transparent Hugepages.

LinuxOSConfigTransparentHugePageEnabled

Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see Transparent Hugepages.

MaxCount

The maximum number of nodes for auto-scaling

MaxPod

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

MinCount

The minimum number of nodes for auto-scaling

Mode

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

Name

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

NodeImageVersion

The version of node image

NodeLabel

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

NodePublicIPPrefixId

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

NodeTaint

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

OrchestratorVersion
OSDiskSizeGb

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.

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.

OSSku
OSType

The operating system type. The default is Linux.

PodSubnetId

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}

PowerStateCode

Tells whether the cluster is Running or Stopped

PropertiesType

The type of Agent Pool.

ProvisioningState

The current deployment or provisioning state.

ProximityPlacementGroupId

The ID for Proximity Placement Group.

ScaleDownMode

This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.

ScaleSetEvictionPolicy

This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.

ScaleSetPriority

The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.

SpotMaxPrice

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

Tag

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

Type

Resource type

UpgradeSettingMaxSurge

This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade

VMSize

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

VnetSubnetId

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}

WorkloadRuntime

Determines the type of workload a node can run.

Methods

DeserializeFromDictionary(IDictionary)

Deserializes a IDictionary into an instance of AgentPool.

DeserializeFromPSObject(PSObject)

Deserializes a PSObject into an instance of AgentPool.

FromJson(JsonNode)

Deserializes a JsonNode into an instance of Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.Api20230201.IAgentPool.

FromJsonString(String)

Creates a new instance of AgentPool, deserializing the content from a json string.

ToJson(JsonObject, SerializationMode)

Serializes this instance of AgentPool into a JsonNode.

ToJsonString()

Serializes this instance to a json string.

Validate(IEventListener)

Validates that this object meets the validation criteria.

Applies to