Microsoft AKS
This section details Azure specific configuration options.
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.
OS disk type and size
azure.osDiskType
and azure.osDiskSizeGB
can be used to configure the OS disk for nodes.
There are two types of OS disk types:
Ephemeral
(default) OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades.Managed
Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency.
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 disk size according to the node type selected.
--set azure.osDiskSizeGB=123
--set azure.osDiskType=Managed
Enable Node Public IP
You can indicate that Luna should enable AKS assignment of a public IP to the nodes it allocates
via azure.enableNodePublicIP
. The option is false by default.
To use this option, do this:
--set azure.enableNodePublicIP=true