The module is configured automatically based on the chosen placement strategy (the AzureClusterConfiguration custom resource). In most cases, you do not need to configure the module manually.
You can configure the number and parameters of ordering machines in the cloud via the NodeGroup
custom resource of the node-manager module. Also, in this custom resource, you can specify the instance class’s name for the above group of nodes (the cloudInstances.ClassReference parameter). In the case of the Azure cloud provider, the instance class is the AzureInstanceClass
custom resource that stores specific parameters of the machines.
The module automatically creates the following StorageClasses:
Name | Disk type |
---|---|
managed-standard-ssd | StandardSSD_LRS |
managed-standard | Standard_LRS |
managed-premium | Premium_LRS |
It allows you to configure additional StorageClasses for volumes with configurable IOPS and Throughput. Also, you can filter out the unnecessary StorageClasses via the exclude parameter.
An example of Storage Class configuration:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: cloud-provider-azure
spec:
version: 1
enabled: true
settings:
storageClass:
provision:
- name: managed-ultra-ssd
diskIOPSReadWrite: 600
diskMBpsReadWrite: 150
exclude:
- managed-standard.*
- managed-premium
default: managed-ultra-ssd
The module is configured using the ModuleConfig custom resource named cloud-provider-azure
(learn more about setting up Deckhouse…).
Example of the ModuleConfig/cloud-provider-azure
resource for configuring the module:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: cloud-provider-azure
spec:
version: 1
enabled: true
settings: # <-- Module parameters from the "Parameters" section below.
Parameters
Schema version: 1
- storageClassobject
- storageClass.defaultstring
The name of StorageClass that will be used in the cluster by default;
If the parameter is omitted, the default StorageClass is either:
- Existing default StorageClass (that has the annotation storageclass.kubernetes.io/is-default-class: “true”).
- The first (in lexicographic order) StorageClass created by the module.
Example:
default: pd-ssd-not-replicated
- storageClass.excludearray of strings
A list of StorageClass names (or regex expressions for names) to exclude from the creation in the cluster.
Example:
exclude: - pd-standard.* - pd-ssd-replicated
- storageClass.provisionarray of objects
Defines additional StorageClasses for Azure ultra disks.
- storageClass.provision.cachingModestring
String value that corresponds to destired caching mode. If expected disk size is more than 4 TiB, you have to set
cachineMode: None
. Check out Azure docs for more information.Allowed values:
None
,ReadOnly
,ReadWrite
- storageClass.provision.diskIOPSReadWritenumber
Required value
Disk IOPS (limit of 300 IOPS/GiB, up to a maximum of 160 K IOPS per disk).
- storageClass.provision.diskMBpsReadWritenumber
Required value
Disk throughput in
MBps
(limit of a single disk is 256 KiB/s for each provisioned IOPS). - storageClass.provision.namestring
Required value
The name of the class to create.
- storageClass.provision.typestring
Required value
Azure disk storage account type. Check out Azure docs for more information.
Allowed values:
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
,UltraSSD_LRS
,Premium_ZRS
,StandardSSD_ZRS
- storageClass.provision.cachingModestring
- storageClass.defaultstring