Модуль настраивается автоматически, исходя из выбранной схемы размещения (custom resource AzureClusterConfiguration). В большинстве случаев нет необходимости ручной конфигурации модуля.
Количество и параметры процесса заказа машин в облаке настраиваются в custom resource NodeGroup
модуля node-manager, в котором также указывается название используемого для этой группы узлов инстанс-класса (параметр cloudInstances.ClassReference). Инстанс-класс для cloud провайдера Azure — это custom resource AzureInstanceClass
, в котором указываются конкретные параметры самих машин.
Модуль автоматически создаёт следующие StorageClass’ы:
Имя | Тип диска |
---|---|
managed-standard-ssd | StandardSSD_LRS |
managed-standard | Standard_LRS |
managed-premium | Premium_LRS |
Также он позволяет сконфигурировать дополнительные StorageClass’ы для дисков с настраиваемыми IOPS и Throughput и отфильтровать ненужные StorageClass’ы, указав их с помощью параметра exclude.
Пример конфигурации StorageClass:
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
Чтобы настроить модуль используйте custom resource ModuleConfig
с именем cloud-provider-azure
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/cloud-provider-azure
для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: cloud-provider-azure
spec:
version: 1
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 1
- storageClassобъект
- storageClass.defaultстрока
Имя StorageClass, который будет использоваться в кластере по умолчанию.
Если параметр не задан, фактическим StorageClass по умолчанию будет один из следующих:
- Присутствующий в кластере StorageClass по умолчанию (имеющий аннотацию storageclass.kubernetes.io/is-default-class: “true”).
- Лексикографически первый StorageClass из создаваемых модулем.
Пример:
default: pd-ssd-not-replicated
- storageClass.excludeмассив строк
Список полных имен (или регулярных выражений имён) StorageClass, которые не будут созданы в кластере.
Пример:
exclude: - pd-standard.* - pd-ssd-replicated
- storageClass.provisionмассив объектов
Дополнительные StorageClass’ы для Azure ultra disks.
- storageClass.provision.cachingModeстрока
Желаемый режим кэширования. Если размер диска превышает 4 TiB, необходимо использовать
cachineMode: None
. Обратитесь к документации Azure за дополнительной информацией.Допустимые значения:
None
,ReadOnly
,ReadWrite
- storageClass.provision.diskIOPSReadWriteчисло
Обязательный параметр
Количество IOPS (лимит 300 IOPS/GiB, и максимум 160 K IOPS на диск).
- storageClass.provision.diskMBpsReadWriteчисло
Обязательный параметр
Скорость обращения к диску в
MBps
(лимит 256 KiB/s на каждый IOPS). - storageClass.provision.nameстрока
Обязательный параметр
Имя будущего класса.
- storageClass.provision.typeстрока
Обязательный параметр
Тип Azure диска. В Azure документации больше информации.
Допустимые значения:
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
,UltraSSD_LRS
,Premium_ZRS
,StandardSSD_ZRS
- storageClass.provision.cachingModeстрока
- storageClass.defaultстрока