Microsoft AKS
This section details Azure-specific configuration options.
Spot
Special consideration for using Spot on Azure AKS
AKS nodes with spot pricing have a taint automatically applied to them. This means pods running on Spot nodes in AKS must have a toleration set in order to be scheduled and run on the nodes with Spot pricing. To use GPU spot nodes, the toleration also needs to be included on the Nvidia daemonsets.
In order to get the pods running on the spot nodes the operator must add a toleration corresponding to the kubernetes.azure.com/scalesetpriority=spot:NoSchedule taint.
spec:
containers:
- name: spot-example
tolerations:
- key: "kubernetes.azure.com/scalesetpriority"
operator: "Equal"
value: "spot"
effect: "NoSchedule"
Pod Subnet for Dynamic Azure CNI Networking
You can indicate the pod subnet to be used by Dynamic Azure CNI networking
for the bin packing node via azure.binPackingNodePodSubnet.
For example, if you would like your bin packing instances to use podsubnet1, do this:
--set azure.binPackingAKSPodSubnet=podsubnet1
Opportunistic Ephemeral OS Disks
Luna can utilize ephemeral OS disks on Azure when certain conditions are met. This feature can improve performance and reduce costs.
If the chosen node instance type supports ephemeral OS disk and has a cache size greater than opportunisticEphemeralOSDiskSizeGB:
- It will use an ephemeral OS disk
- The ephemeral OS disk type size will be set to
opportunisticEphemeralOSDiskSizeGB.
For Azure supplied Linux images the size is around 30 GB; for Windows the size is around 128 GB.
If the node type doesn’t support ephemeral OS disk, or its cache isn’t large enough to accommodate the request, Luna will use the default OS disk type: managed.
To use this option:
--set azure.opportunisticEphemeralOSDiskSizeGB=<size in GB>
Ensure that the specified opportunisticEphemeralOSDiskSizeGB value is greater or equal to the size of the image running on the nodes.
Ultra SSD support
Azure ultra disks offer high throughput, high IOPS, and consistent low latency disk storage for your stateful applications. The option azure.enableUltraSSD allows you to enable ultra disks support for you AKS nodes. Note that there are several limitations with Ultra disks, for example they can’t be used for OS disks.
To enabled Ultra disks, do this:
--set azure.enableUltraSSD=true
Please note that Azure ultra disks require node pools deployed in availability zones and regions that support these disks, and are only supported by specific VM series. Refer to Ultra disk limitations documentation to learn more.
Kubelet disk type
azure.kubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. There are two possible values:
OS(default): emptyDir volumes, container runtime data root, and Kubelet ephemeral storage is hosted by the OS disk, no matter if this is managed or ephemeral.Temporary: emptyDir volumes, container runtime data root, and Kubelet ephemeral storage is hosted by the temporary storage.
To use temporary storage for containers data, do the following:
--set azure.kubeletDiskType=Temporary
Refer to the Azure documentation to learn more about kubelet disk types.