Модуль настраивается автоматически, исходя из выбранной схемы размещения (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
Обязательный параметр
Имя будущего класса.
- строка
Шаблон:
^[A-Za-z0-9][-A-Za-z0-9_.]*$
- строка
Шаблон:
^[A-Za-z0-9][-A-Za-z0-9_.]*$
- storageClass.provision.type
Обязательный параметр
Тип Azure диска.
Дополнительную информацию можно найти в документации Azure.
Допустимые значения:
UltraSSD_LRS