Class AzureNodeOptions
Azure specific options for a cluster node. These options can be used to override defaults specified by AzureHostingOptions. The constructor initializes reasonable values.
Namespace: Neon.Kube.ClusterDef
Assembly: Neon.Kube.dll
Syntax
public class AzureNodeOptions
Properties
DiskSize
Optionally specifies the size of the Azure disk to be used as the node's primary disk.
This defaults to null
which indicates that DefaultDiskSize
will be used.
Declaration
[JsonProperty(PropertyName = "DiskSize", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "diskSize", ApplyNamingConventions = false)]
public string DiskSize { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
note
Node disks smaller than 64 GiB are not supported by NEONKUBE. We'll automatically round up the disk size when necessary.
OpenEbsDiskSize
Optionally specifies the size of the Azure disk to be used for the node's OpenEBS cStor disk (if any).
This defaults to null
which indicates that DefaultOpenEbsDiskSize
will be used for the node.
Declaration
[JsonProperty(PropertyName = "OpenEbsDiskSize", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "openEbsDiskSize", ApplyNamingConventions = false)]
public string OpenEbsDiskSize { get; set; }
Property Value
Type | Description |
---|---|
string |
Remarks
note
Node disks smaller than 64 GiB are not supported by NEONKUBE. We'll automatically round up the disk size when necessary.
OpenEbsStorageType
Optionally specifies the Azure storage type to be used for the the node's OpenEBS cStor disk (if any). This defaults to Default which indicates that DefaultOpenEbsStorageType will specify the volume type for the node.
Declaration
[JsonProperty(PropertyName = "OpenEbsStorageType", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "openEbsStorageType", ApplyNamingConventions = false)]
public AzureStorageType OpenEbsStorageType { get; set; }
Property Value
Type | Description |
---|---|
AzureStorageType |
StorageType
Optionally specifies the storage type to use the node's primary disk. This defaults to Default which indicates that DefaultStorageType will specify the storage type for this node.
Declaration
[JsonProperty(PropertyName = "StorageType", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "storageType", ApplyNamingConventions = false)]
public AzureStorageType StorageType { get; set; }
Property Value
Type | Description |
---|---|
AzureStorageType |
Remarks
StandardHDD specifies relatively slow rotating hard drives, StandardSSD specifies standard SSD based drives, PremiumSSD specifies fast SSD based drives, and finally UltraSSD specifies super fast SSD based drives.
note
Azure recommends that most production VMs deploy with SSDs.
note
UltraSSD storage is still relatively new and your region may not be able to attach ultra drives to all VM instance types. See this note for more information.
Note also that Azure does not support OS disks with UltraSSD. NEONKUBE automatically provisions OS disks with PremiumSSD when UltraSSD is specified while provisioning data disks with UltraSSD.
VmSize
Optionally specifies the Azure virtual machine size. The available VM sizes are listed here. This defaults to DefaultVmSize.
note
NEONKUBE clusters cannot be deployed to ARM-based Azure V, sizes at this time. You must specify an VM size using a Intel or AMD 64-bit processor.
note
NEONKUBE requires control-plane and worker instances to have at least 4 CPUs and 8GiB RAM. Choose an Azure VM size instance type that satisfies these requirements.
Declaration
[JsonProperty(PropertyName = "VmSize", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
[YamlMember(Alias = "vmSize", ApplyNamingConventions = false)]
public string VmSize { get; set; }
Property Value
Type | Description |
---|---|
string |
Methods
Validate(ClusterDefinition, string)
Validates the options and also ensures that all null
properties are
initialized to their default values.
Declaration
public void Validate(ClusterDefinition clusterDefinition, string nodeName)
Parameters
Type | Name | Description |
---|---|---|
ClusterDefinition | clusterDefinition | The cluster definition. |
string | nodeName | The associated node name. |
Exceptions
Type | Condition |
---|---|
ClusterDefinitionException | Thrown if the definition is not valid. |