Azure / AKS-Edge

Welcome to the Azure Kubernetes Service (AKS) Edge repo.
MIT License
53 stars 34 forks source link

[Feature] Support for additional data disks for Single Machine Cluster #149

Open erwinkersten opened 9 months ago

erwinkersten commented 9 months ago

Feature Request:

Support for Data Disks (VDHX) for Single Machines Cluster that is using local storage by providing a capability to configure one or more datadisks (size, location) in the cluster config so that additional disk are added to the AKS EE Maniner VM and/or AKS EE Windows VM. The rationale is to be able segregate the data from the OS disk and to be able to use different storage classes (tiering).

Example configuration:

"Machines": [
    {
      "LinuxNode": {
        "CpuCount": 8,
        "MemoryInMB": 32768,
        "DataSizeInGB": 100,
        "TimeoutSeconds": 300,
        "TpmPassthrough": true,
        "AdditionalDataDisks":"[
          {
            "DataDiskName": "performance"
            "DataSizeInGB": 100, 
            "DataDiskPath": "D:\" 
          }, 
          {
        "DataDiskName": "standard"
            "DataSizeInGB": 500, 
            "DataDiskPath": "E:\"
          },
          {
        "DataDiskName": "archive"
            "DataSizeInGB": 500, 
            "DataDiskPath": "F:\"
          }
        ],
        "SecondaryNetworks": [
          {
            "VMSwitchName": null,
            "Ip4Address": null,
            "Ip4GatewayAddress": null,
            "Ip4PrefixLength": null
          }
        ]
      }
    }

When the "DataDiskPath" is not provided it should use the INSTALLDIR and VHDXDIR that are used during installation (default, location C:\Program Files\AksEdge)

(optional) - The CBL-Maniner VM could mount and initialize the additional disks with a Physical Volume (pvcreate ) and a new Volume Group should be created (vgcreate). From here the user is then responsible to configure their Storage Provider and classes (similar process would apply on the Windows VM).

JeanRessouche commented 1 month ago

This is so badly required, i can't see how to use AKS EE in production without it