Модуль настраивается автоматически, исходя из выбранной схемы размещения (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 по умолчанию будет один из следующих:

      Пример:

      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